使用RMAN備份集和過時的控制檔案進行資料庫的恢復(2/2)
3.2.12 查詢最新的資料庫SCN號
然後我們查詢一下最新的資料庫的SCN 和資料檔案的SCN,都是最新的SCN,而且具有相同值。
SQL> select ts#,file#,name,checkpoint_change#,sysdate from v$datafile order by ts#,file#
FILE# NAME CHECKPOINT_CHANGE# SYSDATE
---------- ------------------------------ ------------------ -------------------
1 C:ORADATAAIDUSYSTEM01.DBF 1224188 2006-06-23 16:18:46
2 C:ORADATAAIDUUNDOTBS01.DBF 1224188 2006-06-23 16:18:46
3 C:ORADATAAIDUSYSAUX01.DBF 1224188 2006-06-23 16:18:46
4 C:ORADATAAIDUUSERS01.DBF 1224188 2006-06-23 16:18:46
SQL> select sysdate,dbid,db_unique_name,checkpoint_change# from v$database;
DBID DB_UNIQUE_NAME CHECKPOINT_CHANGE#
------------------- ---------- ------------------------------ ------------------
2006-06-23 16:31:40 451307475 aidu 1224188
我們看到RMAN 全備份前,後的資料都成功的恢復,試驗是成功的.
3.2.13 手工維護臨時表空間
檢視是否已經存在臨時表空間
[@more@]SQL> select tablespace_name,status,contents from dba_tablespaces;
TABLESPACE_NAME STATUS CONTENTS
------------------------------ --------- ---------
SYSTEM ONLINE PERMANENT
UNDOTBS1 ONLINE UNDO
SYSAUX ONLINE PERMANENT
TEMP ONLINE TEMPORARY
USERS ONLINE PERMANENT
不同版本的ORACLE在處理TEMP 表空間有不同的方法,10.2以後,系統發現不存在臨時表空間,將會自動建立,但不自動為臨時表空間設定檔案,需要手工增加;如果為臨時表空間增加了臨時檔案(TEMPFILE),如果使用者不小心刪除了臨時表空間的檔案,資料庫將在重新啟動時自動按照資料字典定義,自動生成新的控制檔案(刪除幾個,就自動生成幾個)。
為臨時表空間增加臨時檔案
SQL>ALTER TABLESPACE TEMP ADD TEMPFILE 'C:oradataaiduTEMP01.DBF' SIZE 20M;
舊版本中手工增加臨時表空間
SQL>CREATE TEMPORARY TABLESPACE TEMP TEMPFILE ‘C:ORADATAAIDUTEMP01.DBF’ SIZE 20M;
SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;
- 試驗總結
- 儘量使用RMAN進行資料庫備份,同時開啟控制檔案的自動備份。
- RMAN備份集應該同時儲存到不同的儲存介質上。
- 本次試驗幸運的是有一箇舊的控制檔案,可以用於RMAN恢復檔案、SQLPLUS重新建立控制檔案。如果沒有的話或者舊的控制檔案備份後資料庫的結構發生了變化,將只能夠透過修改生成控制檔案的模板來建立新的控制檔案,如果對資料庫的結構不熟悉,將會給恢復工作帶來很大的困難,所以強烈建議當資料庫結構發生改變時,應及時備份控制檔案。
- 本次試驗沒有檢驗REDO 資料的丟失,應該可以加進來測試一下。
- 本試驗可以作為只有RMAN備份集,資料庫的檔案全部丟失(包括控制檔案)的情況下進行資料庫的恢復工作的指導,恢復的關鍵是要將RMAN與SQLPLUS組合起來進行恢復,有比較大的難度,需要操作者具有一定的資料庫知識,並對資料庫的結構有較清楚的理解。
- 附件:C:TEMPCREATE_CONTROLFILE.TXT:
CREATE CONTROLFILE REUSE DATABASE "AIDU" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 (
'C:ORADATAAIDUREDO01.LOG',
'C:ORADATAAIDUREDO01B.LOG'
) SIZE 10M,
GROUP 2 (
'C:ORADATAAIDUREDO02.ORA',
'C:ORADATAAIDUREDO02B.ORA'
) SIZE 10M,
GROUP 3 (
'C:ORADATAAIDUREDO03.LOG',
'C:ORADATAAIDUREDO03B.LOG'
) SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'C:ORADATAAIDUSYSTEM01.DBF',
'C:ORADATAAIDUUNDOTBS01.DBF',
'C:ORADATAAIDUSYSAUX01.DBF',
'C:ORADATAAIDUUSERS01.DBF'
CHARACTER SET ZHS16GBK;
備註:
如果REDO LOG檔案存在,則使用NORESETLOGS。
如果REDO LOG檔案不存在,則使用RESETLOGS,建立控制檔案時,不檢查REDO LOG 檔案是否存在。在資料庫開啟時,自動生成全新的空的REDO LOG檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/32980/viewspace-1038631/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12 使用RMAN備份和恢復檔案
- RMAN備份恢復典型案例——資料檔案存在壞快
- RMAN備份恢復典型案例——資料庫卡頓資料庫
- PostgreSql資料庫的備份和恢復SQL資料庫
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- 使用RMAN備份資料庫資料庫
- ORACLE DG從庫 Rman備份恢復Oracle
- dg丟失歸檔,使用rman增量備份恢復
- rman 增量備份恢復
- RMAN備份恢復技巧
- SQL Server中使用臨時表進行資料備份與恢復SQLServer
- DATA GUARD主庫丟失資料檔案的恢復(2)
- 【備份】RMAN中對控制檔案的幾種備份方法
- 時序資料庫InfluxDB之備份和恢復策略資料庫UX
- 時序資料庫 InfluxDB 之備份和恢復策略資料庫UX
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 資料庫備份恢復資料庫
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- Mongo 資料庫備份和恢復命令Go資料庫
- gitlab的資料備份和恢復Gitlab
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- SqlServer資料庫恢復備份資料的方法SQLServer資料庫
- rman恢復控制檔案的一個小錯誤
- RMAN備份異機恢復
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 如何在HarmonyOS對資料庫進行備份,恢復與加密資料庫加密
- 備份與恢復:Polardb資料庫資料基於時間點恢復資料庫
- 檔案的基本管理和XFS檔案系統備份恢復
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- mysqldump使用方法(MySQL資料庫的備份與恢復)MySql資料庫
- db2 命令列備份和恢復DB2命令列
- mongdb遭遇勒索,用備份進行資料恢復資料恢復
- RMAN備份恢復效能優化優化
- RMAN備份與恢復測試
- Mysql資料庫備份及恢復MySql資料庫
- 達夢資料庫備份恢復資料庫