非常規應用 bbed介紹

2021-08-27 14:34:34 字數 1330 閱讀 2635

bbed安裝

cd $oracle_home/rdbms/lib

make -f ins_rdbms.mk $oracle_home/rdbms/lib/bbed

也可通過以下命令將bbed生成到$oracle_home/bin目錄

make -f ins_rdbms.mk bbed=$oracle_home/bin/bbed $oracle_home/bin/bbed

在11g中生成bbed,需要先從10g中複製如下檔案到相應目錄,然後再執行上述連線命令:

$oracle_home/rdbms/lib/ssbbded.o

$oracle_home/rdbms/lib/sbbdpt.o

$oracle_home/rdbms/mesg/bbedus.msb

bbed設定了口令保護,密碼為blockedit。

bbed執行需要設定兩個引數檔案,乙個是引數檔案,乙個是data檔案

data檔案可以使用:

select file#||' '||name||' '||bytes from v$datafile ;生成檔案

引數檔案一般:

blocksize=8192

listfile=指定data檔案

mode=edit

啟動:bbed parfile=引數檔案

常用指令:

set 設定當前的環境

show 檢視當前的環境引數,跟sqlplus的同名命令類似。

dump 列出指定block的內容

find 在指定的block中查詢指定的字串,結果是顯示出字串,及其偏移量--offset,偏移量就是在block中的位元組數

copy 把乙個block的內容copy到另乙個block中

verify 檢查當前環境是否有壞塊

sum 計算block的checksum,modify之後block就被標識為壞塊,current checksum與reqired checksum不一致,sum命令可以計算出新的checksum並應用到當前塊。

undo 回滾當前的修改操作,如果手誤做錯了,undo一下就ok了,回到原來的狀態。

revert 回滾所有之前的修改操作,意思就是 undo all

獲得資料的檔案號,塊號

select dbms_rowid.rowid_relative_fno(rowid) rel_fno,

dbms_rowid.rowid_block_number(rowid) blockno,

dbms_rowid.rowid_row_number(rowid) rowno,a,b

from test;

注意bbed修改的資料,oracle不支援服務

程式設計的非常規總結

1 將問題簡化,從比較簡單的情況開始分析,比如1個元素情況,2個元素情況,3個元素情況,不斷增加,尋找規律,這樣有利於發現規律,從而解決問題,並且也有利於處理邊界情況。比如程式設計之美1.11 又如送貨站選址問題 1的個數問題等都可一通過逐漸的分析加以解決 2 從比較簡單的例子,模擬程式執行過程,比...

Ubuntu非常規命令tips

最後利用 update rc.d 命令更新系統啟動項 如 sudo update rc.d disable transparent hugepages defaults p.s.disable transparent hugepages在文末 update alternatives display ...

1687 陣列操作(非常規思維)

1687 陣列操作 time limit 1 sec memory limit 128 mb submit status web board description 給你乙個初始的長度為n的陣列。1 n 105 有兩個操作 op1 l,r 給兩個整數l和r 1 l r 當前陣列長度 你需要計算陣列從...