tablespace point in time recover (tpitr)
基於表空間的時間點恢復:
適用環境:7×24的系統出現表被丟棄的現象,可以在不影響系統正常執行的情況下對此表空間上的表恢復到刪除之前。
要求:1,版本要8i或者以上 2, 此表空間必須是自包含的 3,資料庫執行在歸檔模式下
假設:表被誤刪除,客戶要求在不影響現有應用的情況下恢復此表,此表所在的表空間可以離線。
步驟:做clone資料庫
1,客戶反映表被誤刪除,表空間假設為test,則 sql>alter tablespace test offline immediate;(這點很重要)
2,sql>alter database backup controlfile to 'e:oradatabackupctl.ctl';
3,複製系統資料檔案,test表空間的資料檔案,init引數,相應的歸檔日誌,聯機日誌,還有2中的備份控制檔案 到另一環境下;
4,修改init引數
首先修改控制檔案,將控制檔案修改成我們備份的backupctl.ctl,必須是備份控制檔案。如果用非backup命令產生的控制檔案在mount的時候將報控制檔案為非clone控制檔案。
加入以下三行:
db_file_name_convert = 'd:oracleoradatastudy','e:oradatastudy' (將以前的資料檔案路徑修改成目前的新環境的路徑)
log_file_name_convert ='d:oracleoradatastudy,'e:oradatastudy' (同上)
lock_name_space=CLONE (此引數允許如果例項名和先前的資料庫的例項名不同的話,仍可以開啟資料庫)
以上引數db_file_name_convert log_file_name_convert 如果不加的話,在mount資料庫的時候要手動講路徑都rename一遍;lock_name_space=CLONE此引數不加的話,在開啟資料庫的時候會報無法用exclusive模式開啟資料庫的錯誤。
5,用指定init啟動到nomount ,sql>startup nomount pfile=e:oradatainit.ora
6,mount, sql>alter database mount clone database 這裡和正常的mount有些區別,這裡的資料檔案這時的狀態都是offline的,正常的mount都是online的。
7,將系統表空間system,臨時表空間temp,需要恢復的表空間test的資料檔案online,如果你曾經建立了自己的臨時表空間建議先刪除,實驗中發現建立的臨時表空間時如果用的是臨時檔案在後面exp的時候會報錯,可以先刪除這樣的臨時表空間然後繼續。
8,恢復到表被刪除的時間點,sql>alter database recover until time '2004-03-23:22:22:12';這期間可能可能要把聯機日誌應用一遍。
9,將聯機日誌rename到目前新環境下的路徑。open,sql>alter database open resetlogs;
10,校驗表空間的自包含性,sql>exec dbms_tts.transport_set_check('TEST',TRUE);
然後sql >select * from ts_pitr_check where ts1_name='TEST';如果沒有返回行證明是自包含的(對於非自包含的沒有去實驗,以後補上);
11,cmd>exp 'sys/oracle as sysdba' point_in_time_recover=y tablespaces=test file=e:tspitr.dmp log=e:tspitr.log
12,連線到生產庫上sql>alter tablespace test offline for recover;
13,cmd>imp 'sys/oracle as sysdba' point_in_time_recovery=y file=e:tspitr.dmp
14,sql>alter tablespace test online;
測試資料,完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84985/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN: Tablespace Point In Time Recovery (TSPITR)
- Enhanced Tablespace Point-In-Time Recovery (TSPITR)
- Performing Tablespace Point-in-Time Recovery with Recovery Manager(轉)ORM
- 冷備手工完全恢復(recover database,recover tablespace,recover datafile)Database
- Oracle OCP IZ0-053 Q365(tablespace point-in-time recovery)Oracle
- Oracle OCP 1Z0 053 Q359(Point-in-time tablespace recovery)Oracle
- Oracle OCP 1Z0-053 Q513(how to perform tablespace point-in-time recovery)OracleORM
- recover database until timeDatabase
- recover database delete archivelogs skip tablespace temp;報錯DatabasedeleteHive
- recover database skip [forever] tablespace XXX 的用法介紹Database
- ORA-39322: Cannot use transportable tablespace with timestamp with timezone...
- Oracle OCP 1Z0 053 Q570( point-in-time recovery)Oracle
- RESTORE POINTREST
- cron with recover
- recover database until cancel和 recover database區別Database
- tablespace 大檔案,undo,temp tablespace
- JavaScript some pointJavaScript
- Recover_DatabaseDatabase
- rman recover databaseDatabase
- study critical point and saddle point using Hessian Matrix
- db2 sms tablespace 不支援large tablespaceDB2
- panic/recover工作原理
- oracle recover 原理概括Oracle
- Tablespace Space Script
- remap_tablespaceREM
- The SYSAUX Tablespace (40)UX
- mysql point in time recovery using sql_thread SQL_Thread增量恢復binlog 要點MySqlthread
- Windows Embedded for Point of Service概述Windows
- recover database using backup controlfile與 recover database 的區別Database
- 【譯】defer-panic-and-recover
- restore和recover 區別REST
- restore,recover的區別REST
- [Oracle] 檢視tablespace的使用率(Including temp tablespace)Oracle
- Master Note for Tablespace IssuesAST
- TRANSPORT TABLESPACE總結
- Tablespace Repository (60)
- Windows Embedded for Point of Service 益處Windows
- 收藏What’s the Point of Oracle Checkpoints?Oracle