10g新特性:rman恢復時候資料檔案的自動建立
Oracle 10g : rman恢復時候資料檔案的自動建立
select name,status from v$datafile;
select * from v$recover_file;
drop tablespace test including contents and datafiles;
drop user test cascade;
create tablespace test datafile 'F:ORACLEPRODUCT10.1.0ORADATATESTtest.dbf' size 10m;
create user test identified by test default tablespace test;
grant dba to test;
conn test/test
create table t1 (n1 number);
insert into t1 values(1);
commit;
alter system switch logfile;
前言
本文透過實驗簡要介紹Oracle10g中rman對丟失檔案的自動處理,避免了以前版本在恢復時手工建立丟失資料檔案的麻煩。
假設對以下場景中丟失的資料檔案進行恢復:
第1,2種恢復均使用以下的測試資料,其中2使用了恢復目錄.
A. 資料庫建立後用rman備份整個資料庫
RMAN> connect target
連線到目標資料庫: TEST (DBID=1838111476)
RMAN> backup database;
啟動 backup 於 19-10月-04
正在使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=135 devtype=DISK
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00001 name=F:ORACLEPRODUCT10.1.0ORADATATESTSYSTEM01.DBF
輸入資料檔案 fno=00003 name=F:ORACLEPRODUCT10.1.0ORADATATESTSYSAUX01.DBF
輸入資料檔案 fno=00002 name=F:ORACLEPRODUCT10.1.0ORADATATESTUNDOTBS01.DBF
輸入資料檔案 fno=00004 name=F:ORACLEPRODUCT10.1.0ORADATATESTUSERS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 19-10月-04
通道 ORA_DISK_1: 已完成段 1 於 19-10月-04
段 handle=D:RMANBACKUPTEST1G2UFR8_1_1 comment=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:01:15
完成 backup 於 19-10月-04
啟動 Control File and SPFILE Autobackup 於 19-10月-04
段 handle=D:RMANBACKUPTESTC-1838111476-20041019-01 comment=NONE
完成 Control File and SPFILE Autobackup 於 19-10月-04
RMAN>
B. 建立新的表空間,並在新的表空間中加入測試資料,歸檔當前日誌
> conn sys/manager@test10g as sysdba
已連線。
> create tablespace test datafile 'F:ORACLEPRODUCT10.1.0ORADATATESTtest.dbf' size 10m;
表空間已建立。
>
> create user test identified by test default tablespace test;
使用者已建立
> grant dba to test;
授權成功。
> @conn test/test@test10g
已連線。
test@GZSERVER> create table t1 (n1 number);
表已建立。
test@GZSERVER> insert into t1 values(1);
已建立 1 行。
test@GZSERVER> commit;
提交完成。
test@GZSERVER>
test@GZSERVER> alter system switch logfile;
系統已更改。
test@GZSERVER> alter system switch logfile;
系統已更改。
C. 刪除新表空間的資料檔案
對第1種情況執行:
test@GZSERVER> alter tablespace test offline immediate;
表空間已更改。
test@GZSERVER>
-- 手工刪除資料檔案
查詢select name,status from v$datafile;看到該資料檔案狀態為RECOVER
F:ORACLEPRODUCT10.1.0ORADATATESTTEST.DBF RECOVER
對第2種情況:
-- 關閉資料庫
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
-- 刪除資料檔案,刪除控制檔案
-- 啟動資料庫
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145488364 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
ORA-00205: error in identifying controlfile, check alert log for more info
SQL> shutdown immedidate;
SP2-0717: illegal SHUTDOWN option
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145488364 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
SQL>
1. 控制檔案沒有丟失
控制檔案儲存有最新的資料庫資訊。
重啟資料庫:
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145488364 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
Database mounted.
Database opened.
-- 用rman進行恢復
RMAN> restore tablespace "TEST";
啟動 restore 於 19-10月-04
使用通道 ORA_DISK_1
建立資料檔案 fno = 5 名稱 = F:ORACLEPRODUCT10.1.0ORADATATESTTEST.DBF
沒有完成恢復; 所有檔案均為只讀或離線檔案或者已經恢復
完成 restore 於 19-10月-04
RMAN> recover tablespace "TEST";
啟動 recover 於 19-10月-04
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌執行緒 1 序列 7 已作為檔案 E:ARCHIVETESTTEST_7_1_539965048.ARC 存在於磁
盤上
存檔日誌執行緒 1 序列 8 已作為檔案 E:ARCHIVETESTTEST_8_1_539965048.ARC 存在於磁
盤上
存檔日誌執行緒 1 序列 9 已作為檔案 E:ARCHIVETESTTEST_9_1_539965048.ARC 存在於磁
盤上
存檔日誌檔名 =E:ARCHIVETESTTEST_7_1_539965048.ARC 執行緒 =1 序列 =7
完成介質的恢復
完成 recover 於 19-10月-04
RMAN>
RMAN> sql 'alter tablespace test online';
sql 語句: alter tablespace test online
RMAN>
-- sqlplus
test@GZSERVER> select *from t1;
N1
----------
1
test@GZSERVER>
成功進行恢復.
2. 當前控制檔案丟失
如果沒有在監聽器中配置資料庫服務會出現如下錯誤:
RMAN> connect target sys/manager@test10g
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
ORA-12528: TNS: 監聽程式: 所有適用的例程都不允許建立新的連線
如果沒有手工配置監聽器中的資料庫服務,連線的時候會出現如下錯誤:
D:oracleproduct10.1.0BIN>rman target sys/manager@test10g catalog imis10g
恢復管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-12528: TNS: 監聽程式: 所有適用的例程都不允許建立新的連線
原因可以從下面資訊中獲得:
服務 "test" 包含 1 個例程。
例程 "test", 狀態 BLOCKED, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已拒絕:0 狀態:ready
LOCAL SERVER
命令執行成功
手工配置監聽重啟監聽器後:
服務 "test" 包含 2 個例程。
例程 "test", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:1 已被拒絕:0
LOCAL SERVER
例程 "test", 狀態 BLOCKED, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已拒絕:0 狀態:ready
LOCAL SERVER
命令執行成功
用rman可以登入到目標資料庫中:
D:oracleproduct10.1.0BIN>rman target sys/manager@test10g catalog imis10g
恢復管理器: 版本10.1.0.2.0 - Production
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-21595/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 10G RMAN恢復新特性
- rman恢復時跳過資料檔案,進行恢復
- rman備份恢復-rman恢復資料檔案測試
- rman恢復資料檔案 恢復表空間
- RMAN恢復案例:丟失全部資料檔案恢復
- RMAN完全恢復丟失的資料檔案
- rman恢復資料檔案-----塊折斷
- 當資料檔案表空間丟失的時候怎麼恢復該資料檔案
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式
- rman恢復的時候可以使用LASTSCNAST
- RMAN恢復 執行重要檔案RMAN恢復
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- RMAN恢復案例:丟失非系統資料檔案恢復
- oracle 10g R2 恢復完資料庫後自動新增臨時表空間資料檔案Oracle 10g資料庫
- 11g rman備份恢復資料檔案datafile到新的位置
- rman 恢復---歸檔丟失and資料檔案損壞
- 誤刪除資料檔案、控制檔案的非RMAN恢復方法
- RMAN恢復 執行不重要檔案的RMAN恢復
- rman恢復--丟失控制檔案的恢復
- rman恢復資料庫--用備份的控制檔案資料庫
- RMAN恢復控制檔案
- RMAN資料庫恢復 之歸檔模式有(無)備份-丟失資料檔案的恢復資料庫模式
- word自動儲存的檔案怎麼恢復,word檔案恢復
- 10G新特性筆記之備份恢復新特性筆記
- 利用rman做資料檔案丟失的恢復實驗
- Oracle 12C新特性-RMAN恢復表Oracle
- 使用rman恢復控制檔案
- ORACLE9I RMAN恢復資料庫後需要手工新增臨時資料檔案Oracle資料庫
- 同時丟失控制檔案與資料檔案的恢復
- 教你自動恢復MySQL資料庫的日誌檔案(binlog)MySql資料庫
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(二)
- RMAN備份恢復之控制檔案的恢復(一)
- RMAN恢復表空間,資料檔案,歸檔檔案,控制檔案等介紹
- RMAN_部分資料檔案丟失或者損壞的恢復
- RMAN - "丟失控制檔案的恢復"
- 控制檔案丟失的RMAN恢復