7 x 24 在线支持!
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>