version_count增加的原因(2)
当用dbms_stats对表作统计信息收集时,其中有个no_invalidate的参数,该参数有三种设置:(1)true。与该表相关的sql永不失效。(2)false。与该表相关的sql立即失效。(3)DBMS_STATS.AUTO_INVALIDATE。由oracle决...
version_count增加的原因(1)
当使用绑定变量时,如果绑定变量列的为varchar2类型,且长度变化较大时,将产生过多的version_count:SQL> create table t1(col1 varchar2(4000));Table created.SQL> declare 2 v_col1 varchar2(400...
块内行链接
在oracle 的block中,列的数量是用一个字节来表示的中,因此,一个字节所记录的最大列数为255,当超过255列时,一行记录将分成2个row piece,这就是块内行链接,参照杨版主的帖子,做了一遍Intra-Block Chaining的试...
行链接模拟及dml操作对行链接的影响
1.创建测试表,模拟行链接:SQL> create table test(a char(2000),b char(2000),c char(2000),d char(2000));Table created.SQL> insert into test values('a','b','c','d');1 row created.SQL> commit;Commit ...
outline的创建与使用
1.授权。赋予用户scott创建及执行outline的相应权限SQL> GRANT CREATE ANY OUTLINE TO SCOTT;Grant succeeded.SQL> GRANT EXECUTE_CATALOG_ROLE TO SCOTT;Grant succeeded.2. 创建outline,以下创建一个名为tes...
Transitivity
Transitivity,所谓的传递性,如下:SQL> select ... from T1, T22 where T1.col1 = T2.col13 and T1.col1 = 100;等价于:SQL> select ... from T1, T22 where T1...
STANDBY_FILE_MANAGEMENT
standby_file_management如果设置为auto,则primary端创建表空间或添加数据文件时,standby端将自动添加,反之如果设置为manual,则必须要重建standby端的控制文件SQL> create tablespace test datafile '/oracle/o...
收集直方图信息的一个注意点
先查看一下deptno列的值的情况:SQL> select deptno,count(*) from test group by deptno; DEPTNO COUNT(*)---------- ----------  ...
优化器相关环境变量
1. 查看数据库中与优化器环境相关的视图SQL> select table_name from dict where table_name like '%OPTIMIZER%';TABLE_NAME------------------------------DBA_HIST_OPTIMIZER_ENVV$SYS_OPTIMIZER_ENVV$SES_OPTIM...
用dbms_sql包以及errorstack观察cursor的处理过程
使用dbms_sql包来模拟cursor的open、parse、bind、execute、fetch、close,结合errorstack level 3,可以看到具体的cursor信息:1. openSQL> variable c1 numberSQL> variable c2 numberSQL> variable c3 numberSQ...
关于enq: TX - index contention 等待的探讨与测试
最近生产库上遭遇短时间的enq: TX - index contention 等待,导致数据库hang住:这个等待事件解释如下:Waits for TX in mode 4 also occur when a transaction inserting a row in an index has to wait for the en...
TNS-12502
今天在listener日志中发现如下报错:TNS-12502: TNS:listener received no CONNECT_DATA from client查了一下资料,oracle解释如下:Error: ORA-12502 / TNS-12502Text: TNS:listener received no CONNECT_DATA fro...
v$sql_plan_statistics
先看一下两个视图的信息:V$SQL_PLAN contains the execution plan information for each child cursor loaded in the library cache.V$SQL_PLAN_STATISTICS provides execution statistics at the row source lev...
学习优化器--filter
首先创建测试表test,该表中a列对应10个不同的值,b列对应20万个不同值。SQL> create table test ( a number, b number ,c varchar2(10));Table created.SQL> begin 2 for i in 1..200000 loop...
expdp时遭遇ORA-600
数据库版本是10.2.0.4,在执行expdp导出时,按ctrl+c结束,再次执行expdp,报错:UDI-00008: operation generated ORACLE error 31623ORA-31623: a job is not attached to this session via the specified handleOR...
使用10g 的Segment Advisor来确认是否需要对表做shrink
Segment Advisor是10g中新增的一个工具,可以用来估算表的空间利用率,并给出相应的建议,确定是否需要进行shrink。以下为测试过程:1. 表test大小为80M,初始时数据比较紧凑,对其执行批量delete操作SQL> select ...
shrink机制初探
shrink是10g中引入的新特性,可以在线对表进行类似重组的操作,降低高水位,且对业务基本没有影响,shrink的分2个阶段进行 (1)Segment data is compacted. Through a series of INSERT and DELETE statement...
索引块的split
当往一个已经满了的索引块中插入新的索引条目时,将发生索引块的split,在9i下,分两种不同的情况进行split:(1)如果插入的索引键值不是最大的,将发生50-50的split,也就是说有block中一半的索引键值将被移到一个...
Oracle常用dump命令(转载)
Oracle常用dump命令,记录一下备查一.Memory Dumps1).Global AreaALTER SESSION SET EVENTS 'immediate trace name global_area level n';1 包含PGA2 包含SGA4 包含UGA8 包含indrect memory2).Library CacheALTER...
隐含参数_optimizer_skip_scan_enabled的作用
当该参数被设置为false时,优化器将不会考虑索引跳跃扫描,如下测试:SQL> alter session set "_optimizer_skip_scan_enabled"=false;Session altered.SQL> set autot traceonly explainSQL> select 2 ...