咨询微信: dbservice1234 7 x 24 在线支持!

Oracle BBEDツール

Oracle BBEDツール

ORACLEデータベース によくあるエラ の解決策

プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com

 

Oracle8i のBBEDはwindows プラットフォームの$ORACLE_HOME/binに見つけ出せる。
ORACLE9iデータベースの場合なら、%ORACLE_HOME%/binディクショナリーにbbedがある。Linuxにもあるが、自分で編集する必要がある。

9i/10g bbed:

 

cd $ORACLE_HOME/rdbms/lib
ls -al *bb*
make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
mv bbed $ORACLE_HOME/bin

11gと12.1に10gの五つのファイルが必要としている(bbedzhs.msbは選択可能):

/rdbms/mesg/bbed*
bbedus.msb   bbedus.msg   bbedzhs.msb
 
cp /tmp/lunar/ssbbded.o $ORACLE_HOME/rdbms/lib/
cp /tmp/lunar/sbbdpt.o $ORACLE_HOME/rdbms/lib/
cp /tmp/lunar/bbedus.msg $ORACLE_HOME/rdbms/mesg/
cp /tmp/lunar/bbedus.msb $ORACLE_HOME/rdbms/mesg/
 
cd $ORACLE_HOME/rdbms/lib
ls -al *bb*
make -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed
mv bbed $ORACLE_HOME/bin


BBEDのデフォルトのパスワードは blockedit:

[oracle@lunar ~]$ bbed
Password: blockedit(ディフォルト) 
 
BBED: Release 2.0.0.0.0 - Limited Production on Thu Jan 17 18:32:16 2013
 
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
 
************* !!! For Oracle Internal Use only !!! ***************
 
BBED> 


一般的にはbbedを使っている。これは配置情報をあるバラメタファイルに書き込む。Bbedを使っていると、そのバラメタファイルを指定する。例えば:
v$datafileからfile#,name,bytesを獲得し、filelist.lstを組み立てる。

cat /tmp/lunar/filelist.lst
1 /u01/app/oracle/oradata/dave2/system01.dbf 1761607680
 
cat /tmp/lunar/bbed.par
blocksize=8192
listfile=/tmp/lunar/filelist.lst
mode=edit  
password=blockedit    
spool=yes  
 
[oracle@lunar ~]$bbed parfile=bbed.par
 
BBED: Release 2.0.0.0.0 - Limited Production on Thu Jan 17 18:32:16 2013
 
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
 
************* !!! For Oracle Internal Use only !!! ***************
 
BBED> 


BBEDによく使われるコマンド:
set 既存する環境を設定する
show 既存する環境バラメタを確認する、sqlplusのコマンドに似ている。
dump 列で指定したブロックの内容をリストする
find 指定したブロックで指定した文字列を検索したが、結果に映したのは文字列とそのオフセットであった。オフセットとはブロックのバイト数である。
modify 指定したブロックに指定したオフセットを修正する、オンラインで使える。
copy あるブロックの内容を別のブロックにコピする
verify は既存する環境にベッドブロックがあるかをテストする
sumブロックのchecksumを計算して、modifyしたあとブロックがベッドブロックとマークされた。current checksumとreqired checksumに一致していない、sumコマンドは新たなchecksumを計算して既存するブロックに利用できる。
undo 今の修正操作をロールバックする。誤った場合にundoすればいい。
revert 既存するすべての修正操作をロールバックする。つまり、undo allである
Helpでbbedのコマンド文法を確認できる:

BBED> help all
SET DBA [ dba | file#, block# ]
SET FILENAME 'filename'
SET FILE file#
SET BLOCK [+/-]block#
SET OFFSET [ [+/-]byte offset | symbol | *symbol ]
SET BLOCKSIZE bytes
SET LIST[FILE] 'filename'
SET WIDTH character_count
SET COUNT bytes_to_display
SET IBASE [ HEX | OCT | DEC ]
SET OBASE [ HEX | OCT | DEC ]
SET MODE  [ BROWSE | EDIT ]
SET SPOOL [ Y | N ]
SHOW [  | ALL ]
INFO
MAP[/v] [ DBA | FILENAME | FILE | BLOCK ]
DUMP[/v] [ DBA | FILENAME | FILE | BLOCK | OFFSET | COUNT ]
PRINT[/x|d|u|o|c] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
EXAMINE[/Nuf] [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
:
N - a number which specifies a repeat count.
u - a letter which specifies a unit size:
  b - b1, ub1 (byte)
  h - b2, ub2 (half-word)
  w - b4, ub4(word)
  r - Oracle table/index row
f - a letter which specifies a display format:
  x - hexadecimal
  d - decimal
  u - unsigned decimal
  o - octal
  c - character (native)
  n - Oracle number
  t - Oracle date
  i - Oracle rowid
FIND[/x|d|u|o|c] numeric/character string [ TOP | CURR ]
COPY [ DBA | FILE | FILENAME | BLOCK ] TO [ DBA | FILE | FILENAME | BLOCK ]
MODIFY[/x|d|u|o|c] numeric/character string
      [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
ASSIGN[/x|d|u|o] =
 : [ DBA | FILE | FILENAME | BLOCK | OFFSET | symbol | *symbol ]
 : [ value |  ]
SUM [ DBA | FILE | FILENAME | BLOCK ] [ APPLY ]
PUSH [ DBA | FILE | FILENAME | BLOCK | OFFSET ]
POP [ALL]
REVERT [ DBA | FILE | FILENAME | BLOCK ]
UNDO
HELP [  | ALL ]
VERIFY [ DBA | FILE | FILENAME | BLOCK ]
CORRUPT [ DBA | FILE | FILENAME | BLOCK ]
 
BBED>