RAM備份與恢復的實驗
操做系統:WINDOWS2003oracle
ORACLE版本:10Gide
ORACLE_SID:XZOAspa
1、 準備工做
C:\>SQLPLUS /NOLOG線程
SQL>CONNECT / AS SYSDBArest
A:XZOA數據庫:
一、 建立表空間
SQL>CREATE TABLESPACE exoa
DATAFILE 'C:\oracle\product\
SIZE 20M AUTOEXTEND ON NEXT 20M
MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
2、建立用戶
SQL>CREATE USER exoa IDENTIFIED BY exoaexoa
DEFAULT TABLESPACE EXOA
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON EXOA;
3、給用戶受權
SQL>GRANT CONNECT,DBA,RESOURCE,EXP_FULL_DATABASE,IMP_FULL_DATABASE
TO exoa WITH ADMIN OPTION;
SQL>GRANT CREATE ANY INDEX,CREATE ANY TABLE,DELETE ANY TABLE,
CREATE SESSION,CREATE TABLE,CREATE VIEW,UNDER ANY TABLE,
UNLIMITED TABLESPACE TO exoa WITH ADMIN OPTION;
B:RMAN (基於CATALOG)
1、建立表空間
SQL>CREATE TABLESPACE space_for_backup
DATAFILE 'C:\oracle\product\
SIZE 50M;
2、建立用戶
SQL>CREATE USER rman IDENTIFIED BY rman
TEMPORARY TABLESPACE TEMP
DEFAULT TABLESPACE space_for_backup
QUOTA UNLIMITED ON space_for_backup;
3、給用戶受權
SQL>GRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO rman;
4、建立恢復資料數
RMAN>connect catalog rman/rman;登陸到恢復資料數據庫
RMAN>CREATE CATALOG TABLESPACE space_for_backup;建立恢復資料
5、註冊目標數據庫
RMAN>connect catalog rman/rman;
RMAN>connect target /;
RMAN>register database;註冊目標數據庫
RMAN>report schema;查看註冊是否成功
2、備份實例
一、 全庫備份
RMAN>connect catalog rman/rman;
RMAN>connect target /;
RMAN>backup database format 'c:\backup\db0_%s_%p_%t';
啓動 backup 於 18-3月 -11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=133 devtype=DISK
通道 ORA_DISK_1: 啓動所有數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
輸入數據文件
fno=00001 name=C:\ORACLE\PRODUCT\
輸入數據文件
fno=00003 name=C:\ORACLE\PRODUCT\
輸入數據文件
fno=00006 name=C:\ORACLE\PRODUCT\
輸入數據文件
fno=00002 name=C:\ORACLE\PRODUCT\
輸入數據文件
fno=00005 name=C:\ORACLE\PRODUCT\
輸入數據文件
fno=00004 name=C:\ORACLE\PRODUCT\
通道 ORA_DISK_1: 正在啓動段 1 於 18-3月 -11
通道 ORA_DISK_1: 已完成段 1 於 18-3月 -11
段句柄=C:\BACKUP\DB0_1_1_746104945 標記=TAG20110318T112225 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 通過時間:00:00:56
通道 ORA_DISK_1: 啓動所有數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
備份集中包括當前控制文件
在備份集中包含當前的 SPFILE
通道 ORA_DISK_1: 正在啓動段 1 於 18-3月 -11
通道 ORA_DISK_1: 已完成段 1 於 18-3月 -11
段句柄=C:\BACKUP\DB0_2_1_746105001 標記=TAG20110318T112225 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 通過時間:00:00:03
完成 backup 於 18-3月 -11
二、 備份表空間
RMAN>connect catalog rman/rman;
RMAN>connect target /;
RMAN> backup tablespace exoa format 'c:\backup\exoa_%s_%p_%t';
啓動 backup 於 18-3月 -11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啓動所有數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
輸入數據文件
fno=00005 name=C:\ORACLE\PRODUCT\
通道 ORA_DISK_1: 正在啓動段 1 於 18-3月 -11
通道 ORA_DISK_1: 已完成段 1 於 18-3月 -11
段句柄=C:\BACKUP\EXOA_3_1_746105666 標記=TAG20110318T113425 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 通過時間:00:00:01
完成 backup 於 18-3月 -11
3、備份歸檔日誌
RMAN> backup archivelog all format 'c:\backup\archive_%U';
啓動 backup 於 18-3月 -11
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啓動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌線程 =1 序列 =3 記錄 ID=1 時間戳=746105820
通道 ORA_DISK_1: 正在啓動段 1 於 18-3月 -11
通道 ORA_DISK_1: 已完成段 1 於 18-3月 -11
段句柄=C:\BACKUP\ARCHIVE_04M7HAUT_1_1 標記=TAG20110318T113701 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 通過時間:00:00:04
完成 backup 於 18-3月 -11
四、 備份控制文件
RMAN>connect catalog rman/rman;
RMAN>connect target /;
RMAN> backup current controlfile format 'c:\backup\controlfile_%s_%p_%t';
啓動 backup 於 18-3月 -11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啓動所有數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
備份集中包括當前控制文件
通道 ORA_DISK_1: 正在啓動段 1 於 18-3月 -11
通道 ORA_DISK_1: 已完成段 1 於 18-3月 -11
段句柄=C:\BACKUP\CONTROLFILE_6_1_746106132 標記=TAG20110318T114212 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 通過時間:00:00:02
完成 backup 於 18-3月 -11
五、 備份參數文件SPFILE
RMAN>connect catalog rman/rman;
RMAN>connect target /;
RMAN> backup spfile format 'c:\backup\spfile_%s_%p_%t';
啓動 backup 於 18-3月 -11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啓動所有數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
在備份集中包含當前的 SPFILE
通道 ORA_DISK_1: 正在啓動段 1 於 18-3月 -11
通道 ORA_DISK_1: 已完成段 1 於 18-3月 -11
段句柄=C:\BACKUP\SPFILE_7_1_746106297 標記=TAG20110318T114457 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 通過時間:00:00:02
完成 backup 於 18-3月 -11
3、恢復實例
1、恢復數據庫(能夠將數據庫文件所有刪除,模擬數據庫損壞現象)
SQL> connect / as sysdba;
已鏈接到空閒例程。
SQL> startup mount;
ORACLE 例程已經啓動。
Total System Global Area 293601280 bytes
Fixed Size 1248624 bytes
Variable Size 100663952 bytes
Database Buffers 188743680 bytes
Redo Buffers 2945024 bytes
數據庫裝載完畢。
RMAN> connect catalog rman/rman;
RMAN> connect target /;
已鏈接到目標數據庫: XZOA (DBID=2811854429, 未打開)
RMAN> restore database;還原數據庫
啓動 restore 於 18-3月 -11
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
正在略過數據文件 6; 已恢復到文件
C:\ORACLE\PRODUCT\
SPACE_FOR_BACKUP.DBF
通道 ORA_DISK_1: 正在開始恢復數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的數據文件
正將數據文件00001恢復到
C:\ORACLE\PRODUCT\
EM_6R3O30JM_.DBF
正將數據文件00002恢復到
C:\ORACLE\PRODUCT\
TBS1_6R3O30RW_.DBF
正將數據文件00003恢復到
C:\ORACLE\PRODUCT\
UX_6R3O30M1_.DBF
正將數據文件00004恢復到
C:\ORACLE\PRODUCT\
S_6R3O30TV_.DBF
通道 ORA_DISK_1: 正在讀取備份段 C:\BACKUP\DB0_1_1_746104945
通道 ORA_DISK_1: 已恢復備份段 1
段句柄 = C:\BACKUP\DB0_1_1_746104945 標記 = TAG20110318T112225
通道 ORA_DISK_1: 恢復完成, 用時: 00:02:05
通道 ORA_DISK_1: 正在開始恢復數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的數據文件
正將數據文件00005恢復到
C:\ORACLE\PRODUCT\
通道 ORA_DISK_1: 正在讀取備份段 C:\BACKUP\EXOA_3_1_746105666
通道 ORA_DISK_1: 已恢復備份段 1
段句柄 = C:\BACKUP\EXOA_3_1_746105666 標記 = TAG20110318T113425
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:01
完成 restore 於 18-3月 -11
RMAN> recover database;恢復數據庫
啓動 recover 於 18-3月 -11
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:03
完成 recover 於 18-3月 -11
SQL> alter database open;
數據庫已更改。
2、恢復表空間(能夠將表空間文件文件刪除,模擬表空間損壞現象)
SQL> connect / as sysdba
已鏈接到空閒例程。
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 293601280 bytes
Fixed Size 1248624 bytes
Variable Size 104858256 bytes
Database Buffers 184549376 bytes
Redo Buffers 2945024 bytes
數據庫裝載完畢。
ORA-01157: 沒法標識/鎖定數據文件 5 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 5:
'C:\ORACLE\PRODUCT\
RMAN> connect catalog rman/rman;
RMAN> connect target /;
已鏈接到目標數據庫: XZOA (DBID=2811854429, 未打開)
RMAN> run
2> {
3> restore tablespace exoa;
4> switch datafile all;
5> recover tablespace exoa;
6> }
啓動 restore 於 18-3月 -11
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的數據文件
正將數據文件00005恢復到
C:\ORACLE\PRODUCT\
通道 ORA_DISK_1: 正在讀取備份段 C:\BACKUP\EXOA_3_1_746105666
通道 ORA_DISK_1: 已恢復備份段 1
段句柄 = C:\BACKUP\EXOA_3_1_746105666 標記 = TAG20110318T113425
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:01
完成 restore 於 18-3月 -11
啓動 recover 於 18-3月 -11
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:01
完成 recover 於 18-3月 -11
SQL> alter tablespace exoa online;
alter tablespace exoa online
*
第 1 行出現錯誤:
ORA-01109: 數據庫未打開
SQL> alter database open;
數據庫已更改。
SQL> alter tablespace exoa online;
表空間已更改。