使用BBED檢視SYSTEM檔案頭的root dba及bootstrap$
資料庫版本11.2.0.4
實驗思路是: --其中資料庫OPEN時的TRACE資訊,可以參考:http://blog.csdn.net/q947817003/article/details/17025489
file#1 block#1==>root dba==>struct ktetb
即先從SYSTEM的資料檔案頭:file#1 block#1 找到root dba的位置,然後在root dba所在的塊內,找到struct ktetb 所描述的塊的位置,然後檢視struct ktetb指定的塊中的內容(bootstrap$ 的內容)
Creation at scn: 0x0000.00000015 11/14/2013 14:24:22
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:0x2004 root dba:0x00400208 chkpt cnt: 67 ctl cnt:66
##########
只有system才有root dba,用來定位bootstrap$,儲存的是16進製表示的二進位制數,其中10bit是資料檔案號, 22 bit是BLOCK號。
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$)。
ORACLE 10g之前, root dba:0x004001a1,指向file 1 block 417物件,DUMP 417物件可以發現最終指向的是file 1 block 377。
ORACLE 10G中是root dba:0x00400179,指向file 1 block 377
ORACLE 11G中root dba:0x00400208,指向file 1 block 520
################
在11G中root dba:0x00400208具體指向位置計算方法如下: --一個位元組8bit,一個16進位制可以表示4bit二進位制
首先算出來每一個byte對應的二進位制值,如下:
00000000 01000000 00000010 00001000
前10bit 檔案號: 0000000001
後22bit 塊號: 0000000000001000001000
對應的10進位制的檔案號和塊號是:1號檔案的520號塊
BYS@ bys3>select bit_to_number('0000000001') from dual;
BIT_TO_NUMBER('0000000001')
---------------------------
1
BYS@ bys3>select bit_to_number('0000000000001000001000') from dual;
BIT_TO_NUMBER('0000000000001000001000')
---------------------------------------
520
####################################################################
blocksize=8192
listfile=bbedfile.txt
mode=edit
[oracle@bys3 ~]$ cat bbedfile.txt
1 /u01/oradata/bys3/system01.dbf 524288000
2 /u01/oradata/bys3/sysaux01.dbf 340787200
3 /u01/oradata/bys3/undotbs01.dbf 209715200
4 /u01/oradata/bys3/user01.dbf 52428800
[oracle@bys3 ~]$ bbed parfile=par.bbd
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Fri Nov 29 09:22:04 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> show all
FILE# 1
BLOCK# 1
OFFSET 0
DBA 0x00400001 (4194305 1,1)
FILENAME /u01/oradata/bys3/system01.dbf
BIFILE bifile.bbd
LISTFILE bbedfile.txt
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
BBED> map /v ---擷取部分
File: /u01/oradata/bys3/system01.dbf (1)
Block: 1 Dba:0x00400001
------------------------------------------------------------
Data File Header
struct kcvfh, 860 bytes @0
struct kcvfhbfh, 20 bytes @0
struct kcvfhhdr, 76 bytes @20
ub4 kcvfhrdb @96
struct kcvfhcrs, 8 bytes @100
ub4 kcvfhcrt @108
ub4 kcvfhrlc @112
BBED> print kcvfhrdb ---kcvfhrdb就是root dba指向的具體資料塊位置
ub4 kcvfhrdb @96 0x00400208
oracle引導會去讀這個地方:file# 1 block# 520
0x00400208如何轉換為具體的檔案號及塊號? ---詳見上一步或者:http://blog.csdn.net/q947817003/article/details/16996475 第一小節
計算的大致方法示例如下:
DBA(data block address)===file#(10bit)+block#(22bit)==32bit
16進位制中兩個字元表示1bytes,
DBA=0x00400001====> 轉換為二進位制為:00000000 01000000 00000000 00000001
file#=00000000 01 -----檔案號
block#=000000 00000000 00000001 -->號塊
此處的計算是:
0x00400208先轉換為二進位制為:00000000 01000000 00000010 00001000
資料檔案號是:0000000001 資料塊號是:0000000000001000001000
BYS@ bys3>select bit_to_number('0000000001') from dual;
BIT_TO_NUMBER('0000000001')
---------------------------
1
BYS@ bys3>select bit_to_number('0000000000001000001000') from dual;
BIT_TO_NUMBER('0000000000001000001000')
---------------------------------------
520
##################################################################################################
BYS@ bys3>select segment_name,segment_type,header_file,header_block from dba_segments where header_block=520;
SEGMENT_NAME SEGMENT_TYPE HEADER_FILE HEADER_BLOCK
--------------- ------------------ ----------- ------------
BOOTSTRAP$ TABLE 1 520
擷取bootstrap$;表的前幾行
SYS@ bys3>col SQL_TEXT for a110
SYS@ bys3>select * from bootstrap$; --擷取部分
LINE# OBJ# SQL_TEXT
---------- ---------- --------------------------------------------------------------------------------------------------------------
-1 -1 8.0.0.0.0 -----相容8.0以後版本
0 0 CREATE ROLLBACK SEGMENT SYSTEM STORAGE ( INITIAL 112K NEXT 56K MINEXTENTS 1 MAXEXTENTS 32765 OBJNO 0 EXTENTS
(FILE 1 BLOCK 128)) --建立系統回滾段
20 20 CREATE TABLE ICOL$("OBJ#" NUMBER NOT NULL,"BO#" NUMBER NOT NULL,"COL#" NUMBER NOT NULL,"POS#" NUMBER NOT NULL,
"SEGCOL#" NUMBER NOT NULL,"SEGCOLLENGTH" NUMBER NOT NULL,"OFFSET" NUMBER NOT NULL,"INTCOL#" NUMBER NOT NULL,"S
PARE1" NUMBER,"SPARE2" NUMBER,"SPARE3" NUMBER,"SPARE4" VARCHAR2(1000),"SPARE5" VARCHAR2(1000),"SPARE6" DATE) S
TORAGE ( OBJNO 20 TABNO 4) CLUSTER C_OBJ#(BO#)
42 42 CREATE INDEX I_ICOL1 ON ICOL$(OBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1024K MINEX
TENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 OBJNO 42 EXTENTS (FILE 1 BLOCK 384))
使用Ultraedit把文字轉換為16進位制OBJ#=0行的SQL_TEXT轉換為16進位制數: --用於下一步時與BBED DUMP資料塊的資訊對比
00000000h: 43 52 45 41 54 45 20 52 4F 4C 4C 42 41 43 4B 20 ; CREATE ROLLBACK
00000010h: 53 45 47 4D 45 4E 54 20 53 59 53 54 45 4D 20 53 ; SEGMENT SYSTEM S
00000020h: 54 4F 52 41 47 45 20 28 20 20 49 4E 49 54 49 41 ; TORAGE ( INITIA
00000030h: 4C 20 31 31 32 4B 20 4E 45 58 54 20 35 36 4B 20 ; L 112K NEXT 56K
00000040h: 4D 49 4E 45 58 54 45 4E 54 53 20 31 20 4D 41 58 ; MINEXTENTS 1 MAX
00000050h: 20 45 58 54 45 4E 54 53 20 33 32 37 36 35 20 4F ; EXTENTS 32765 O
00000060h: 42 4A 4E 4F 20 30 20 45 58 54 45 4E 54 53 20 28 ; BJNO 0 EXTENTS (
00000070h: 46 49 4C 45 20 31 20 42 4C 4F 43 4B 20 31 32 38 ; FILE 1 BLOCK 128
00000080h: 29 29 ; ))
#############################################################################################################
BBED> set dba 0x00400208
DBA 0x00400208 (4194824 1,520)
BBED> show all
FILE# 1
BLOCK# 520
OFFSET 0
DBA 0x00400208 (4194824 1,520)
FILENAME /u01/oradata/bys3/system01.dbf
BIFILE bifile.bbd
LISTFILE bbedfile.txt
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
BBED> map
File: /u01/oradata/bys3/system01.dbf (1)
Block: 520 Dba:0x00400208
------------------------------------------------------------
Unlimited Data Segment Header
struct kcbh, 20 bytes @0
struct ktech, 72 bytes @20
struct ktemh, 16 bytes @92
struct ktetb[1], 8 bytes @108
struct ktshc, 8 bytes @4148
struct ktsfs_seg[1], 20 bytes @4156
struct ktsfs_txn[16], 320 bytes @4176
ub4 tailchk @8188
BBED> print ktemh
struct ktemh, 16 bytes @92
ub4 count_ktemh @92 0x00000001
ub4 next_ktemh @96 0x00000000
ub4 obj_ktemh @100 0x0000003b
ub4 flag_ktemh @104 0x40000000
#################
ub4 obj_ktemh @100 0x0000003b
這一句描述的就是:root dba指向的object物件號:0x0000003b,依照以下方法轉換為十進位制,為:59
在資料庫中據此物件號也可以查詢出此表
BYS@ bys3>select to_number('3b','xxxxxxxxxx') from dual;
TO_NUMBER('3B','XXXXXXXXXX')
----------------------------
59
BYS@ bys3>select name from sys.obj$ where obj#=59; ---從資料庫中也可以驗證這個物件號指的是 BOOTSTRAP$
NAME
------------------------------
BOOTSTRAP$
####################
BBED> print ktetb --接上一步BBED操作
struct ktetb[0], 8 bytes @108
ub4 ktetbdba @108 0x00400209
ub4 ktetbnbk @112 0x00000007
BBED> set dba 0x00400209
DBA 0x00400209 (4194825 1,521)
BBED> set offset 8030
OFFSET 8030
--這個偏移量是書上看的,笨方法是把整個資料塊8192位元組都DUMP出來的16進位制數全複製出來放在一個空檔案中,然後使用第3步Ultraedit轉換出來的16進位制數字符,來查詢,一個個查哈哈。
BBED> dump --DUMP出來的資料和第3步Ultraedit轉換出來的16進位制數字符可以一一對應
File: /u01/oradata/bys3/system01.dbf (1)
Block: 521 Offsets: 8030 to 8191 Dba:0x00400209
------------------------------------------------------------------------
2c010301 80018081 43524541 54452052 4f4c4c42 41434b20 5345474d 454e5420
53595354 454d2053 544f5241 47452028 2020494e 49544941 4c203131 324b204e
45585420 35364b20 4d494e45 5854454e 54532031 204d4158 45585445 4e545320
33323736 35204f42 4a4e4f20 30204558 54454e54 53202846 494c4520 3120424c
4f434b20 31323829 292c0103 033e6466 033e6466 09382e30 2e302e30 2e300106
e501
<32 bytes per line>
實驗思路是: --其中資料庫OPEN時的TRACE資訊,可以參考:http://blog.csdn.net/q947817003/article/details/17025489
file#1 block#1==>root dba==>struct ktetb
即先從SYSTEM的資料檔案頭:file#1 block#1 找到root dba的位置,然後在root dba所在的塊內,找到struct ktetb 所描述的塊的位置,然後檢視struct ktetb指定的塊中的內容(bootstrap$ 的內容)
1.使用DUMP資料檔案頭檢視root dba
DUMP 資料檔案頭可見以下資訊: --具體方法見:http://blog.csdn.net/q947817003/article/details/16369041Creation at scn: 0x0000.00000015 11/14/2013 14:24:22
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:0x2004 root dba:0x00400208 chkpt cnt: 67 ctl cnt:66
##########
只有system才有root dba,用來定位bootstrap$,儲存的是16進製表示的二進位制數,其中10bit是資料檔案號, 22 bit是BLOCK號。
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$)。
ORACLE 10g之前, root dba:0x004001a1,指向file 1 block 417物件,DUMP 417物件可以發現最終指向的是file 1 block 377。
ORACLE 10G中是root dba:0x00400179,指向file 1 block 377
ORACLE 11G中root dba:0x00400208,指向file 1 block 520
################
在11G中root dba:0x00400208具體指向位置計算方法如下: --一個位元組8bit,一個16進位制可以表示4bit二進位制
首先算出來每一個byte對應的二進位制值,如下:
00000000 01000000 00000010 00001000
前10bit 檔案號: 0000000001
後22bit 塊號: 0000000000001000001000
對應的10進位制的檔案號和塊號是:1號檔案的520號塊
BYS@ bys3>select bit_to_number('0000000001') from dual;
BIT_TO_NUMBER('0000000001')
---------------------------
1
BYS@ bys3>select bit_to_number('0000000000001000001000') from dual;
BIT_TO_NUMBER('0000000000001000001000')
---------------------------------------
520
####################################################################
2.使用bbed來檢視root dba的指向
[oracle@bys3 ~]$ cat par.bbdblocksize=8192
listfile=bbedfile.txt
mode=edit
[oracle@bys3 ~]$ cat bbedfile.txt
1 /u01/oradata/bys3/system01.dbf 524288000
2 /u01/oradata/bys3/sysaux01.dbf 340787200
3 /u01/oradata/bys3/undotbs01.dbf 209715200
4 /u01/oradata/bys3/user01.dbf 52428800
[oracle@bys3 ~]$ bbed parfile=par.bbd
Password:
BBED: Release 2.0.0.0.0 - Limited Production on Fri Nov 29 09:22:04 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> show all
FILE# 1
BLOCK# 1
OFFSET 0
DBA 0x00400001 (4194305 1,1)
FILENAME /u01/oradata/bys3/system01.dbf
BIFILE bifile.bbd
LISTFILE bbedfile.txt
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
BBED> map /v ---擷取部分
File: /u01/oradata/bys3/system01.dbf (1)
Block: 1 Dba:0x00400001
------------------------------------------------------------
Data File Header
struct kcvfh, 860 bytes @0
struct kcvfhbfh, 20 bytes @0
struct kcvfhhdr, 76 bytes @20
ub4 kcvfhrdb @96
struct kcvfhcrs, 8 bytes @100
ub4 kcvfhcrt @108
ub4 kcvfhrlc @112
BBED> print kcvfhrdb ---kcvfhrdb就是root dba指向的具體資料塊位置
ub4 kcvfhrdb @96 0x00400208
oracle引導會去讀這個地方:file# 1 block# 520
0x00400208如何轉換為具體的檔案號及塊號? ---詳見上一步或者:http://blog.csdn.net/q947817003/article/details/16996475 第一小節
計算的大致方法示例如下:
DBA(data block address)===file#(10bit)+block#(22bit)==32bit
16進位制中兩個字元表示1bytes,
DBA=0x00400001====> 轉換為二進位制為:00000000 01000000 00000000 00000001
file#=00000000 01 -----檔案號
block#=000000 00000000 00000001 -->號塊
此處的計算是:
0x00400208先轉換為二進位制為:00000000 01000000 00000010 00001000
資料檔案號是:0000000001 資料塊號是:0000000000001000001000
BYS@ bys3>select bit_to_number('0000000001') from dual;
BIT_TO_NUMBER('0000000001')
---------------------------
1
BYS@ bys3>select bit_to_number('0000000000001000001000') from dual;
BIT_TO_NUMBER('0000000000001000001000')
---------------------------------------
520
##################################################################################################
3.在資料庫中查詢file# 1 header_block=520的塊的資訊--- bootstrap$
BYS@ bys3>col segment_name for a15BYS@ bys3>select segment_name,segment_type,header_file,header_block from dba_segments where header_block=520;
SEGMENT_NAME SEGMENT_TYPE HEADER_FILE HEADER_BLOCK
--------------- ------------------ ----------- ------------
BOOTSTRAP$ TABLE 1 520
擷取bootstrap$;表的前幾行
SYS@ bys3>col SQL_TEXT for a110
SYS@ bys3>select * from bootstrap$; --擷取部分
LINE# OBJ# SQL_TEXT
---------- ---------- --------------------------------------------------------------------------------------------------------------
-1 -1 8.0.0.0.0 -----相容8.0以後版本
0 0 CREATE ROLLBACK SEGMENT SYSTEM STORAGE ( INITIAL 112K NEXT 56K MINEXTENTS 1 MAXEXTENTS 32765 OBJNO 0 EXTENTS
(FILE 1 BLOCK 128)) --建立系統回滾段
20 20 CREATE TABLE ICOL$("OBJ#" NUMBER NOT NULL,"BO#" NUMBER NOT NULL,"COL#" NUMBER NOT NULL,"POS#" NUMBER NOT NULL,
"SEGCOL#" NUMBER NOT NULL,"SEGCOLLENGTH" NUMBER NOT NULL,"OFFSET" NUMBER NOT NULL,"INTCOL#" NUMBER NOT NULL,"S
PARE1" NUMBER,"SPARE2" NUMBER,"SPARE3" NUMBER,"SPARE4" VARCHAR2(1000),"SPARE5" VARCHAR2(1000),"SPARE6" DATE) S
TORAGE ( OBJNO 20 TABNO 4) CLUSTER C_OBJ#(BO#)
42 42 CREATE INDEX I_ICOL1 ON ICOL$(OBJ#) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 64K NEXT 1024K MINEX
TENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 OBJNO 42 EXTENTS (FILE 1 BLOCK 384))
使用Ultraedit把文字轉換為16進位制OBJ#=0行的SQL_TEXT轉換為16進位制數: --用於下一步時與BBED DUMP資料塊的資訊對比
00000000h: 43 52 45 41 54 45 20 52 4F 4C 4C 42 41 43 4B 20 ; CREATE ROLLBACK
00000010h: 53 45 47 4D 45 4E 54 20 53 59 53 54 45 4D 20 53 ; SEGMENT SYSTEM S
00000020h: 54 4F 52 41 47 45 20 28 20 20 49 4E 49 54 49 41 ; TORAGE ( INITIA
00000030h: 4C 20 31 31 32 4B 20 4E 45 58 54 20 35 36 4B 20 ; L 112K NEXT 56K
00000040h: 4D 49 4E 45 58 54 45 4E 54 53 20 31 20 4D 41 58 ; MINEXTENTS 1 MAX
00000050h: 20 45 58 54 45 4E 54 53 20 33 32 37 36 35 20 4F ; EXTENTS 32765 O
00000060h: 42 4A 4E 4F 20 30 20 45 58 54 45 4E 54 53 20 28 ; BJNO 0 EXTENTS (
00000070h: 46 49 4C 45 20 31 20 42 4C 4F 43 4B 20 31 32 38 ; FILE 1 BLOCK 128
00000080h: 29 29 ; ))
#############################################################################################################
4.使用BBED檢視root dba的指向的file# 1 block# 520的詳細資訊
接第2步中BBED的使用BBED> set dba 0x00400208
DBA 0x00400208 (4194824 1,520)
BBED> show all
FILE# 1
BLOCK# 520
OFFSET 0
DBA 0x00400208 (4194824 1,520)
FILENAME /u01/oradata/bys3/system01.dbf
BIFILE bifile.bbd
LISTFILE bbedfile.txt
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
BBED> map
File: /u01/oradata/bys3/system01.dbf (1)
Block: 520 Dba:0x00400208
------------------------------------------------------------
Unlimited Data Segment Header
struct kcbh, 20 bytes @0
struct ktech, 72 bytes @20
struct ktemh, 16 bytes @92
struct ktetb[1], 8 bytes @108
struct ktshc, 8 bytes @4148
struct ktsfs_seg[1], 20 bytes @4156
struct ktsfs_txn[16], 320 bytes @4176
ub4 tailchk @8188
BBED> print ktemh
struct ktemh, 16 bytes @92
ub4 count_ktemh @92 0x00000001
ub4 next_ktemh @96 0x00000000
ub4 obj_ktemh @100 0x0000003b
ub4 flag_ktemh @104 0x40000000
#################
ub4 obj_ktemh @100 0x0000003b
這一句描述的就是:root dba指向的object物件號:0x0000003b,依照以下方法轉換為十進位制,為:59
在資料庫中據此物件號也可以查詢出此表
BYS@ bys3>select to_number('3b','xxxxxxxxxx') from dual;
TO_NUMBER('3B','XXXXXXXXXX')
----------------------------
59
BYS@ bys3>select name from sys.obj$ where obj#=59; ---從資料庫中也可以驗證這個物件號指的是 BOOTSTRAP$
NAME
------------------------------
BOOTSTRAP$
####################
5.使用BBED來驗證BOOTSTRAP$表中OBJ#=0行記錄是否存在於struct ktetb[1]指向的DBA 0x00400209中的資訊
知道了BOOTSTRAP$物件號,那麼BOOTSTRAP$記錄的具體內容(select * from bootstrap$;) -儲存在:file#1 block#520的struct ktetb[1]欄位指向的塊BBED> print ktetb --接上一步BBED操作
struct ktetb[0], 8 bytes @108
ub4 ktetbdba @108 0x00400209
ub4 ktetbnbk @112 0x00000007
BBED> set dba 0x00400209
DBA 0x00400209 (4194825 1,521)
BBED> set offset 8030
OFFSET 8030
--這個偏移量是書上看的,笨方法是把整個資料塊8192位元組都DUMP出來的16進位制數全複製出來放在一個空檔案中,然後使用第3步Ultraedit轉換出來的16進位制數字符,來查詢,一個個查哈哈。
BBED> dump --DUMP出來的資料和第3步Ultraedit轉換出來的16進位制數字符可以一一對應
File: /u01/oradata/bys3/system01.dbf (1)
Block: 521 Offsets: 8030 to 8191 Dba:0x00400209
------------------------------------------------------------------------
2c010301 80018081 43524541 54452052 4f4c4c42 41434b20 5345474d 454e5420
53595354 454d2053 544f5241 47452028 2020494e 49544941 4c203131 324b204e
45585420 35364b20 4d494e45 5854454e 54532031 204d4158 45585445 4e545320
33323736 35204f42 4a4e4f20 30204558 54454e54 53202846 494c4520 3120424c
4f434b20 31323829 292c0103 033e6466 033e6466 09382e30 2e302e30 2e300106
e501
<32 bytes per line>
相關文章
- 【BBED】 SYSTEM檔案頭損壞的恢復(4)
- 使用BBED檢視資料檔案頭(block# 1)的簡單使用及查詢DBID/DB_NAME等資訊BloC
- oracle_bbed.Datafile.Header_System.資料檔案頭資訊OracleHeader
- 用bbed檢視資料檔案的資料塊block 0及block 1BloC
- bbed 與檔案頭恢復
- 使用10046事件檢視資料庫OPEN時從root dba到bootstrap$的詳細引導過程事件資料庫boot
- 檢視BAM檔案頭部資訊
- [20160405]bbed修改檔案頭.txt
- 使用BBED跳過歸檔檔案
- 【kingsql分享】使用BBED修改Oracle資料檔案頭推進SCNSQLOracle
- 透過hexdump檢視硬碟標頭檔案的區別硬碟
- 使用TKPROF檢視跟蹤檔案
- 使用 gdb 檢視 coredump 檔案的 backtrace
- 檢視檔案
- 檢視錶空間及檔案大小的語句
- Oracle 使用BBED 檢視 ASM Disk Header 內容OracleASMHeader
- centos7新增普通使用者用於檢視日誌檔案及檢視centos使用者CentOS
- PE檔案檢測DOS頭\NT頭
- system資料檔案頭損壞修復
- 使用BBED修改檔案頭解決資料庫Open驗證問題(下)資料庫
- 使用BBED修改檔案頭解決資料庫Open驗證問題(上)資料庫
- 檢視檔案被什麼程式使用
- EBS 中使用 string 檢視檔案的版本
- BBED 修改檔案頭 解決 ORA-01190
- 檢視錶空間及資料檔案的checkpoint資訊
- swap檔案檢視
- 檢視大檔案
- 19c環境bbed安裝及db_name檢視
- 【DBA】DBA_HIST_SQLSTAT檢視用途SQL
- Oracle dba 常用檢視Oracle
- System File1 File Header(資料庫System檔案1檔案頭)損壞情況的恢復Header資料庫
- [20160407]bbed修改檔案頭2(補充).txt
- usage.sql檢視檔案使用率SQL
- 檢視磁碟使用空間和檔案大小
- 使用Vue語法渲染你的Koa檢視檔案?Vue
- 【BBED】 sys.bootstrap$ 物件的恢復boot物件
- linux命令 — lsof 檢視程式開啟那些檔案 或者 檢視檔案給那個程式使用Linux
- linux 使用ll檢視檔案發現檔案後面帶 *Linux