0
所以我在這裏真的很尷尬的話題。 Oracle服務器10g上的一個表被刪除並重新創建,它不應該是。表格的結構發生了變化,現在我無法將其閃回。轉儲是前一天,但我不確定如何恢復一個表。任何想法如何進行這個話題?表恢復oracle10g
非常感謝。 彼得
所以我在這裏真的很尷尬的話題。 Oracle服務器10g上的一個表被刪除並重新創建,它不應該是。表格的結構發生了變化,現在我無法將其閃回。轉儲是前一天,但我不確定如何恢復一個表。任何想法如何進行這個話題?表恢復oracle10g
非常感謝。 彼得
要恢復已刪除的表(你要麼它應該使用不同的名稱恢復或刪除具有相同的名稱正在恢復的表的表),您可以使用imp
實用程序(例如)和通過指定表名作爲tables
參數(tables=(your_table_name)
)的值指定的轉儲文件(在這種情況下,您必須刪除已存在的具有相同名稱表的模式,或將表導入不同的模式)。 ,或者如果啓用recycle bin
選項,則可以使用flashback
語句恢復表。 這裏是恢復使用flashback
語句表的例子:
SQL> drop table tb_test;
Table dropped
SQL> drop table tb_test1;
Table dropped
SQL> show parameter recyclebin;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
recyclebin string on
SQL> create table tb_test(id number);
Table created
SQL> insert into tb_test(id) values(123);
1 row inserted
SQL> commit;
Commit complete
SQL> select object_name, original_name, operation from recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION
------------------------------------------------------------------------------
BIN$sCyDUbMsQ9qOotUQZUTt9g==$0 TB_TEST1 DROP
BIN$uVD0HKOsQv26JTT3Q0PuOg==$0 TB_TEST DROP
SQL> purge recyclebin;
Done
SQL> select object_name, original_name, operation from recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION
------------------------------------------------------------------------------
SQL> drop table tb_test;
Table dropped
SQL> select object_name, original_name, operation from recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION
------------------------------------------------------------------------------
BIN$+shfpD3rQKy/ry5LKtkJaw==$0 TB_TEST DROP
SQL> create table tb_test(id number, col1 varchar2(11));
Table created
SQL> insert into tb_test(id, col1) values(11, 'string');
1 row inserted
SQL> commit;
Commit complete
SQL> flashback table tb_test to before drop;
flashback table tb_test to before drop
ORA-38312: original name is used by an existing object
SQL> flashback table tb_test to before drop rename to tb_test1;
Done
SQL> select * from tb_test1;
ID
----------
123
SQL> select * from tb_test;
ID COL1
---------- -----------
11 string
SQL>
這是一個商業數據庫?如果是這樣,你不能從磁帶恢復,並使用事務日誌前滾到表被刪除之前的一個點? – w0051977
是的,這是紀錄分貝。即使我不是數據庫管理員,所以實際上我不知道有什麼可能恢復它。 – user1275513
這個問題太含糊。數據庫是否備份?例如使用網絡備份? – w0051977