X$KCCDI部分欄位解析和DUMP資訊和V$DATABASE進行對應
X$KCCDI是對應了DUMP CONTROLFILE中資料庫資訊部分的檢視,其中V$DATABASE基本來自於此FIXED TABLE,為了能夠更好的備查今記錄於此
資料庫資訊 TRACE檔案
(size = 316, compat size = 316, section max = 1, section in-use = 1,
last-recid= 0, old-recno = 0, last-recno = 0)
(extent = 1, blkno = 1, numrecs = 1)
10/04/2013 22:10:43
DB Name "XUEXI"
Database flags = 0x00404001 0x00001000
Controlfile Creation Timestamp 10/04/2013 22:10:44
Incmplt recovery scn: 0x0000.00000000
Resetlogs scn: 0x0000.001d599f Resetlogs Timestamp 10/04/2013 22:14:48
Prior resetlogs scn: 0x0000.001d494d Prior resetlogs Timestamp 10/04/2013 21:54:38
Redo Version: compatible=0xa200100
#Data files = 10, #Online files = 10
Database checkpoint: Thread=1 scn: 0x0000.0085102b
Threads: #Enabled=1, #Open=1, Head=1, Tail=1
enabled threads: 01000000..00000000
Max log members = 3, Max data members = 1
Arch list: Head=5, Tail=5, Force scn: 0x0000.008173ca scn: 0x0000.0085102a
Activation ID: 2190560931
Controlfile Checkpointed at scn: 0x0000.00851068 02/25/2015 19:45:02
thread:0 rba:(0x0.0.0)
enabled threads: 00000000..00000000
X$KCCDI部分欄位解析
INST_ID 例項ID
DICTS 對應 10/04/2013 22:10:43,這按照V$DATABASE定義應該是資料庫的建立時間他和V$DATABASE中CREATED欄位一樣
DIDBN 資料庫名對應DB Name "XUEXI",對應v$database的name
DICCT 控制檔案建立時間對應 Controlfile Creation Timestamp 10/04/2013 22:10:44
DIFLG 對應Database flags = 0x00404001轉換為10進製為4210689,這是一個重要的狀態位,V$DATABASE中很多資訊是透過bitand按位與後能夠查出各種狀態,如是STANDBY還是CURRENT庫和STANDBY的模式
DIRLS 對應Resetlogs scn: 0x0000.001d599f,同樣需要轉換為10進位制,對應V$DATABASE RESETLOGS_CHANGE#
DIRLC 對應Resetlogs Timestamp 10/04/2013 22:14:48,對應V$DATABASE RESETLOGS_TIME
DIRLC_I 是當前的RESETLOGS_ID
DIPRS 對應Prior resetlogs scn: 0x0000.001d494d,同樣需要轉換為10進位制 ,對應V$DATABASE PRIOR_RESETLOGS_CHANGE#
DIPRC 對應Prior resetlogs Timestamp 10/04/2013 21:54:38 ,對應V$DATABASE PRIOR_RESETLOGS_TIME
DIPRC_I 是上一次的RESETLOGS_ID
DINDF 應該是#Data files = 10
DINTF 應該是Threads: #Enabled=1 為1表示Enabled thread bitmap vector
DINOF 應該是#Online files = 10
DICPT 應該是Database checkpoint: Thread=1
DISCN 對應了Database checkpoint scn: 0x0000.0085102b,就是LOW CACHE RBA對應的SCN,正常情況下這以前的資料是乾淨的,他就是V$DATABASE的CHECKPOINT_CHANGE#
DIMLM 對應了Max log members = 3,這實際上是MAXLOGMEMBERS
DIMDM 對應了Max data members = 1 恆等於1 (A structural hook to allow for duplexing datafiles, not implemented)
DIARH 對應了Arch list: Head=5 不知道意義
DIART 對應了Tail=5 不知道意義
DIFAS 對應了Force scn: 0x0000.008173ca,對應v$database中的ARCHIVE_CHANGE# (Database force archiving SCN.
Any redo log with a start SCN below this will be forced to archive out.)
DICKP_SCN 對應了Controlfile Checkpointed at scn: 0x0000.00851068,對應v$database中controlfile_change#
DICKP_TIM 對應了02/25/2015 19:45:02 ,對應了V$DATABASE中CONTROLFILE_TIME
DICSQ 對應了CONTROLFILE HEADER的DUMP OF CONTROL FILES, Seq # 9156 = 0x23c4,對應V$DATABASE中的controlfile_sequence#
(The control file sequence number at the time ofthe last control fileupdate of the file
header. This is used to check for an old control file. If the number in a data file is
higher than the current control file, then the control file must bea backup or have a
different resetlogs stamp)
DIDBI 對應了CONTROLFILE HEADER的Db ID=2183744397=0x82294b8d,就是資料庫的ID對應V$DATABASEDBID
DIVTS 對應了V$DATABASE中的VERSION TIME
DIDOR 透過換算得到V$DATABASE中的open_mode decode(di.didor,0,'MOUNTED',decode(di.didor, 1, 'READ WRITE', 'READ ONLY'))
DIRAE 透過換算得到V$DATABASE中的REMOTE_ARCHIVE decode(di.dirae,0,'DISABLED',1,'SEND',2,'RECEIVE',3,'ENABLED','UNKNOWN')
DIARS 對應V$DATABASE中的ARCHIVELOG_CHANGE# (Highest NEXT_CHANGE#(from the V$ARCHIVED_LOGview) for an archive log)
DISOS 透過換算得到V$DATABASE中的switchover_status
decode(di.disos, 0,'IMPOSSIBLE',1,'NOT ALLOWED',2,'SWITCHOVER LATENT',3,'SWITCHOVER PENDING',4,'TO PRIMARY',
5,'TO STANDBY',6,'RECOVERY NEEDED',7,'SESSIONS ACTIVE',8,'PREPARING SWITCHOVER',9,'PREPARING DICTIONARY',
10,'TO LOGICAL STANDBY','UNKNOWN'),
DIDGD 透過換算得到V$DATABASE中的dataguard_blocker decode(di.didgd, 0, 'DISABLED', 'ENABLED')
DIFL2 透過換算得到V$DATABASE中的SUPPLEMENTAL_LOG_DATA_ALL decode(bitand(difl2, 2), 2, 'YES', 'NO')
DIPLID 對應了V$DATABASE的LAST_OPEN_INCARNATION# Record number of the incarnation in V$DATABASE_INCARNATIONthat was last opened successfully
DIPLN 對應了V$DATABASE的PLATFORM_ID,這是平臺ID,透過v$transportable_platform可以找到對應的平臺
DICUR_SCN 對應了V$DATABASE的CURRENT_SCN,沒什麼說的當前SCN
DIDBUN 對應了V$DATABASE中的UNIQUE_NAME,這是做DATAGUARD的時候需要的
DIFSTS 透過換算得到V$DATABASE中的FS_FAILOVER_STATUS
由此發現很多欄位實際都對應了V$DATABASE中的值或者透過換算得到,並且我們需要注意幾個SCN的值
select DISCN,DIFAS,DIARS,DICKP_SCN,DICUR_SCN from x$kccdi;
等價於
select CHECKPOINT_CHANGE#,ARCHIVE_CHANGE#,ARCHIVELOG_CHANGE#,controlfile_change#,CURRENT_SCN from v$database;
可以透過
select to_number(DISCN),to_number(DIFAS),to_number(DIARS),to_number(DICKP_SCN),to_number(DICUR_SCN) from x$kccdi
union all
select CHECKPOINT_CHANGE#,ARCHIVE_CHANGE#,ARCHIVELOG_CHANGE#,controlfile_change#,CURRENT_SCN from v$database;
語句進行比較
資料庫資訊 TRACE檔案
(size = 316, compat size = 316, section max = 1, section in-use = 1,
last-recid= 0, old-recno = 0, last-recno = 0)
(extent = 1, blkno = 1, numrecs = 1)
10/04/2013 22:10:43
DB Name "XUEXI"
Database flags = 0x00404001 0x00001000
Controlfile Creation Timestamp 10/04/2013 22:10:44
Incmplt recovery scn: 0x0000.00000000
Resetlogs scn: 0x0000.001d599f Resetlogs Timestamp 10/04/2013 22:14:48
Prior resetlogs scn: 0x0000.001d494d Prior resetlogs Timestamp 10/04/2013 21:54:38
Redo Version: compatible=0xa200100
#Data files = 10, #Online files = 10
Database checkpoint: Thread=1 scn: 0x0000.0085102b
Threads: #Enabled=1, #Open=1, Head=1, Tail=1
enabled threads: 01000000..00000000
Max log members = 3, Max data members = 1
Arch list: Head=5, Tail=5, Force scn: 0x0000.008173ca scn: 0x0000.0085102a
Activation ID: 2190560931
Controlfile Checkpointed at scn: 0x0000.00851068 02/25/2015 19:45:02
thread:0 rba:(0x0.0.0)
enabled threads: 00000000..00000000
X$KCCDI部分欄位解析
INST_ID 例項ID
DICTS 對應 10/04/2013 22:10:43,這按照V$DATABASE定義應該是資料庫的建立時間他和V$DATABASE中CREATED欄位一樣
DIDBN 資料庫名對應DB Name "XUEXI",對應v$database的name
DICCT 控制檔案建立時間對應 Controlfile Creation Timestamp 10/04/2013 22:10:44
DIFLG 對應Database flags = 0x00404001轉換為10進製為4210689,這是一個重要的狀態位,V$DATABASE中很多資訊是透過bitand按位與後能夠查出各種狀態,如是STANDBY還是CURRENT庫和STANDBY的模式
DIRLS 對應Resetlogs scn: 0x0000.001d599f,同樣需要轉換為10進位制,對應V$DATABASE RESETLOGS_CHANGE#
DIRLC 對應Resetlogs Timestamp 10/04/2013 22:14:48,對應V$DATABASE RESETLOGS_TIME
DIRLC_I 是當前的RESETLOGS_ID
DIPRS 對應Prior resetlogs scn: 0x0000.001d494d,同樣需要轉換為10進位制 ,對應V$DATABASE PRIOR_RESETLOGS_CHANGE#
DIPRC 對應Prior resetlogs Timestamp 10/04/2013 21:54:38 ,對應V$DATABASE PRIOR_RESETLOGS_TIME
DIPRC_I 是上一次的RESETLOGS_ID
DINDF 應該是#Data files = 10
DINTF 應該是Threads: #Enabled=1 為1表示Enabled thread bitmap vector
DINOF 應該是#Online files = 10
DICPT 應該是Database checkpoint: Thread=1
DISCN 對應了Database checkpoint scn: 0x0000.0085102b,就是LOW CACHE RBA對應的SCN,正常情況下這以前的資料是乾淨的,他就是V$DATABASE的CHECKPOINT_CHANGE#
DIMLM 對應了Max log members = 3,這實際上是MAXLOGMEMBERS
DIMDM 對應了Max data members = 1 恆等於1 (A structural hook to allow for duplexing datafiles, not implemented)
DIARH 對應了Arch list: Head=5 不知道意義
DIART 對應了Tail=5 不知道意義
DIFAS 對應了Force scn: 0x0000.008173ca,對應v$database中的ARCHIVE_CHANGE# (Database force archiving SCN.
Any redo log with a start SCN below this will be forced to archive out.)
DICKP_SCN 對應了Controlfile Checkpointed at scn: 0x0000.00851068,對應v$database中controlfile_change#
DICKP_TIM 對應了02/25/2015 19:45:02 ,對應了V$DATABASE中CONTROLFILE_TIME
DICSQ 對應了CONTROLFILE HEADER的DUMP OF CONTROL FILES, Seq # 9156 = 0x23c4,對應V$DATABASE中的controlfile_sequence#
(The control file sequence number at the time ofthe last control fileupdate of the file
header. This is used to check for an old control file. If the number in a data file is
higher than the current control file, then the control file must bea backup or have a
different resetlogs stamp)
DIDBI 對應了CONTROLFILE HEADER的Db ID=2183744397=0x82294b8d,就是資料庫的ID對應V$DATABASEDBID
DIVTS 對應了V$DATABASE中的VERSION TIME
DIDOR 透過換算得到V$DATABASE中的open_mode decode(di.didor,0,'MOUNTED',decode(di.didor, 1, 'READ WRITE', 'READ ONLY'))
DIRAE 透過換算得到V$DATABASE中的REMOTE_ARCHIVE decode(di.dirae,0,'DISABLED',1,'SEND',2,'RECEIVE',3,'ENABLED','UNKNOWN')
DIARS 對應V$DATABASE中的ARCHIVELOG_CHANGE# (Highest NEXT_CHANGE#(from the V$ARCHIVED_LOGview) for an archive log)
DISOS 透過換算得到V$DATABASE中的switchover_status
decode(di.disos, 0,'IMPOSSIBLE',1,'NOT ALLOWED',2,'SWITCHOVER LATENT',3,'SWITCHOVER PENDING',4,'TO PRIMARY',
5,'TO STANDBY',6,'RECOVERY NEEDED',7,'SESSIONS ACTIVE',8,'PREPARING SWITCHOVER',9,'PREPARING DICTIONARY',
10,'TO LOGICAL STANDBY','UNKNOWN'),
DIDGD 透過換算得到V$DATABASE中的dataguard_blocker decode(di.didgd, 0, 'DISABLED', 'ENABLED')
DIFL2 透過換算得到V$DATABASE中的SUPPLEMENTAL_LOG_DATA_ALL decode(bitand(difl2, 2), 2, 'YES', 'NO')
DIPLID 對應了V$DATABASE的LAST_OPEN_INCARNATION# Record number of the incarnation in V$DATABASE_INCARNATIONthat was last opened successfully
DIPLN 對應了V$DATABASE的PLATFORM_ID,這是平臺ID,透過v$transportable_platform可以找到對應的平臺
DICUR_SCN 對應了V$DATABASE的CURRENT_SCN,沒什麼說的當前SCN
DIDBUN 對應了V$DATABASE中的UNIQUE_NAME,這是做DATAGUARD的時候需要的
DIFSTS 透過換算得到V$DATABASE中的FS_FAILOVER_STATUS
由此發現很多欄位實際都對應了V$DATABASE中的值或者透過換算得到,並且我們需要注意幾個SCN的值
select DISCN,DIFAS,DIARS,DICKP_SCN,DICUR_SCN from x$kccdi;
等價於
select CHECKPOINT_CHANGE#,ARCHIVE_CHANGE#,ARCHIVELOG_CHANGE#,controlfile_change#,CURRENT_SCN from v$database;
可以透過
select to_number(DISCN),to_number(DIFAS),to_number(DIARS),to_number(DICKP_SCN),to_number(DICUR_SCN) from x$kccdi
union all
select CHECKPOINT_CHANGE#,ARCHIVE_CHANGE#,ARCHIVELOG_CHANGE#,controlfile_change#,CURRENT_SCN from v$database;
語句進行比較
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-1611465/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- v$session--X$KSUSE s,X$KSLED e欄位對應Session
- 高通進dump和抓取解析dump log
- [案例] 字元型欄位統計資訊只對前32位進行統計字元
- v$process和v$session中欄位解釋Session
- sql2005 獲取表欄位資訊和檢視欄位資訊SQL
- SqlServer根據特定欄位分組後,對需要欄位進行分組拼接SQLServer
- 如何對登入介面加密欄位進行暴破?加密
- v$session中command欄位的含義解析Session
- java 部分隱藏欄位Java
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- 詳解Buffer Header--DUMP buffer結合X$BH檢視各欄位Header
- windows域控裡,屬性和欄位對映表Windows
- resultMap 和 resultType 的欄位對映覆蓋問題
- android database 常用欄位描述AndroidDatabase
- sql語句修改欄位型別和增加欄位SQL型別
- oracle刪除表欄位和oracle表增加欄位Oracle
- 利用X.509證書對XML進行加密和簽名XML加密
- SQL SERVER 資料庫查詢表和欄位資訊語句SQLServer資料庫
- 使用AOP和註解對DTO中的欄位進行截斷——第一次使用AOP和自定義註解的心得
- JPA實體中欄位對映補充和嵌入物件物件
- 對陣列中的數字 1 和 2 進行排序,使得數字 1、2 分別位於前、後部分陣列排序
- Django 常用欄位和引數Django
- 理解V$LOCK.ID1和ID2欄位的含義
- SAP CRM銷售訂單UI上的欄位對應的資料庫表儲存欄位:requested start date和end dateUI資料庫
- C語言-對一個結構體中的欄位進行排序C語言結構體排序
- 欄位按照指定 ID 順序進行排序排序
- 如何獲得C4C裡某個code欄位對應的描述資訊
- mysql建立表的時候對欄位和表新增COMMENTMySql
- orcl:和asmdisk對應的磁碟分割槽資訊ASM
- Dynamics 365(online) V9.0 new features(二:允許在窗體欄位標籤和值中進行文字換行)
- 動態規劃最大欄位和動態規劃
- v$nls_parameters和nls_database_parametersDatabase
- 使用JavaScript和網路資訊API進行自適應網路服務JavaScriptAPI
- Thread Dump 和Java應用診斷threadJava
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 二維陣列根據欄位進行排序陣列排序
- 使用O-LLVM和NDK對Android應用進行混淆LVMAndroid
- 進位制詳解:二進位制、八進位制和十六進位制