由於odu命令比較多,特別是關鍵的unload命令比較複雜,本文將簡單介紹幾種場景下使用odu進行資料恢復時,使用的命令序列。
場景1. 資料庫不能啟動,但是system表空間中的資料字典是完整的。
生成資料字典:unload dict
列出使用者: list user
列出使用者下的所有表: list table username
恢復表: unload table username.tablename
也可以按使用者恢復: unload user username
場景2. 表被truncate。
offline表所在的表空間
生成資料字典:unload dict
顯示表的段頭:desc username.tablename
找到實際的data object id: dump datafile file# block block#
掃瞄資料:scan extent
恢復表:unload table username.tablename object object_id
update:
從3.0.7版本開始,恢復truncate表更方便,只需要執行下面的步驟:
offline表所在的表空間
生成資料字典:unload dict
掃瞄資料:scan extent
恢復表:unload table username.tablename object auto
場景3. 表被drop。
offline表所在的表空間
使用logminer從日誌裡面挖掘被drop掉的表其data object id,如果不能挖掘,按下面的場景4進行恢復。
掃瞄資料:scan extent
如果沒有表結構資訊,需要自動來判斷:unload object data_object_id sample
恢復表:unload object data_object_id column coltype coltype…
場景4. 系統表空間損壞。
掃瞄資料:scan extent
搜尋資料:unload object all sample
從結果檔案sample.txt查詢需要的資料
恢復需要的表:unload object data_object_id column coltype coltype…
場景5. 表中資料被delete。
將引數unload_deleted設定為yes
生成資料字典:unload dict
恢復表: unload table username.tablename
openfire使用oracle資料庫
openfire本身支援oracle資料庫,也提供了相關sql,這裡主要解決的問題是,openfire雖然提供了這些,但是本身沒有提供oracle的jdbc驅動,這是由於oracle的版權問題造成的,解決方法是 d develop workspace idea openfire target ope...
Oracle記憶體資料庫使用
摘要 查詢是否為記憶體表,enabled 記憶體表 disabled 非記憶體表 普通當前使用者執行 t.table name,t.inmemory,t.inmemory priority,t.inmemory distribute,t.t.table name,t.inmemory,t.inmem...
Oracle資料庫基本使用
oracle建立使用者 角色 授權 建表 oracle資料庫的許可權系統分為系統許可權與物件許可權。系統許可權 database system privilege 可以讓使用者執行特定的命令集。例如,create table許可權允許使用者建立表,grant any privilege 許可權允許使...