分享
 
 
 

Oracle中独一无二的Cache对象

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

在Oracle10g之前,数据库中存在一个独一无二的Cache对象,这个对象就是:

SQL> select segment_name,segment_type,header_file,header_block

2 from dba_segments where segment_type='CACHE';

SEGMENT_NAME SEGMENT_TYPE HEADER_FILE HEADER_BLOCK

-------------------- ------------------ ----------- ------------

1.417 CACHE 1 417

这个对象的名称来自于文件号和数据块号,1.417正好就是文件1的第417个数据块。

这个Cache对象在Oracle数据库中的含义非同一般,在bootstrap$的过程中,这个对象之前的所有对象都需要用来bootstrap。

我们看一下1.417之前的所有对象:

SQL> select b.object_id,a.segment_name,a.segment_type,a.header_block from dba_segments a,dba_objects b

2 where a.segment_name=b.object_name(+) and a.header_file=1 and a.header_block <= 417

3 order by a.header_block

4 /

OBJECT_ID SEGMENT_NAME SEGMENT_TYPE HEADER_BLOCK

---------- -------------------- ------------------ ------------

SYSTEM ROLLBACK 9

2 C_OBJ# CLUSTER 25

3 I_OBJ# INDEX 49

6 C_TS# CLUSTER 57

7 I_TS# INDEX 65

8 C_FILE#_BLOCK# CLUSTER 73

9 I_FILE#_BLOCK# INDEX 81

10 C_USER# CLUSTER 89

11 I_USER# INDEX 97

15 UNDO$ TABLE 105

17 FILE$ TABLE 113

18 OBJ$ TABLE 121

23 PROXY_DATA$ TABLE 129

24 I_PROXY_DATA$ INDEX 137

25 PROXY_ROLE_DATA$ TABLE 145

26 I_PROXY_ROLE_DATA$_1 INDEX 153

27 I_PROXY_ROLE_DATA$_2 INDEX 161

28 CON$ TABLE 169

29 C_COBJ# CLUSTER 177

30 I_COBJ# INDEX 185

OBJECT_ID SEGMENT_NAME SEGMENT_TYPE HEADER_BLOCK

---------- -------------------- ------------------ ------------

33 I_TAB1 INDEX 193

34 I_UNDO1 INDEX 201

35 I_UNDO2 INDEX 209

36 I_OBJ1 INDEX 217

37 I_OBJ2 INDEX 225

38 I_OBJ3 INDEX 233

39 I_IND1 INDEX 241

40 I_ICOL1 INDEX 249

41 I_FILE1 INDEX 257

42 I_FILE2 INDEX 265

43 I_TS1 INDEX 273

44 I_USER1 INDEX 281

45 I_COL1 INDEX 289

46 I_COL2 INDEX 297

47 I_COL3 INDEX 305

48 I_CON1 INDEX 313

49 I_CON2 INDEX 321

50 I_CDEF1 INDEX 329

51 I_CDEF2 INDEX 337

52 I_CDEF3 INDEX 345

53 I_CDEF4 INDEX 353

OBJECT_ID SEGMENT_NAME SEGMENT_TYPE HEADER_BLOCK

---------- -------------------- ------------------ ------------

54 I_CCOL1 INDEX 361

55 I_CCOL2 INDEX 369

56 BOOTSTRAP$ TABLE 377

1.417 CACHE 417

45 rows selected

一共有44个对象。我们再来看一下初始化过程中bootstrap$中的信息:

SQL> select * from bootstrap$ order by obj#;

LINE# OBJ# SQL_TEXT

---------- ---------- --------------------------------------------------------------------------------

-1 -1 8.0.0.0.0

0 0 CREATE ROLLBACK SEGMENT SYSTEM STORAGE ( INITIAL 112K NEXT 1024K MINEXTENTS 1 M

2 2 CREATE CLUSTER C_OBJ#("OBJ#" NUMBER) PCTFREE 5 PCTUSED 40 INITRANS 2 MAXTRANS 25

3 3 CREATE INDEX I_OBJ# ON CLUSTER C_OBJ# PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE

4 4 CREATE TABLE TAB$("OBJ#" NUMBER NOT NULL,"DATAOBJ#" NUMBER,"TS#" NUMBER NOT NULL

5 5 CREATE TABLE CLU$("OBJ#" NUMBER NOT NULL,"DATAOBJ#" NUMBER,"TS#" NUMBER NOT NULL

6 6 CREATE CLUSTER C_TS#("TS#" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 2 MAXTRANS 255

7 7 CREATE INDEX I_TS# ON CLUSTER C_TS# PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

8 8 CREATE CLUSTER C_FILE#_BLOCK#("TS#" NUMBER,"SEGFILE#" NUMBER,"SEGBLOCK#" NUMBER)

9 9 CREATE INDEX I_FILE#_BLOCK# ON CLUSTER C_FILE#_BLOCK# PCTFREE 10 INITRANS 2 MAXT

10 10 CREATE CLUSTER C_USER#("USER#" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 2 MAXTRANS

11 11 CREATE INDEX I_USER# ON CLUSTER C_USER# PCTFREE 10 INITRANS 2 MAXTRANS 255 STORA

12 12 CREATE TABLE FET$("TS#" NUMBER NOT NULL,"FILE#" NUMBER NOT NULL,"BLOCK#" NUMBER

13 13 CREATE TABLE UET$("SEGFILE#" NUMBER NOT NULL,"SEGBLOCK#" NUMBER NOT NULL,"EXT#"

14 14 CREATE TABLE SEG$("FILE#" NUMBER NOT NULL,"BLOCK#" NUMBER NOT NULL,"TYPE#" NUMBE

15 15 CREATE TABLE UNDO$("US#" NUMBER NOT NULL,"NAME" VARCHAR2(30) NOT NULL,"USER#" NU

16 16 CREATE TABLE TS$("TS#" NUMBER NOT NULL,"NAME" VARCHAR2(30) NOT NULL,"OWNER#" NUM

17 17 CREATE TABLE FILE$("FILE#" NUMBER NOT NULL,"STATUS$" NUMBER NOT NULL,"BLOCKS" NU

18 18 CREATE TABLE OBJ$("OBJ#" NUMBER NOT NULL,"DATAOBJ#" NUMBER,"OWNER#" NUMBER NOT N

19 19 CREATE TABLE IND$("OBJ#" NUMBER NOT NULL,"DATAOBJ#" NUMBER,"TS#" NUMBER NOT NULL

LINE# OBJ# SQL_TEXT

---------- ---------- --------------------------------------------------------------------------------

20 20 CREATE TABLE ICOL$("OBJ#" NUMBER NOT NULL,"BO#" NUMBER NOT NULL,"COL#" NUMBER NO

21 21 CREATE TABLE COL$("OBJ#" NUMBER NOT NULL,"COL#" NUMBER NOT NULL,"SEGCOL#" NUMBER

22 22 CREATE TABLE USER$("USER#" NUMBER NOT NULL,"NAME" VARCHAR2(30) NOT NULL,"TYPE#"

23 23 CREATE TABLE PROXY_DATA$("CLIENT#" NUMBER NOT NULL,"PROXY#" NUMBER NOT NULL,"CRE

24 24 CREATE UNIQUE INDEX I_PROXY_DATA$ ON PROXY_DATA$(CLIENT#,PROXY#) PCTFREE 10 INIT

25 25 CREATE TABLE PROXY_ROLE_DATA$("CLIENT#" NUMBER NOT NULL,"PROXY#" NUMBER NOT NULL

26 26 CREATE INDEX I_PROXY_ROLE_DATA$_1 ON PROXY_ROLE_DATA$(CLIENT#,PROXY#) PCTFREE 10

27 27 CREATE UNIQUE INDEX I_PROXY_ROLE_DATA$_2 ON PROXY_ROLE_DATA$(CLIENT#,PROXY#,ROLE

28 28 CREATE TABLE CON$("OWNER#" NUMBER NOT NULL,"NAME" VARCHAR2(30) NOT NULL,"CON#" N

29 29 CREATE CLUSTER C_COBJ#("OBJ#" NUMBER) PCTFREE 0 PCTUSED 50 INITRANS 2 MAXTRANS 2

30 30 CREATE INDEX I_COBJ# ON CLUSTER C_COBJ# PCTFREE 10 INITRANS 2 MAXTRANS 255 STORA

31 31 CREATE TABLE CDEF$("CON#" NUMBER NOT NULL,"OBJ#" NUMBER NOT NULL,"COLS" NUMBER,"

32 32 CREATE TABLE CCOL$("CON#" NUMBER NOT NULL,"OBJ#" NUMBER NOT NULL,"COL#" NUMBER N

33 33 CREATE INDEX I_TAB1 ON TAB$(BOBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

34 34 CREATE UNIQUE INDEX I_UNDO1 ON UNDO$(US#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STO

35 35 CREATE INDEX I_UNDO2 ON UNDO$(NAME) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

36 36 CREATE UNIQUE INDEX I_OBJ1 ON OBJ$(OBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STOR

37 37 CREATE UNIQUE INDEX I_OBJ2 ON OBJ$(OWNER#,NAME,NAMESPACE,REMOTEOWNER,LINKNAME,SU

38 38 CREATE INDEX I_OBJ3 ON OBJ$(OID$) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

39 39 CREATE UNIQUE INDEX I_IND1 ON IND$(OBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STOR

40 40 CREATE INDEX I_ICOL1 ON ICOL$(OBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

LINE# OBJ# SQL_TEXT

---------- ---------- --------------------------------------------------------------------------------

41 41 CREATE UNIQUE INDEX I_FILE1 ON FILE$(FILE#) PCTFREE 10 INITRANS 2 MAXTRANS 255 S

42 42 CREATE UNIQUE INDEX I_FILE2 ON FILE$(TS#,RELFILE#) PCTFREE 10 INITRANS 2 MAXTRAN

43 43 CREATE UNIQUE INDEX I_TS1 ON TS$(NAME) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAG

44 44 CREATE UNIQUE INDEX I_USER1 ON USER$(NAME) PCTFREE 10 INITRANS 2 MAXTRANS 255 ST

45 45 CREATE UNIQUE INDEX I_COL1 ON COL$(OBJ#,NAME) PCTFREE 10 INITRANS 2 MAXTRANS 255

46 46 CREATE INDEX I_COL2 ON COL$(OBJ#,COL#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAG

47 47 CREATE UNIQUE INDEX I_COL3 ON COL$(OBJ#,INTCOL#) PCTFREE 10 INITRANS 2 MAXTRANS

48 48 CREATE UNIQUE INDEX I_CON1 ON CON$(OWNER#,NAME) PCTFREE 10 INITRANS 2 MAXTRANS 2

49 49 CREATE UNIQUE INDEX I_CON2 ON CON$(CON#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STOR

50 50 CREATE UNIQUE INDEX I_CDEF1 ON CDEF$(CON#) PCTFREE 10 INITRANS 2 MAXTRANS 255 ST

51 51 CREATE INDEX I_CDEF2 ON CDEF$(OBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE (

52 52 CREATE INDEX I_CDEF3 ON CDEF$(ROBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE

53 53 CREATE INDEX I_CDEF4 ON CDEF$(ENABLED) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAG

54 54 CREATE INDEX I_CCOL1 ON CCOL$(CON#,COL#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STOR

55 55 CREATE UNIQUE INDEX I_CCOL2 ON CCOL$(CON#,INTCOL#) PCTFREE 10 INITRANS 2 MAXTRAN

56 56 CREATE TABLE BOOTSTRAP$("LINE#" NUMBER NOT NULL,"OBJ#" NUMBER NOT NULL,"SQL_TEXT

57 rows selected

bootstarp的对象都是在1.417之前的,当然有部分对象是基于Cluster创建的。

那么这个对象在启动之前有什么作用呢?

itpub上的jametong同学给出了一个重要的信息,在SYSTEM文件头,Oracle存储了一个root dba:

Root dba: This field only occurs in data file #1, and is the location of blocks required

during bootstrapping the data dictionary (bootstrap$)

这个root dba指向了1.417对象,而1.417对象的上一个对象正是bootstrap$,Oracle通过1.417找到了bootstrap$对象就可以启动了数据库。

我们可以从文件头的转储中找到这个root dba,以下是一个Oracle9i的数据文件头信息:

DATA FILE #1:

(name #9) /opt/oracle/oradata/eygle/system01.dbf

creation size=0 block size=8192 status=0xe head=9 tail=9 dup=1

tablespace 0, index=1 krfil=1 prev_file=0

unrecoverable scn: 0x0004.6c4b5cba 04/10/2007 13:34:26

Checkpoint cnt:6933 scn: 0x0004.6c4dfc0c 04/16/2007 14:38:05

Stop scn: 0xffff.ffffffff 04/07/2007 21:03:02

Creation Checkpointed at scn: 0x0000.00000007 04/24/2006 11:34:39

thread:0 rba:(0x0.0.0)

enabled threads: 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000

Offline scn: 0x0004.6c432ebf prev_range: 0

Online Checkpointed at scn: 0x0004.6c432ec0 03/28/2007 11:22:37

thread:1 rba:(0x1.2.0)

enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000

Hot Backup end marker scn: 0x0000.00000000

aux_file is NOT DEFINED

FILE HEADER:

Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000

Db ID=1407686520=0x53e79778, Db Name='EYGLE'

Activation ID=0=0x0

Control Seq=1299557=0x13d465, File size=27017=0x6989

File Number=1, Blksiz=8192, File Type=3 DATA

Tablespace #0 - SYSTEM rel_fn:1

Creation at scn: 0x0000.00000007 04/24/2006 11:34:39

Backup taken at scn: 0x0004.6c2d657e 02/12/2007 15:54:52 thread:1

reset logs count:0x24dc1f7d scn: 0x0004.6c432ec0 recovered at 04/07/2007 21:04:11

status:0x4 root dba:0x004001a1 chkpt cnt: 6933 ctl cnt:6932

begin-hot-backup file size: 32000

Checkpointed at scn: 0x0004.6c4dfc0c 04/16/2007 14:38:05

thread:1 rba:(0x17.2.10)

enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000

Backup Checkpointed at scn: 0x0004.6c2d657e 02/12/2007 15:54:52

thread:1 rba:(0x18e1.30.10)

enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000

External cache id: 0x0 0x0 0x0 0x0

Absolute fuzzy scn: 0x0000.00000000

Recovery fuzzy scn: 0x0000.00000000 01/01/1988 00:00:00

Terminal Recovery Stamp scn: 0x0000.00000000 01/01/1988 00:00:00

这个root dba:0x004001a1 正好指向的是file 1 block 417

而我们dump file 1 block 417就可以找到bootstrap$的地址:

Start dump data blocks tsn: 0 file#: 1 minblk 417 maxblk 419

buffer tsn: 0 rdba: 0x004001a1 (1/417)

scn: 0x0004.6c47f014 seq: 0x01 flg: 0x04 tail: 0xf0140d01

frmt: 0x02 chkval: 0xa59e type: 0x0d=Compatibility segment

Header: size 12 next rdba 0x0 entries 25 offset 536f

Compatibility entry for 'COMPATSG':

Size: 24 Release 0x134217728 By 0x153092096

Dump of memory from 0x0AA84E34 to 0x0AA84E38

AA84E30 00000000 [....]

Compatibility entry for 'BOOTSTRP':

Size: 24 Release 0x134217728 By 0x153092096

Dump of memory from 0x0AA84E4C to 0x0AA84E50

AA84E40 00400179 [y.@.]

Compatibility entry for 'UNDODATA':

Size: 36 Release 0x153092096 By 0x153092096

Dump of memory from 0x0AA84E64 to 0x0AA84E74

AA84E60 00000042 5221003E 6C47F00D [B...>.!R..Gl]

AA84E70 00000004 [....]

dba号00400179 正好指向的file 1 block 377.

在Oracle10g中,Oracle将这个root dba更改得更为直接:

DATA FILE #1:

(name #7) +ORADG/danaly/datafile/system.264.600173859

creation size=38400 block size=8192 status=0xe head=7 tail=7 dup=1

tablespace 0, index=1 krfil=1 prev_file=0

unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00

Checkpoint cnt:45507 scn: 0x081a.88397cdd 04/19/2007 10:36:17

Stop scn: 0xffff.ffffffff 01/27/2007 17:56:34

Creation Checkpointed at scn: 0x0000.00000007 09/03/2006 10:57:47

thread:1 rba:(0x1.3.10)

enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000

Offline scn: 0x0000.00000000 prev_range: 0

Online Checkpointed at scn: 0x0000.00000000

thread:0 rba:(0x0.0.0)

enabled threads: 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000

Hot Backup end marker scn: 0x0000.00000000

aux_file is NOT DEFINED

V10 STYLE FILE HEADER:

Compatibility Vsn = 169869568=0xa200100

Db ID=3965153484=0xec5770cc, Db Name='DANALY'

Activation ID=0=0x0

Control Seq=2912565=0x2c7135, File size=84180=0x148d4

File Number=1, Blksiz=8192, File Type=3 DATA

Tablespace #0 - SYSTEM rel_fn:1

Creation at scn: 0x0000.00000007 09/03/2006 10:57:47

Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0

reset logs count:0x23c5ed0c scn: 0x0000.00000001 reset logs terminal rcv data:0x0 scn: 0x0000.00000000

prev reset logs count:0x0 scn: 0x0000.00000000 prev reset logs terminal rcv data:0x0 scn: 0x0000.00000000

recovered at 01/28/2007 21:29:12

status:0x2004 root dba:0x00400179 chkpt cnt: 45507 ctl cnt:45506

begin-hot-backup file size: 0

这里的root dba直接指向了0x00400179 ,也就是file 1 block 377.

随之,这个唯一的Cache的对象在Oracle10g中不复存在。

SQL> select COUNT(*) from dba_segments where segment_type='CACHE';

COUNT(*)

----------

0

那么为什么Oracle10g能够作出这样的变更呢?

假如注重一下我们可以发现,cache对象实际上是为了兼容性目的所保留的,其中的主要信息如下:

*** SESSION ID:(9.149) 2007-04-18 21:32:17.682

Start dump data blocks tsn: 0 file#: 1 minblk 417 maxblk 419

buffer tsn: 0 rdba: 0x004001a1 (1/417)

scn: 0x0004.6c47f014 seq: 0x01 flg: 0x04 tail: 0xf0140d01

frmt: 0x02 chkval: 0xa59e type: 0x0d=Compatibility segment

Header: size 12 next rdba 0x0 entries 25 offset 536f

Compatibility entry for 'COMPATSG':

Size: 24 Release 0x134217728 By 0x153092096

Dump of memory from 0x0AA84E34 to 0x0AA84E38

AA84E30 00000000 [....]

Compatibility entry for 'BOOTSTRP':

Size: 24 Release 0x134217728 By 0x153092096

Dump of memory from 0x0AA84E4C to 0x0AA84E50

AA84E40 00400179 [y.@.]

Compatibility entry for 'UNDODATA':

Size: 36 Release 0x153092096 By 0x153092096

Dump of memory from 0x0AA84E64 to 0x0AA84E74

AA84E60 00000042 5221003E 6C47F00D [B...>.!R..Gl]

AA84E70 00000004 [....]

Compatibility entry for 'LMST':

Size: 20 Release 0x153092096 By 0x153092096

Compatibility entry for 'PDMLITLS':

Size: 20 Release 0x150994944 By 0x153092096

Compatibility entry for 'LOB_RET':

Size: 20 Release 0x153092096 By 0x153092096

Compatibility entry for 'NWIMGFMT':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'FASTDROP':

Size: 20 Release 0x135290880 By 0x153092096

Compatibility entry for 'LOCMGDTS':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'UNDOTBSP':

Size: 20 Release 0x150994944 By 0x153092096

Compatibility entry for 'TEMPTAB':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'PGTMGDTS':

Size: 20 Release 0x150999808 By 0x153092096

Compatibility entry for 'DATETIME':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'OPERATOR':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'VYCLOB':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'SEVTRIG':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'RLENG':

Size: 20 Release 0x153092096 By 0x153092096

Compatibility entry for 'APPCTX':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'HSC':

Size: 20 Release 0x153092096 By 0x153092096

Compatibility entry for 'BMINVPRT':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'EDTRIG':

Size: 20 Release 0x135290880 By 0x153092096

Compatibility entry for 'EXTTAB':

Size: 20 Release 0x150994944 By 0x153092096

Compatibility entry for 'Java':

Size: 20 Release 0x135266304 By 0x153092096

Compatibility entry for 'WRDIR':

Size: 20 Release 0x150994944 By 0x153092096

Compatibility entry for 'PLUGTS':

Size: 20 Release 0x135266304 By 0x153092096

buffer tsn: 0 rdba: 0x004001a2 (1/418)

这个信息和v$compatseg的信息完全相同:

SQL> select * from V$COMPATSEG;

TYPE_ID RELEASE UPDATED

-------- -------------------- --------------------

COMPATSG 8.0.0.0.0 9.2.0.0.0

BOOTSTRP 8.0.0.0.0 9.2.0.0.0

UNDODATA 9.2.0.0.0 9.2.0.0.0

LMST 9.2.0.0.0 9.2.0.0.0

PDMLITLS 9.0.0.0.0 9.2.0.0.0

LOB_RET 9.2.0.0.0 9.2.0.0.0

NWIMGFMT 8.1.0.0.0 9.2.0.0.0

FASTDROP 8.1.6.0.0 9.2.0.0.0

LOCMGDTS 8.1.0.0.0 9.2.0.0.0

UNDOTBSP 9.0.0.0.0 9.2.0.0.0

TEMPTAB 8.1.0.0.0 9.2.0.0.0

PGTMGDTS 9.0.1.3.0 9.2.0.0.0

DATETIME 8.1.0.0.0 9.2.0.0.0

OPERATOR 8.1.0.0.0 9.2.0.0.0

VYCLOB 8.1.0.0.0 9.2.0.0.0

SEVTRIG 8.1.0.0.0 9.2.0.0.0

RLENG 9.2.0.0.0 9.2.0.0.0

APPCTX 8.1.0.0.0 9.2.0.0.0

HSC 9.2.0.0.0 9.2.0.0.0

BMINVPRT 8.1.0.0.0 9.2.0.0.0

TYPE_ID RELEASE UPDATED

-------- -------------------- --------------------

EDTRIG 8.1.6.0.0 9.2.0.0.0

EXTTAB 9.0.0.0.0 9.2.0.0.0

JAVA 8.1.0.0.0 9.2.0.0.0

WRDIR 9.0.0.0.0 9.2.0.0.0

PLUGTS 8.1.0.0.0 9.2.0.0.0

25 rows selected

所以在启动数据库时要读取这个信息是因为在每个数据文件头都记录有兼容性信息,假如兼容性设置改变,在数据库启动之前,Oracle需要去更新每个文件头,所以这个信息必须被优先读取。

在Oracle10g中,由于兼容性特典的变更,'V$COMPATSEG'已经不再存在,所以

SQL> select count(*) from dba_objects where object_name='V$COMPATSEG';

COUNT(*)

----------

0

由于这个变化,CACHE对象不再需要,root dba的指向也由此改变。

-The End-

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有