[20140318]隐含参数_db_block_max_cr_dba 2

[20140318]隐含参数_db_block_max_cr_dba 2.txt

许多人都知道隐含参数_db_block_max_cr_dba缺省6,如果多个会话修改同一块呢?会发生什么情况:

参考链接做一次测试:

1.建立测试环境:
SCOTT@test> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

create table t1 (id int, name varchar2(20));
insert into t1 select rownum,'x' from dual connect by levelcommit ;

SCOTT@test> select rowid,t1.id from t1;
ROWID                      ID
------------------ ----------
AABFikAAEAAAAIfAAA          1
AABFikAAEAAAAIfAAB          2
AABFikAAEAAAAIfAAC          3
AABFikAAEAAAAIfAAD          4
AABFikAAEAAAAIfAAE          5
AABFikAAEAAAAIfAAF          6
AABFikAAEAAAAIfAAG          7
AABFikAAEAAAAIfAAH          8
AABFikAAEAAAAIfAAI          9
AABFikAAEAAAAIfAAJ         10
AABFikAAEAAAAIfAAK         11

11 rows selected.

SCOTT@test> @lookup_rowid AABFikAAEAAAAIfAAA
    OBJECT       FILE      BLOCK        ROW DBA                  TEXT
---------- ---------- ---------- ---------- -------------------- ----------------------------------------
    284836          4        543          0 4,543                alter system dump datafile 4 block 543 ;

--可以确定信息在块4,543中。

SCOTT@test> @bh 4 543
   DBARFIL     DBABLK      CLASS STATE      CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ OBJECT_NAME
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------------------
         4        543          1 xcur                0          0          0          0          0 T1

2.建立脚本每个会话修改1条记录。
$ cat a1.sql
update t1 set name='y' where id=&1;
exec dbms_lock.sleep(300);
quit

$ cat b.sh
#! /bin/bash
for i in `seq 10`
do
        sqlplus scott/xxxx @a1.sql $i &
done

执行如下:
$ sourde b.sh

SCOTT@test> @bh 4 543
   DBARFIL     DBABLK      CLASS STATE      CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ OBJECT_NAME
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------------------
         4        543          1 cr         3268181308          0          3       1037       7921 T1
         4        543          1 cr         3268181307          0          3       1037       7921 T1
         4        543          1 cr         3268181306          0          3       1037       7921 T1
         4        543          1 cr         3268181305          0          3       1037       7921 T1
         4        543          1 cr         3268181304          0          3       1037       7921 T1
         4        543          1 cr         3268181303          0          3       1037       7921 T1
         4        543          1 xcur                0          0          0          0          0 T1

7 rows selected.

--可以发现state=cr仅仅6个。
--如果修改参数_db_block_max_cr_dba=8呢?
SCOTT@test> alter system set "_db_block_max_cr_dba"=8 scope=spfile ;
System altered.

--重启数据库重新测试:
SYS@test> @hide _db_block_max_cr_dba

NAME                  DESCRIPTION                                   DEFAULT_VALUE  SESSION_VALUE  SYSTEM_VALUE
--------------------- --------------------------------------------- -------------- -------------- -------------
_db_block_max_cr_dba  Maximum Allowed Number of CR buffers per dba  FALSE          8              8

SCOTT@test> select rowid,t1.* from t1 where rowid='AABFikAAEAAAAIfAAK';

ROWID                      ID NAME
------------------ ---------- --------------------
AABFikAAEAAAAIfAAK         11 x

SCOTT@test> @bh 4 543
   DBARFIL     DBABLK      CLASS STATE      CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ OBJECT_NAME
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------------------
         4        543          1 xcur                0          0          0          0          0 T1

执行如下:
$ sourde b.sh

   DBARFIL     DBABLK      CLASS STATE      CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ OBJECT_NAME
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------------------
         4        543          1 cr         3268191300          0          3       1617        739 T1
         4        543          1 cr         3268191299          0          3       1617        739 T1
         4        543          1 cr         3268191298          0          3       1617        739 T1
         4        543          1 cr         3268191297          0          3       1617        739 T1
         4        543          1 cr         3268191296          0          3       1617        739 T1
         4        543          1 cr         3268191295          0          3       1617        739 T1
         4        543          1 cr         3268191292          0          3       1617        739 T1
         4        543          1 cr         3268191291          0          3       1617        739 T1
         4        543          1 cr         3268191291          0          3       1617        739 T1
         4        543          1 cr         3268191290          0          3       1617        739 T1
         4        543          1 cr         3268191289          0          3       1617        739 T1
         4        543          1 cr         3268191286          0          3       1617        739 T1
         4        543          1 cr         3268191280          0          3       1617        739 T1
         4        543          1 cr         3268191279          0          3       1617        739 T1
         4        543          1 cr         3268191278          0          3       1617        739 T1
         4        543          1 xcur                0          0          0          0          0 T1

16 rows selected.

--可以发现state=cr的块有15行.

select rowid,t1.* from t1 where rowid='AABFikAAEAAAAIfAAK';

SCOTT@test> @bh 4 543
old  14:   dbarfil = &1 and
new  14:   dbarfil = 4 and
old  15:   dbablk = &2
new  15:   dbablk = 543
   DBARFIL     DBABLK      CLASS STATE      CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ OBJECT_NAME
---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- --------------------
         4        543          1 cr         3268191333          0          3       1617        739 T1
         4        543          1 cr         3268191300          0          3       1617        739 T1
         4        543          1 cr         3268191299          0          3       1617        739 T1
         4        543          1 cr         3268191298          0          3       1617        739 T1
         4        543          1 cr         3268191297          0          3       1617        739 T1
         4        543          1 cr         3268191296          0          3       1617        739 T1
         4        543          1 cr         3268191295          0          3       1617        739 T1
         4        543          1 cr         3268191292          0          3       1617        739 T1
         4        543          1 cr         3268191291          0          3       1617        739 T1
         4        543          1 cr         3268191291          0          3       1617        739 T1
         4        543          1 cr         3268191290          0          3       1617        739 T1
         4        543          1 cr         3268191289          0          3       1617        739 T1
         4        543          1 cr         3268191286          0          3       1617        739 T1
         4        543          1 cr         3268191280          0          3       1617        739 T1
         4        543          1 cr         3268191279          0          3       1617        739 T1
         4        543          1 cr         3268191278          0          3       1617        739 T1
         4        543          1 xcur                0          0          0          0          0 T1

17 rows selected.

--可以发现state = cr 有16行。并不是隐含参数_db_block_max_cr_dba定义的数量。

时间: 2024-07-31 13:16:38

[20140318]隐含参数_db_block_max_cr_dba 2的相关文章

[20140318]隐含参数_db_block_max_cr_dba

[20140318]隐含参数_db_block_max_cr_dba .txt 许多人都知道隐含参数_db_block_max_cr_dba缺省6,可以做一些简单的测试: 1.建立测试环境: SCOTT@test> @ver BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11

Oracle 隐含参数

Oracle 隐含参数 点击(此处)折叠或打开 set pagesize 9999 set line 9999 col NAME format a40 col KSPPDESC format a50 col KSPPSTVL format a20 SELECT a.INDX,        a.KSPPINM NAME,        a.KSPPDESC,        b.KSPPSTVL FROM x$ksppi a,        x$ksppcv b WHERE a.INDX = b.

关于oracle隐含参数 总结

1.回顾 之前整理了两篇关于x$表的介绍,连接如下: http://blog.csdn.net/cymm_liu/article/details/7611675 http://blog.csdn.net/cymm_liu/article/details/7611758 数据字典系统表主要由4部分组成:1.内部RDBMS表:x$--2.数据字典表:--$(比如user$)3.动态性能视图:gv$--,v$--4.数据字典视图:user_--,all_--,dba_--数据库启动时,动态创建x$,在

javascript arguments 传递给函数的隐含参数_javascript技巧

本人第一次看到这个东东的时候,以为就是"变相"的普通参数,只不过不用在定义函数的时候明确声明而已. 不过,代码是廉价的(Code is cheap.)看代码: function funcTest(a, b) { alert(a); alert(b); for ( var i = 0 ; i < arguments.length; i ++ ) { alert(arguments[i]); } } function test() { funcTest( 1 , 2 , 3 ); /

js的隐含参数(arguments,callee,caller)使用方法_javascript技巧

在提到上述的概念之前,首先想说说javascript中函数的隐含参数: arguments arguments 该对象代表正在执行的函数和调用它的函数的参数.[function.]arguments[n]参数function:选项.当前正在执行的 Function 对象的名字. n :选项.要传递给 Function 对象的从0开始的参数值索引.说明Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象.Arguments是一个类似数组但不是数组的对象,说它类似数组是因为

[20171109]查看隐含参数脚本.txt

[20171109]查看隐含参数脚本.txt --//查看隐含参数的脚本,今天没事修改一下增加查询description字段的内容.也有网友要求提供这个脚本,实际上这些脚本都是自己工作 --//中不断收集整理.网上许多地方都能找到. $ cat hide.sql col name format a40 col description format a66 col session_value format a22 col default_value format a22 col system_va

[20151208]隐含参数_trace_pin_time.txt

[20151208]隐含参数_trace_pin_time.txt --使用隐含参数可以trace how long a current pin is held,作为测试与学习了解oracle内部相关知识. --自己测试看看. 1.测试环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------

[20170502]11G查询隐含参数视图.txt

[20170502]11G查询隐含参数视图GV$SYSTEM_PARAMETER3.txt --//oracle 存在许多隐含参数,一直以为oracle没有提供正常的视图查询该内容,实际上oracle 11G已经提供这方面的功能,只不过oracle并不公开. --//自己也是偶然发现: 1.环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER -------------------------

[20120106]使用bash shell显示隐含参数.txt

我个人喜欢使用putty打开两个窗口,一个执行sql语句,另外一个查看目录user_dump_dest下的trc文件.如果要查询隐含参数,往往要切换sys用户,执行一个脚本: $ cat hide.sqlcol name format a36col description format a66col session_value format a22col default_value format a22col system_value format a22 select   a.ksppinm