手工生成AWR报告方法记录
AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定、问题SQL发现的重要手段。熟练掌握AWR报告,是做好开发、运维DBA工作的重要基本功。 AWR报告的原理是基于Oracle数据库的定时...
Oracle分区表简介
ORACLE-分区表此文从以下几个方面来整理关于分区表的概念及操作:1.表空间及分区表的概念2.表分区的具体作用3.表分区的优缺点4.表分区的几种类型及操作方法5.对表分区的维护性操作.6.表的分区做过改变后索引问题7.将一个非分区表转换为分区表 (1) 表空间及分区表的概...
Oracle数据块恢复总结
在恢复前使用DBV命令检查数据文件是否存在坏块dbv file=d:\oracle\oradata\mydb\RONLY.DBF blocksize=8192查看数据坏块所在数据文件号及块号可以对表进行一次全表扫描,如:select count(*) from tablename;1、 没有备份的情况下:1.1、使用exp/imp恢复 在这种情况下肯定会造成数据的丢失,在这...
Oracle 执行计划(Explain Plan) 说明
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 &n...
【EXPDP】11g版本EXPDP 的COMPRESSION参数压缩比堪比“gzip -9”
这个压缩比例可以和操作系统“gzip -9”相媲美,某些特例下有可能比gzip还要高效。体验之,供参考。1.Oracle 11g中expdp帮助页中关于COMPRESSION参数的描述secooler@secDB /home/oracle$ expdp -help……COMPRES...
ORACLE EXPDP命令使用详解
1. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录Expdp scott/tiger DIRECTORY= DMP DUMPFILE=a.dump create or replace directory&nb...
ORACLE 10053事件
一. 10053事件当一个SQL出现性能问题的时候,可以使用SQL_TRACE 或者 10046事件来跟踪SQL. 通过生成的trace来了解SQL的执行过程。 Oracle SQL Trace 和 10046 事件http://blog.csdn.net/tianlesoftware/archive/2010/09/02/5857023.aspx Event 100...
Oracle SQL Trace 和 10046 事件
一. SQL_TRACE当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL执行的整个过程输出到一个trace文件中,我们可以读这个trace 文件来了解在这个SQL执行过程中Oracle 都做了哪些操作。 可以...
oracle外键约束
-- 创建测试主表. ID 是主键.CREATE TABLE test_main ( id INT, value VARCHAR(10), PRIMARY KEY(id) ); -- 创建测试子表. CREATE T...
Oracle约束constraint的三个属性应用
Oracle约束constraint是我们经常使用的一种数据库规则对象。constraint在数据库中的作用就是从静态角度对数据完整性进行维护。我们经常使用的主键primary key和外键foreign key,本质上就是约束的一种形式。...
物化视图刷新方式说明
物化视图可以选择三种不同的刷新方式,根据不同的需求,选择不同的刷新方式。 Complete刷新:会删除表中的所有记录(如果是单表刷新,可能会采用Truncate的方式),然后根据物化视图中查询语句的定义重新生成物化视图。Fast刷新:采用增量刷新的机制,只将自上次刷新以后对基表进行的所有操作刷新到物化...
物化视图简介
一、物化视图的一般用法物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。1、物化视图的类型ON DEMAND、ON COMMIT。二者的区别在于刷新方法的...
索引组织表简介
索引组织表(IOT)不仅可以存储数据,还可以存储为表建立的索引。索引组织表的数据是根据主键排序后的顺序进行排列的,这样就提高了访问的速度。但是这是由牺牲插入和更新性能为代价的(每次写入和更新后都要重新进行重新排序)。 索引组织表的创建格式如下: &nb...
索引的Key Compression
oracle 索引压缩(key compression)是oracle 9i 中引入的一项新特性。该特性可以压缩索引或者索引组织表中的重复键值,从而节省存储空间。非分区的unique 索引和non-unique(至少两列)索引都能够被压缩。bitmap 索引不能够进行压缩。 在oracle 索引压缩中有几个比较纠结的术语,需...
误操作经历,truncate导致闪回查询失败
开发人员向我反映由于误操作删除了表里的一些数据,要求我恢复。咨询了误操作的时间点后,我用闪回查询试了一下,被误删的数据还在回滚段,可以挽救回来。我先备份了现在表里的数据。create table a as select * from 业务表。然后我做了一件愚蠢的事truncate table 业务表insert into 业务表 select * from 业务表&...
ORACLE闪回表介绍
FLASHBACK TABLE目的:1. 使用闪回表语句恢复表到出现人为或应用错误事件之前的状态。2. 可以闪回到过去多长时间取决于系统中undo数据量的大小。3. 并且oracle数据库无法恢复通过DDL语句修改了结构的表。 注:oracle强烈建议设置UNDO_MANAGEMENT为AUTO(自动管理回滚数据)。另外,设置UNDO...
ORACLE11G索引的可见性
索引维护是DBA的一项重要工作。当一个系统运行很长一段时间,经过需求变更、结构设计变化后,系统中就可能会存在一些不会被使用的索引,或者使用效率很低的索引。这些索 引的存在,不仅占用系统空间,而且会降低事务效率,增加系统的waits。因此,我们需要找出那些无用或低效索引的索引并删除它们(找出无用索引可以通...
索引的状态unusable|disable|enable
ORACLE使索引变成不可用的状态:alter index index_name unusable;执行成功后,如果后续需要再用到该索引的话,就必须重建。重建后会自动变成usable。根据ORACLE官方文档的说法(An unusable index must be rebulit , or dropped and re-created , before it can be used.)重建有两种方式1. rebuild alt...
关于oracle中的row piece
有部分初学者在看oracle docs中关于row format的描述时可能会有个疑问,既然row会移动或链接,那它在不同的block中的部分的地址是不是会变化? 要解答这个问题,还得从rowid的结构说起<这里需补充rowid的结构...
关于动态SQL
/* 1.什么是动态SQL? 动态SQL是指在运行PL/SQL块时动态输入SQL语句。在PL/SQL块中只能执行DDL(create、alter、drop)、DCL (grant、revoke)或比较灵活的SQL语句(如select子句不带where条件); 动态SQL的性能不如静态SQL,但是比较灵活; 在PL/SQL块中编写动态SQL语句时需要将SQL语句存...