oracle資料庫不完全恢復
一個表的資料被刪掉,不清楚具體時間,得恢復到幾天前的資料,準備恢復26號的全備。
1、用spfile啟動資料庫到nomount狀態。
2、恢復一個全備之後不久的控制檔案出來,啟動到mount狀態
3、restore database
4、recover database
5、alter database open resetlogs;
恢復指令碼1:
RUN {
ALLOCATE CHANNEL t1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL t2 TYPE 'SBT_TAPE';
set until time "to_date('2012-10-26 15:31:00','YYYY-MM-DD HH24:MI:SS')";
set newname for datafile 1 to '+ASMDATADG/test/DATAFILE/testsystem';
set newname for datafile 2 to '+ASMDATADG/test/DATAFILE/testundo1_01';
set newname for tempfile 1 to '+ASMDATADG/test/DATAFILE/temp1';
set newname for tempfile 2 to '+ASMDATADG/test/DATAFILE/temp2';
restore datafile 1,3,10,12,17,19,243,193,206,207,208,209,204,214,259,230,110,88,118,150,158,171,192,153,183,237,240,241,254,252,270,275,305,121,267,276,263,311,352,378,379,132,392,403,406,408,409,410,414,418,421,428,431;
switch datafile all;
switch tempfile all;
release channel t1;
release channel t2;
}
或者:restore database skip forever tablespace DATA_TISMONI,DAT_CRMDEP_WH,LOB_CRM_DEP_N1_HIST,USERS,DAT_CRM_IVPN,IDX_CRM_IVPN_HOT,LOB_CRM_DEP_N1,LOB_CRM_DEP_N2,DAT_CRM_LOG,DAT_CRM_DEP_N2_HOT,IDX_CRM_DEP_N4_HOT,LOB_CRM_DEP_N4,DAT_CRM_CONF,IDX_CRM_DEP,DAT_CRM_DEP_N3_HOT,DAT_CRM_DEP_N4_HOT,LOB_CRM_IVPN,DAT_CRM_DEP,IDX_CRM_DEP_N1_HIST,DAT_CRM_BAP,DAT_CRM_CONF_HIST,IDX_CRM_CONF,DAT_CRM_IVPN_HOT,IDX_CRM_IVPN,DAT_CRM_DEP_N1_HOT,LOB_CRM_DEP_N3;
修改不需要恢復的資料檔案為offline:
select 'alter database datafile '''||file_id||''' offline;' from dba_data_files where TABLESPACE_NAME not in('SYSTEM','UNDOTBS1','SYSAUX','UNDOTBS2','DAT_CRM_IVPN');
recover指令碼:
RUN {
ALLOCATE CHANNEL t1 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL t2 TYPE 'SBT_TAPE';
set until time "to_date('2012-10-26 15:31:00','YYYY-MM-DD HH24:MI:SS')";
recover database skip forever tablespace DATA_TISMONI,DAT_CRMDEP_WH,LOB_CRM_DEP_N1_HIST,USERS,DAT_CRM_IVPN,IDX_CRM_IVPN_HOT,LOB_CRM_DEP_N1,LOB_CRM_DEP_N2,DAT_CRM_LOG,DAT_CRM_DEP_N2_HOT,IDX_CRM_DEP_N4_HOT,LOB_CRM_DEP_N4,DAT_CRM_CONF,IDX_CRM_DEP,DAT_CRM_DEP_N3_HOT,DAT_CRM_DEP_N4_HOT,LOB_CRM_IVPN,DAT_CRM_DEP,IDX_CRM_DEP_N1_HIST,DAT_CRM_BAP,DAT_CRM_CONF_HIST,IDX_CRM_CONF,DAT_CRM_IVPN_HOT,IDX_CRM_IVPN,DAT_CRM_DEP_N1_HOT,LOB_CRM_DEP_N3;
release channel t1;
release channel t2;
}
修改redologfile到新路徑
alter database rename file '/dev/rcrmdepredo02a' to '+ASMDATADG/crmdep/onlinelog/group_02a';
alter database open resetlogs;之後發現需要的表空間資料檔案全部offline的,open之前記得的時候檢查一下需要的資料檔案狀態
SQL> alter database datafile 431 online;
alter database datafile 431 online
*
ERROR at line 1:
ORA-01190: control file or data file 431 is from before the last RESETLOGS
ORA-01110: data file 431: '+ASMDATADG/test/datafile/testd0412'
設定引數
_allow_resetlogs_corruption=TRUE
調整scn號,啟動到mount狀態下執行
ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME ADJUST_SCN LEVEL 1';
再恢復一下
RECOVER UNTIL CANCEL;
auto
把資料庫檔案聯機:
alter database datafile 392 online;
.
.
然後再
alter database open resetlogs;成功
查詢資料,已經出來
SQL> select /*+FULL(a)*/ count(*) from crm_ivpn_inst.tb_cm_vpn_member_num a;
COUNT(*)
----------
7685202
附:
1、關於_allow_resetlogs_corruption
2、關於ADJUST_SCN
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22531473/viewspace-749506/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何進行Oracle資料庫不完全恢復RBOracle資料庫
- ORACLE資料庫基於時間點的不完全恢復Oracle資料庫
- Oracle 不完全恢復Oracle
- BBED 修改oracle 資料檔案的 SCN 號來做資料庫不完全恢復。Oracle資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【資料庫資料恢復】Oracle資料庫誤truncate table的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】誤truncate table的Oracle資料庫資料恢復方案資料庫資料恢復Oracle
- 【資料庫資料恢復】oracle資料庫誤truncate table怎麼恢復資料?資料庫資料恢復Oracle
- Oracle資料庫恢復之resetlogsOracle資料庫
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- 【資料庫資料恢復】ASM磁碟組掉線的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- Oracle資料庫冷備和恢復Oracle資料庫
- Oracle & MySQL & PostgreSQL資料庫恢復支援OracleMySql資料庫
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 資料庫資料恢復-oracle資料庫報錯無法開啟的如何恢復資料?資料庫資料恢復Oracle
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- 【資料庫資料恢復】斷電導致Oracle資料庫資料丟失的資料恢復案例資料庫資料恢復Oracle
- [Oracle]Oracle資料庫資料被修改或者刪除恢復資料Oracle資料庫
- 【資料庫資料恢復】ORACLE常見資料災難&資料恢復可能性資料庫資料恢復Oracle
- 【北亞資料恢復】異常斷電導致Oracle資料庫報錯的oracle資料恢復資料恢復Oracle資料庫
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- 【資料庫資料恢復】HP-UX系統ORACLE資料庫被誤刪除的資料恢復資料庫資料恢復UXOracle
- 【資料庫資料恢復】Oracle資料庫檔案出現壞塊報錯的資料恢復案例資料庫資料恢復Oracle
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 【北亞資料恢復】oracle資料庫執行truncate table命令怎麼恢復資料?資料恢復Oracle資料庫
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- PG 資料庫的 表的不完全恢復的簡易方法資料庫
- 資料庫資料恢復-ORACLE資料庫的常見故障&各種故障下的資料恢復可能性資料庫資料恢復Oracle
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 資料庫修復資料恢復資料庫資料恢復
- 恢復Oracle資料庫誤刪除資料的語句Oracle資料庫
- PostgreSQL從入門到精通 - 第40講:資料庫不完全恢復SQL資料庫
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- Oracle恢復誤刪資料Oracle
- 伺服器資料恢復-ext3檔案系統下oracle資料庫資料恢復案例伺服器資料恢復Oracle資料庫
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- 非常實用的Oracle資料庫資料恢復方法案例Oracle資料庫資料恢復