通過oracle event來dump資料檔案頭資訊
1.直接使用dump資料檔案頭,無法查詢資料檔案頭資訊
直接通過alter system dump datafile n block min 1 max 10;是得不到任何有用資訊的,如下:SQL> alter system dump datafile 1 block min 1 block max 10;
部分的DUMP檔案內容
Start dump data blocks tsn: 0 file#:1 minblk 1 maxblk 10
Block 1 (file header) not dumped:use dump file header command --從這句可以看到資料檔案頭未DUMP出來。
Block dump from cache:
Dump of buffer cache at level 4 for tsn=0 rdba=4194306
2.使用oracle event來DUMP資料檔案頭資訊
Oracle跟蹤事件簡介:
可以將Oracle各類內部結構中所包含的資訊轉儲(dump)到跟蹤檔案中,以便使用者能根據檔案內容來解決各種故障。immediate關鍵字表示命令發出後,立即將指定的結構dump到跟蹤檔案中,這個關鍵字只用在alter session語句中,並且不能與eventnumber、forever關鍵字同用。
trace name 是關鍵字。
eventname指事件名稱(見後面),即要進行dump的實際結構名。若eventname為context,則指根據內部事件號進行跟蹤。
forever關鍵字表示事件在例項或會話的週期內保持有效狀態,不能與immediate同用。
level為事件級別關鍵字。但在dump錯誤棧(errorstack)時不存在級別。
levelnumber表示事件級別號,一般從1到10,1表示只dump結構頭部資訊,10表示dump結構的所有資訊。
如在下面實驗中:
file_hdrs事件:dump所有資料檔案的頭部資訊
evel 1'; --表示dump 控制檔案中所有資料檔案頭部的。
level 2'; --表示dump 所有資料檔案的通用檔案頭-generic header。
level 3; ---包含level2以及header information in the datafile
level 10'--表示dump 所有資料檔案的完整檔案頭。
實驗命令如下:--要求資料庫在MOUNT或OPEN狀態才可以執行以下命令。
SYS@ bys3>alter system set events 'immediate trace name file_hdrs level 3'; --將所有的資料檔案頭都轉儲System altered.
SYS@ bys3>oradebug setmypid; --此語句要用SYSDBA許可權執行,普通DBA使用者會報錯:ORA-01031: insufficient privileges
Statement processed.
SYS@ bys3>oradebug tracefile_name --找出產生的TRACE檔名
/u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_ora_14351.trc
##################################################################################################
3.bys3_ora_14351.trc檔案內容:附簡單分析SYSTEM檔案頭資訊
Trace file /u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_ora_14351.trcOracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1
System name: Linux --所在主機的OS、資料庫相關資訊。
Node name: bys3.bys.com
Release: 2.6.32-200.13.1.el5uek
Version: #1 SMP Wed Jul 27 20:21:26 EDT 2011
Machine: i686
Instance name: bys3
Redo thread mounted by this instance: 1
Oracle process number: 23
Unix process pid: 14351, image: oracle@bys3.bys.com (TNS V1-V3)
#########################################################
*** 2013-11-17 10:43:18.205 ---產生此TRACE的會話相關資訊
*** SESSION ID:(64.6265) 2013-11-17 10:43:18.205
*** CLIENT ID:() 2013-11-17 10:43:18.205
*** SERVICE NAME:(SYS$USERS) 2013-11-17 10:43:18.205
*** MODULE NAME:(sqlplus@bys3.bys.com (TNS V1-V3)) 2013-11-17 10:43:18.205
*** ACTION NAME:() 2013-11-17 10:43:18.205
###################################################
DUMP OF DATA FILES: 4 files in database
DATA FILE #1:
name #4: /u01/oradata/bys3/system01.dbf --此條目轉儲的是system01.dbf檔案的資料頭
creation size=64000 block size=8192 status=0xe head=4 tail=4 dup=1
tablespace 0, index=1 krfil=1 prev_file=0 --prev_file表示相同表空間的前一個資料檔案號,這裡沒有所以是0
unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
Checkpoint cnt:67 scn: 0x0000.000b3984 11/17/2013 10:00:19 --最近的檢查點發生的時間
Stop scn: 0xffff.ffffffff 11/16/2013 12:07:14 --資料庫仍在執行,所以STOP SCN是0xffff.ffffffff。
Creation Checkpointed at scn: 0x0000.00000015 11/14/2013 14:24:22
thread:1 rba:(0x1.3.10)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 --有很多行0,節約篇幅,刪掉了。
00000000 00000000 00000000 00000000 00000000 00000000
Offline scn: 0x0000.00000000 prev_range: 0
Online Checkpointed at scn: 0x0000.00000000 --表示此資料檔案online還是offline的,用於快速跳過archive log恢復
thread:0 rba:(0x0.0.0)
enabled threads: 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000
Hot Backup end marker scn: 0x0000.00000000
aux_file is NOT DEFINED
Plugged readony: NO
Plugin scnscn: 0x0000.00000000
Plugin resetlogs scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign creation scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign checkpoint scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Online move state: 0
V10 STYLE FILE HEADER: --這一片是generic file header,level必須>=2才有此資訊,,,,,,,此句之前來自控制檔案,之後來自資料檔案頭。
Compatibility Vsn = 186646528=0xb200000 --control,redo,datafile,tempfile都有相同的generic file header.通過以後的資訊對比
Db ID=3358363031=0xc82c8d97, Db Name='BYS3' --資料庫的DBID及DB_NAME,存在於DATAFILE的第一個BLOCK。 將16進位制轉換為10進位制:select to_number('c82c8d97','xxxxxxxxxxxxx') from dual;
Activation ID=0=0x0Control Seq=1525=0x5f5, File size=64000=0xfa00 ---control seq表示控制檔案序列號,更新控制檔案的時候也會更新seq,如果控制檔案中的control seq小於資料檔案中的control sel,表示控制檔案來自於備份。File size 不是表示整個檔案的大小,而是表示當前儲存在cache layer中的大小
File Number=1, Blksiz=8192, File Type=3 DATA -----TYPE=3表示普通的資料檔案(包括undo,沒有temp,temp的type=6)
-------file number是記錄在file$表中的,如果資料檔案被刪除,那麼file number可以重用
Tablespace #0 - SYSTEM rel_fn:1 ----這一片資訊是從datafile header block 2中得到的,轉儲level必須為3才能得到此資訊。---tablespace#0表示表空間序號可以查詢v$tablespace.ts#驗證,rel_fn:1表示relative file
number可以通過檢視dba_data_files.relative_fno查到
SYS@ bys3>select name,ts# from v$tablespace; --只擷取了部分顯示
NAME TS#
------------------------------ ----------
SYSTEM 0
SYS@ bys3>select file_name,relative_fno from dba_data_files; --只擷取了部分顯示
FILE_NAME RELATIVE_FNO
---------------------------------------- ------------
/u01/oradata/bys3/system01.dbf 1
Creation at scn: 0x0000.00000015 11/14/2013 14:24:22 -------建庫的時間。我這裡是手動建庫,所以時間就是真實的建庫時間。如DBCA通過模板建庫,可能顯示為模板的時間。
Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0 --RMAN備份不更新此記錄,熱備份BEGIN BACKUP方式會更新此資訊。
reset logs count:0x318f5cd7 scn: 0x0000.00000001
prev reset logs count:0x0 scn: 0x0000.00000000
recovered at 11/15/2013 10:50:16
status:0x2004 root dba:0x00400208 chkpt cnt: 67 ctl cnt:66 ---只有system才有root dba,用來定位bootstrap$,ctl cnt 是控制檔案的一份拷貝,用於鑑別控制檔案是否來自於備份.關於root dba:在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$)。Oracle10g之前, root dba:0x004001a1,指向file 1 block 417物件,DUMP 417物件可以發現最終指向的是file 1 block 377。。10G中是root dba:0x00400179,指向file 1 block 377。現在11G中是root dba:0x00400208,具體指向位置:FILE 1 BLOCK 520
begin-hot-backup file size: 0 --上面的backup scn更新,此處也更新
Checkpointed at scn: 0x0000.000b3984 11/17/2013 10:00:19
thread:1 rba:(0x31.2.10)
enabled threads: 01000000 00000000 00000000 00000000 00000000 00000000
Backup Checkpointed at scn: 0x0000.00000000
thread:0 rba:(0x0.0.0)
enabled threads: 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 01/01/1988 00:00:00
Platform Information: Creation Platform ID: 10
Current Platform ID: 10 Last Platform ID: 10
4.除SYSTEM外的其它FILE資訊--擷取部分重要的
DATA FILE #2:name #5: /u01/oradata/bys3/sysaux01.dbf
creation size=41600 block size=8192 status=0xe head=5 tail=5 dup=1
tablespace 1, index=2 krfil=2 prev_file=0
unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
Checkpoint cnt:67 scn: 0x0000.000b3984 11/17/2013 10:00:19
Stop scn: 0xffff.ffffffff 11/16/2013 12:07:14
Creation Checkpointed at scn: 0x0000.00000740 11/14/2013 14:24:54
thread:1 rba:(0x1.1afb.10)
enabled threads: 01000000 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
Hot Backup end marker scn: 0x0000.00000000
aux_file is NOT DEFINED
Plugged readony: NO
Plugin scnscn: 0x0000.00000000
Plugin resetlogs scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign creation scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign checkpoint scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Online move state: 0
V10 STYLE FILE HEADER:
Compatibility Vsn = 186646528=0xb200000
Db ID=3358363031=0xc82c8d97, Db Name='BYS3'
Activation ID=0=0x0
Control Seq=1525=0x5f5, File size=41600=0xa280
File Number=2, Blksiz=8192, File Type=3 DATA -----TYPE=3表示普通的資料檔案(包括undo,沒有temp,temp的type=6)
Tablespace #1 - SYSAUX rel_fn:2
Creation at scn: 0x0000.00000740 11/14/2013 14:24:54
Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0
reset logs count:0x318f5cd7 scn: 0x0000.00000001
prev reset logs count:0x0 scn: 0x0000.00000000
recovered at 11/15/2013 10:50:16
status:0x4 root dba:0x00000000 chkpt cnt: 67 ctl cnt:66
begin-hot-backup file size: 0
DATA FILE #3:
name #6: /u01/oradata/bys3/undotbs01.dbf
creation size=25600 block size=8192 status=0xe head=6 tail=6 dup=1
tablespace 2, index=3 krfil=3 prev_file=0
unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
Checkpoint cnt:67 scn: 0x0000.000b3984 11/17/2013 10:00:19
Stop scn: 0xffff.ffffffff 11/16/2013 12:07:14
Creation Checkpointed at scn: 0x0000.00000b51 11/14/2013 14:25:10
thread:1 rba:(0x1.25a6.10)
enabled threads: 01000000 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
Hot Backup end marker scn: 0x0000.00000000
aux_file is NOT DEFINED
Plugged readony: NO
Plugin scnscn: 0x0000.00000000
Plugin resetlogs scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign creation scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign checkpoint scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Online move state: 0
V10 STYLE FILE HEADER:
Compatibility Vsn = 186646528=0xb200000
Db ID=3358363031=0xc82c8d97, Db Name='BYS3'
Activation ID=0=0x0
Control Seq=1525=0x5f5, File size=25600=0x6400
File Number=3, Blksiz=8192, File Type=3 DATA
Tablespace #2 - UNDOTBS1 rel_fn:3
Creation at scn: 0x0000.00000b51 11/14/2013 14:25:10
Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0
reset logs count:0x318f5cd7 scn: 0x0000.00000001
prev reset logs count:0x0 scn: 0x0000.00000000
recovered at 11/15/2013 10:50:16
status:0x4 root dba:0x00000000 chkpt cnt: 67 ctl cnt:66
begin-hot-backup file size: 0
Checkpointed at scn: 0x0000.000b3984 11/17/2013 10:00:19
DATA FILE #4:
name #8: /u01/oradata/bys3/user01.dbf
creation size=6400 block size=8192 status=0xe head=8 tail=8 dup=1
tablespace 4, index=5 krfil=4 prev_file=0
unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
Checkpoint cnt:67 scn: 0x0000.000b3984 11/17/2013 10:00:19
Stop scn: 0xffff.ffffffff 11/16/2013 12:07:14
Creation Checkpointed at scn: 0x0000.000034f9 11/14/2013 14:26:26
thread:1 rba:(0x1.ce8a.10)
enabled threads: 01000000 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
Hot Backup end marker scn: 0x0000.00000000
aux_file is NOT DEFINED
Plugged readony: NO
Plugin scnscn: 0x0000.00000000
Plugin resetlogs scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign creation scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Foreign checkpoint scn/timescn: 0x0000.00000000 01/01/1988 00:00:00
Online move state: 0
V10 STYLE FILE HEADER:
Compatibility Vsn = 186646528=0xb200000
Db ID=3358363031=0xc82c8d97, Db Name='BYS3'
Activation ID=0=0x0
Control Seq=1525=0x5f5, File size=6400=0x1900
File Number=4, Blksiz=8192, File Type=3 DATA
Tablespace #4 - USERS rel_fn:4
Creation at scn: 0x0000.000034f9 11/14/2013 14:26:26
Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0
reset logs count:0x318f5cd7 scn: 0x0000.00000001
prev reset logs count:0x0 scn: 0x0000.00000000
recovered at 11/15/2013 10:50:16
status:0x4 root dba:0x00000000 chkpt cnt: 67 ctl cnt:66
begin-hot-backup file size: 0
Checkpointed at scn: 0x0000.000b3984 11/17/2013 10:00:19
TEMP FILE #1: External File #201
name #7: /u01/oradata/bys3/temp01.dbf
creation size=2560 block size=8192 status=0xe head=7 tail=7 dup=1
tablespace 3, index=4 krfil=1 prev_file=0
unrecoverable scn: 0x0000.00000cb8 11/14/2013 14:25:12
V10 STYLE FILE HEADER:
Compatibility Vsn = 186646528=0xb200000
Db ID=3358363031=0xc82c8d97, Db Name='BYS3'
Activation ID=0=0x0
Control Seq=37=0x25, File size=2560=0xa00
File Number=1, Blksiz=8192, File Type=6 TEMP FILE -----TYPE=3表示普通的資料檔案(包括undo,沒有temp,temp的type=6)
Tablespace #3 - TEMP rel_fn:1
Creation at scn: 0x0000.00000cb8 11/14/2013 14:25:12
Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0
reset logs count:0x0 scn: 0x0000.00000000
prev reset logs count:0x0 scn: 0x0000.00000000
recovered at 01/01/1988 00:00:00
status:0x0 root dba:0x00000000 chkpt cnt: 0 ctl cnt:0
begin-hot-backup file size: 0
Checkpointed at scn: 0x0000.00000000
*** 2013-11-17 10:43:28.961
Processing Oradebug command 'setmypid'
*** 2013-11-17 10:43:28.975
Oradebug command 'setmypid' console output: <none>
*** 2013-11-17 10:43:36.900
Processing Oradebug command 'tracefile_name'
*** 2013-11-17 10:43:36.901
Oradebug command 'tracefile_name' console output:
/u01/app/oracle/product/11.2.0/dbhome_1/log/diag/rdbms/bys3/bys3/trace/bys3_ora_14351.trc
相關文章
- Oracle資料庫event事件與dump檔案介紹Oracle資料庫事件
- 通過移動資料檔案來均衡檔案I/O
- Oracle檔案頭資訊(zt)Oracle
- oracle_bbed.Datafile.Header_System.資料檔案頭資訊OracleHeader
- 通過DUMP檔案頭來觀察FILE OFFLINE,TABLESPACE OFFLINE,HOT BACKUP的區別(1)
- Oracle 通過儲存過程來生成CSV檔案Oracle儲存過程
- oracle資料塊dump檔案中ITL詳解Oracle
- alter session set events語句dump 控制檔案頭資訊示例Session
- 通過 alter system dump logfile語句dump REDO及歸檔日誌資訊示例
- alter session set events語句dump REDO日誌檔案頭資訊示例Session
- Oracle:dump轉儲檔案Oracle
- 通過資料庫檔案還原資料庫資料庫
- oracle資料檔案頭轉儲說明Oracle
- 通過web url獲取檔案資訊Web
- 使用awk來解析dump檔案
- 關於控制檔案與資料檔案頭資訊的說明(zt)
- java通過檔案頭內容判斷檔案型別Java型別
- oracle之 資料泵dump檔案存放nfs報ORA-27054OracleNFS
- 透過移動資料檔案來均衡檔案I/O
- Oracle 跟蹤檔案和檔案轉儲(dump)Oracle
- 通過修改jdbc配置檔案方式修改Weblogic資料來源密碼JDBCWeb密碼
- ORACLE中沒有引數檔案和控制檔案如何通過rman恢復資料庫Oracle資料庫
- Oracle自動新增資料檔案過程Oracle
- 通過 Git 來管理多媒體檔案Git
- mysql通過frm、idb檔案恢復資料MySql
- PostgreSQL資料檔案災難恢復-解析與資料dumpSQL
- 通過檔案控制程式碼恢復刪除的資料檔案
- Oracle通過SQL Plus生成CSV、Excel檔案OracleSQLExcel
- 通過二進位制頭識別檔案型別型別
- 通過Oracle來輔助MySQL資料問題的恢復OracleMySql
- Oracle 11g 通過 RMAN 檢查資料檔案、控制檔案、引數檔案的狀態和是否存在壞塊Oracle
- idea檔案頭資訊設定Idea
- 檢視BAM檔案頭部資訊
- 重建控制檔案時,與資料檔案相關的Checkpoint資訊來自何處
- Oracle使用dump匯入資料Oracle
- OS 刪除oracle資料檔案恢復過程Oracle
- 資料檔案拷貝檔案頭驗證錯誤
- 教程:如何通過DLA實現資料檔案格式轉換