对Oracle 10g ASSM管理方式的理解 III
步骤8: 多插入一些信息看看变化情况. SQL> select extent_id, block_id from dba_extents where owner='HARRY' and segment_name='T4';EXTENT_ID BLOCK_ID---------- ----------0 481SQL> declare2 a number;3 i number;4 begin5 for i in 1.. 510 loop6 a := i+2;7 insert into t48 select 'i'||'i'||'i', 'harry'||'i' from dual;9 end loop;10 end;11 /PL/SQL procedure successfully completed.SQL> commit;SQL> select extent_id, block_id, blocks from dba_extents where owner='HARRY' and segment_name='T4';EXTENT_
隐藏参数
在学习过程记录的一些隐含参数记录在此.set linesize 120col name for a30col value for a20col describ for a60SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describFROM SYS.x$ksppi x, SYS.x$ksppcv yWHERE x.inst_id = USERENV ('Instance')AND y.inst_id = USERENV ('Instance')AND x.indx = y.indxAND x.ksppinm LIKE '%&par%'/-- _ksmg_granule_size ( granule size deponds on SGA Size )-- smm-- pool_size-- pga_max-- _spin_count ( Amount to spin waiting for a latch )-- _db_block_lru_latches ( numbe
对Oracle 10g ASSM管理方式的理解 II
为了进一步了解ASSM管理方式, 可以通过dump segment header 来观察segment中block的管理情况和其他的一些相关信息. 为了理理自己的思路, 做了如下实验:步骤1. 创建测试表( Block size 是 8192 ), SQL> create table t4( id char(1000),2 name char(2000));每个block能放两行数据. 步骤2. SQL> select extent_id, block_id, blocks from dba_extents2 where owner='HARRY' and segment_name='T4';EXTENT_ID BLOCK_ID BLOCKS ---------- ---------- ---------- 0 481 8我们可以看到现在给这个表分配了一个extent, 这个extent由8个bloc
对Oracle 10g ASSM管理方式的理解 I
从10g开始,对创建tablespace, Oracle强制使用locally management的管理方式,用dictionary 的管理方式只是用于针对向下兼容. 做个简单的测试如下 :SQL> create tablespace test22 datafile size 10m3 extent management dictionary;create tablespace test2*ERROR at line 1:ORA-12913: Cannot create dictionary managed tablespaceDictionary-managed tablespace的管理方式是通过系统表来管理, 它相关的信息是存在data dictionary中的, 那就是说对于空间使用的变化情况都需要通过更新data dictionary中相关的表来进行跟踪. 所以在更
对RBA的说明
Redo Byte Address (RBA)Recent entries in the redo thread of an Oracle instance are addressed using a 3-part redo byte address, or RBA. An RBA is comprised of 1. the log file sequence number (4 bytes) 2. the log file block number (4 bytes) 3. the byte offset into the block at which the redo record starts (2 bytes) RBAs are not necessarily unique within their thread, because the log file sequence number may be reset to 1 in all threads if a database is opened with the RESETLOGS option. RBAs are us
对MINTRANS 和 MAXTRANS 参数的理解
在创建表的时候, 我们会注意到有两个参数 MINTRANS 和 MAXTRANS. 这两个参数决定了在分配给这个表的block上初始的并发操作数和最大的并发操作数. 建表时, 指定MINTRANS大小可以在block中预留相应的空间, MAXTRANS参数一般为255, 但在block上并发的trans不一定能达到255个, 原因之一就是因为block上可能会没有足够的空闲空间来分配给新的transition. 在Tom大师的书上有一个相关的实验, 如下:-- 创建表并插入数据create table t(x int) maxtrans 1;insert into t values( 1 );insert into t value( 2 );commit;-- 登录一个新的session连接到
关于名词 Thread
在oracle的学习过程中总会遇到一些概念和名词总不太好理解, 在此将不断记录自己在学习过程中遇到的困惑, 以及后续自己对这些困惑的理解和查看到的相关信息THREAD#查看 v$log的结构时, 有thread#这个字段, 不知道它代表什么含意. 以下给出查到的一些解释-- THREAD# Log thread number ( From Oracle online doc )-- Thread = the instance # in RACa thread must have >= 2 groupsa group must have >= 1 members也就是说, 在单库环境中我们不用考虑thread#, 它的值都是1. 但, 在RAC环境中, 不同的instance会对应不同的thread numb