系统环境:windows2003,oracle 10.1.0.2.0
利用dbms_resotre_backup包和rman来恢复丢失全部数据文件和控制文件的数据库,前提是rman做过一次数据库的全部备份
一、ORACLE数据库RMAN备份脚本设置
orafull.txt内容如下
run {
allocate channel dev1 type disk;
backup full tag 'dbfull' format 'e:\rmanbak\full%u_%p_%c' database;
sql 'alter system archive log current';
backup filesperset 3 archivelog all delete all input format 'e:\rmanbak\fullarc%u_%p_%c';
release channel dev1;
delete noprompt obsolete;
}
orafullbak.bat内容如下
copy outputfull1.log outputfull2.log
copy outputfull.log outputfull1.log
rman target cmdfile orafull.txt log outputfull.log
然后将这两个文件同时放在c:\rman目录下,该目录需要创建
二、在e盘创建一个用于备份的目录rmanbak,这个其实已经是上面的orafull.txt里进行了指定
三、RMAN备份设置
1、将数据库修改归档模式
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 12月 3 15:28:54 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn / as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
数据库装载完毕。
SQL>
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 4
当前日志序列 6
SQL> alter database archivelog;
数据库已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 4
下一个存档日志序列 6
当前日志序列 6
SQL>
SQL> alter database open;
数据库已更改。
SQL> show parameter db;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size big integer 0
db_2k_cache_size big integer 0
db_32k_cache_size big integer 0
db_4k_cache_size big integer 0
db_8k_cache_size big integer 0
db_block_buffers integer 0
db_block_checking boolean FALSE
db_block_checksum boolean TRUE
db_block_size integer 8192
db_cache_advice string ON
db_cache_size big integer 24M
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
db_domain string
db_file_multiblock_read_count integer 16
db_file_name_convert string
db_files integer 200
db_flashback_retention_target integer 1440
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_keep_cache_size big integer 0
db_name string fygl
db_recovery_file_dest string E:\oracle\product\10.1.0\flash
_recovery_area
db_recovery_file_dest_size big integer 2G
db_recycle_cache_size big integer 0
db_unique_name string fygl
db_writer_processes integer 1
dbwr_io_slaves integer 0
rdbms_server_dn string
standby_archive_dest string %ORACLE_HOME%\RDBMS
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string MANUAL
2、修改系统设置数据归档文件恢复目录大小为50G
SQL> alter system set db_recovery_file_dest_size=50G;
3、修改rman参数
C:\Documents and Settings\Administrator>rman target /
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到目标数据库: FYGL (DBID=2271670400)
RMAN> show all;
正在使用目标数据库控制文件替代恢复目录
RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # defau
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'E:\ORACLE\PRODUCT\10.1.0\DB_1\DATABAS
NCFFYGL.ORA'; # default
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
新的 RMAN 配置参数:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
已成功存储新的 RMAN 配置参数
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
新的 RMAN 配置参数:
CONFIGURE BACKUP OPTIMIZATION ON;
已成功存储新的 RMAN 配置参数
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
新的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功存储新的 RMAN 配置参数
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'E:\rmanbak\cf_%F';
新的 RMAN 配置参数:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'E:\rmanbak\cf_%F';
已成功存储新的 RMAN 配置参数
四、执行orafullbak.bat文件进行一次数据库的全备份
1、执行前查看rmanbak目录下没有任何数据
E:\rmanbak>dir
驱动器 E 中的卷没有标签。
卷的序列号是 CCFE-C8BC
E:\rmanbak 的目录
2009-12-18 09:27
.
2009-12-18 09:27 ..
0 个文件 0 字节
2 个目录 3,681,628,160 可用字节
2、执行后查看rmanbak目录下的数据如下
E:\rmanbak>dir
驱动器 E 中的卷没有标签。
卷的序列号是 CCFE-C8BC
E:\rmanbak 的目录
2009-12-18 09:31
.
2009-12-18 09:31 ..
2009-12-18 09:31 2,981,888 CF_C-2272174101-20091218-00
2009-12-18 09:31 2,981,888 CF_C-2272174101-20091218-01
2009-12-18 09:30 508,747,776 FULL0RL17147_1_1
2009-12-18 09:31 25,707,520 FULLARC0TL1716V_1_1
2009-12-18 09:31 20,037,632 FULLARC0UL17173_1_1
2009-12-18 09:31 4,792,832 FULLARC0VL17176_1_1
2009-12-18 09:31 1,051,136 FULLARC10L17178_1_1
7 个文件 566,300,672 字节
2 个目录 3,163,332,608 可用字节
五、模拟丢失控制文件,数据文件的恢复
1、将数据库先停掉shutdown immediate
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 12月 18 09:34:46 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn /as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
2、先查看控制文件和带.dbf后缀的文件是存在的
SQL> host dir E:\oracle\product\10.1.0\oradata\fygl
驱动器 E 中的卷没有标签。
卷的序列号是 CCFE-C8BC
E:\oracle\product\10.1.0\oradata\fygl 的目录
2009-12-17 20:41
.
2009-12-17 20:41 ..
2009-12-18 09:36 104,865,792 CATALOGTBS.DBF
2009-12-18 09:36 2,899,968 CONTROL01.CTL
2009-12-18 09:36 2,899,968 CONTROL02.CTL
2009-12-18 09:36 2,899,968 CONTROL03.CTL
2009-12-18 09:36 209,723,392 FYGL.DBF
2009-12-18 09:36 10,486,272 REDO01.LOG
2009-12-18 09:36 10,486,272 REDO02.LOG
2009-12-18 09:36 10,486,272 REDO03.LOG
2009-12-18 09:36 241,180,672 SYSAUX01.DBF
2009-12-18 09:36 471,867,392 SYSTEM01.DBF
2009-12-18 09:36 31,465,472 UNDOTBS01.DBF
2009-12-18 09:36 5,251,072 USERS01.DBF
12 个文件 1,104,512,512 字节
2 个目录 3,163,242,496 可用字节
3、手动将3个控制文件和带dbf后缀文件全部删除后再来查看
SQL> host dir E:\oracle\product\10.1.0\oradata\fygl
驱动器 E 中的卷没有标签。
卷的序列号是 CCFE-C8BC
E:\oracle\product\10.1.0\oradata\fygl 的目录
2009-12-18 09:42
.
2009-12-18 09:42 ..
2009-12-18 09:36 10,486,272 REDO01.LOG
2009-12-18 09:36 10,486,272 REDO02.LOG
2009-12-18 09:36 10,486,272 REDO03.LOG
3 个文件 31,458,816 字节
2 个目录 3,162,857,472 可用字节
4、按如下操作来恢复控制文件和数据文件
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 12月 18 09:43:14 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn /as sysdba;
已连接到空闲例程。
----现在发现由于丢失了上面的文件,导致只能连接到空闲进程
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
ORA-00205: ?????????, ??????, ???????
----正常启动发现有报错信息,说明无法正常启动
先来查看一下之前备份生成的文件,记住下面的CF_C-2272174101-20091218-01控制文件
备份信息
SQL> host dir E:\rmanbak
驱动器 E 中的卷没有标签。
卷的序列号是 CCFE-C8BC
E:\rmanbak 的目录
2009-12-18 09:31
.
2009-12-18 09:31 ..
2009-12-18 09:31 2,981,888 CF_C-2272174101-20091218-00 ---控制文件备份
2009-12-18 09:31 2,981,888 CF_C-2272174101-20091218-01
2009-12-18 09:30 508,747,776 FULL0RL17147_1_1 ---数据库备份
2009-12-18 09:31 25,707,520 FULLARC0TL1716V_1_1 ---归档文件备份
2009-12-18 09:31 20,037,632 FULLARC0UL17173_1_1
2009-12-18 09:31 4,792,832 FULLARC0VL17176_1_1
2009-12-18 09:31 1,051,136 FULLARC10L17178_1_1
7 个文件 566,300,672 字节
2 个目录 3,162,603,520 可用字节
开始恢复
强制启动数据库,但不装载
SQL> startup force nomount;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
用dbms_backup_restore提取备份集的数据文件
SQL> declare
2 devtype varchar2(256);
3 done boolean;
4 begin
5 devtype:=sys.dbms_backup_restore.deviceAllocate(type=>'',ident=>'T1');
6 sys.dbms_backup_restore.restoreSetDatafile;
7 sys.dbms_backup_restore.restoreControlfileTo(cfname=>'E:\oracle\product\10.1.0\oradata\fygl\Control01.ctl');
8 sys.dbms_backup_restore.restoreBackupPiece(done=>done,handle=>'E:\rmanbak\CF_C-2272174101-20091218-01', params=>null);
9 sys.dbms_backup_restore.deviceDeallocate;
10 end;
11 /
PL/SQL 过程已成功完成。
然后查看会发现第一个控制文件已经被恢复
E:\oracle\product\10.1.0\oradata\fygl 的目录
2009-12-18 10:36
.
2009-12-18 10:36 ..
2009-12-18 10:36 2,899,968 CONTROL01.CTL
2009-12-18 09:36 10,486,272 REDO01.LOG
2009-12-18 09:36 10,486,272 REDO02.LOG
2009-12-18 09:36 10,486,272 REDO03.LOG
4 个文件 34,358,784 字节
2 个目录 3,157,622,784 可用字节
依次复制其他两个控制文件步骤如下
SQL> host copy E:\oracle\product\10.1.0\oradata\fygl\CONTROL01.CTL E:\oracle\product\10.1.0\oradata\fygl\CONTROL02.CTL
已复制 1 个文件。
SQL> host copy E:\oracle\product\10.1.0\oradata\fygl\CONTROL01.CTL E:\oracle\product\10.1.0\oradata\fygl\CONTROL03.CTL
已复制 1 个文件。
SQL> quit
从 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
六、利用rman来恢复下面的所有数据,因为此前已经用rman进行过全备份
C:\Documents and Settings\Administrator>rman target /
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到目标数据库: fygl (未装载)
RMAN> list backup;
正在使用目标数据库控制文件替代恢复目录
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 12/17/2009 20:39:43
ORA-01507: 未装载数据库
RMAN> alter database mount;
数据库已装载
RMAN>list backup;
...........
...........
2 Full 2M DISK 00:00:01 09-12月-09
BP 关键字: 2 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T155821
段名:E:\RMANBAK\CF_C-2272174101-20091209-01
控制文件包括: Ckp SCN: 393607 Ckp 时间:09-12月-09
包含的 SPFILE: 修改时间: 09-12月-09
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3 Full 2M DISK 00:00:01 09-12月-09
BP 关键字: 3 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T160300
段名:E:\RMANBAK\CF_C-2272174101-20091209-02
控制文件包括: Ckp SCN: 393965 Ckp 时间:09-12月-09
包含的 SPFILE: 修改时间: 09-12月-09
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
4 Full 461M DISK 00:01:01 09-12月-09
BP 关键字: 4 状态: AVAILABLE 已压缩: NO 标记: DBFULL
段名:E:\RMANBAK\FULL04L0G0VN_1_1
备份集 4 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 394107 09-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\SY
M01.DBF
2 Full 394107 09-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\UN
BS01.DBF
3 Full 394107 09-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\SY
X01.DBF
4 Full 394107 09-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\US
01.DBF
5 Full 394107 09-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\FY
DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
5 Full 2M DISK 00:00:01 09-12月-09
BP 关键字: 5 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T160720
段名:E:\RMANBAK\CF_C-2272174101-20091209-03
控制文件包括: Ckp SCN: 394156 Ckp 时间:09-12月-09
包含的 SPFILE: 修改时间: 09-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
6 19M DISK 00:00:02 09-12月-09
BP 关键字: 6 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T160729
段名:E:\RMANBAK\FULLARC06L0G121_1_1
备份集 6 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 8 371190 09-12月-09 377192 09-12月-09
1 9 377192 09-12月-09 381079 09-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
7 19M DISK 00:00:02 09-12月-09
BP 关键字: 7 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T160729
段名:E:\RMANBAK\FULLARC07L0G125_1_1
备份集 7 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 10 381079 09-12月-09 386436 09-12月-09
1 11 386436 09-12月-09 389705 09-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
8 12M DISK 00:00:02 09-12月-09
BP 关键字: 8 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T160729
段名:E:\RMANBAK\FULLARC08L0G129_1_1
备份集 8 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 12 389705 09-12月-09 393718 09-12月-09
1 13 393718 09-12月-09 394165 09-12月-09
1 14 394165 09-12月-09 394170 09-12月-09
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
9 Full 2M DISK 00:00:01 09-12月-09
BP 关键字: 9 状态: AVAILABLE 已压缩: NO 标记: TAG20091209T160741
段名:E:\RMANBAK\CF_C-2272174101-20091209-04
控制文件包括: Ckp SCN: 394180 Ckp 时间:09-12月-09
包含的 SPFILE: 修改时间: 09-12月-09
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
10 Full 2M DISK 00:00:01 17-12月-09
BP 关键字: 10 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T163155
段名:E:\RMANBAK\CF_C-2272174101-20091217-00
控制文件包括: Ckp SCN: 553839 Ckp 时间:17-12月-09
包含的 SPFILE: 修改时间: 09-12月-09
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
11 Full 482M DISK 00:01:02 17-12月-09
BP 关键字: 11 状态: AVAILABLE 已压缩: NO 标记: DBFULL
段名:E:\RMANBAK\FULL0BL1587G_1_1
备份集 11 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 558159 17-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\SY
M01.DBF
2 Full 558159 17-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\UN
BS01.DBF
3 Full 558159 17-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\SY
X01.DBF
4 Full 558159 17-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\US
01.DBF
5 Full 558159 17-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\FY
DBF
6 Full 558159 17-12月-09 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\CA
OGTBS.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
12 Full 2M DISK 00:00:01 17-12月-09
BP 关键字: 12 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171945
段名:E:\RMANBAK\CF_C-2272174101-20091217-01
控制文件包括: Ckp SCN: 558195 Ckp 时间:17-12月-09
包含的 SPFILE: 修改时间: 09-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
13 28M DISK 00:00:03 17-12月-09
BP 关键字: 13 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0DL1589Q_1_1
备份集 13 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 15 394170 09-12月-09 398522 09-12月-09
1 16 398522 09-12月-09 401621 10-12月-09
1 17 401621 10-12月-09 405972 10-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
14 28M DISK 00:00:04 17-12月-09
BP 关键字: 14 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0EL1589T_1_1
备份集 14 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 18 405972 10-12月-09 414091 10-12月-09
1 19 414091 10-12月-09 417557 10-12月-09
1 20 417557 10-12月-09 418481 10-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
15 28M DISK 00:00:03 17-12月-09
BP 关键字: 15 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0FL158A2_1_1
备份集 15 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 24 465862 11-12月-09 471668 11-12月-09
1 25 471668 11-12月-09 476070 11-12月-09
1 26 476070 11-12月-09 482647 11-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
16 28M DISK 00:00:03 17-12月-09
BP 关键字: 16 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0GL158A6_1_1
备份集 16 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 27 482647 11-12月-09 485919 11-12月-09
1 28 485919 11-12月-09 488879 11-12月-09
1 29 488879 11-12月-09 493565 15-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
17 28M DISK 00:00:04 17-12月-09
BP 关键字: 17 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0HL158AA_1_1
备份集 17 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 30 493565 15-12月-09 495233 15-12月-09
1 31 495233 15-12月-09 499354 15-12月-09
1 32 499354 15-12月-09 504444 15-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
18 28M DISK 00:00:04 17-12月-09
BP 关键字: 18 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0IL158AE_1_1
备份集 18 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 33 504444 15-12月-09 506124 15-12月-09
1 34 506124 15-12月-09 510473 17-12月-09
1 35 510473 17-12月-09 513579 17-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
19 28M DISK 00:00:03 17-12月-09
BP 关键字: 19 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0JL158AJ_1_1
备份集 19 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 36 513579 17-12月-09 514914 17-12月-09
1 37 514914 17-12月-09 519004 17-12月-09
1 38 519004 17-12月-09 522651 17-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
20 28M DISK 00:00:04 17-12月-09
BP 关键字: 20 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0KL158AN_1_1
备份集 20 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 42 550643 17-12月-09 554325 17-12月-09
1 43 554325 17-12月-09 555438 17-12月-09
1 44 555438 17-12月-09 557417 17-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
21 19M DISK 00:00:03 17-12月-09
BP 关键字: 21 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0LL158AR_1_1
备份集 21 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 39 522651 17-12月-09 525802 17-12月-09
1 40 525802 17-12月-09 546056 17-12月-09
1 41 546056 17-12月-09 550643 17-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
22 17M DISK 00:00:02 17-12月-09
BP 关键字: 22 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0ML158B0_1_1
备份集 22 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 21 418481 10-12月-09 420486 10-12月-09
1 22 420486 10-12月-09 442707 10-12月-09
1 23 442707 10-12月-09 465862 11-12月-09
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------- ------------ ----------
23 1M DISK 00:00:01 17-12月-09
BP 关键字: 23 状态: AVAILABLE 已压缩: NO 标记: TAG20091217T171954
段名:E:\RMANBAK\FULLARC0NL158B4_1_1
备份集 23 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 45 557417 17-12月-09 558207 17-12月-09
1 46 558207 17-12月-09 558212 17-12月-09
RMAN> restore database;
启动 restore 于 17-12月-09
启动 implicit crosscheck backup 于 17-12月-09
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=160 devtype=DISK
已交叉检验的 23 对象
完成 implicit crosscheck backup 于 17-12月-09
启动 implicit crosscheck copy 于 17-12月-09
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 17-12月-09
搜索恢复区域中的所有文件
正在编制文件目录...
目录编制完毕
没有为文件编制目录
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\SYSTEM01.DBF
正将数据文件00002恢复到E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\SYSAUX01.DBF
正将数据文件00004恢复到E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\USERS01.DBF
正将数据文件00005恢复到E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\FYGL.DBF
正将数据文件00006恢复到E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\CATALOGTBS.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = E:\RMANBAK\FULL0BL1587G_1_1 标记 = DBFULL
通道 ORA_DISK_1: 恢复完成
完成 restore 于 17-12月-09
RMAN> quit
恢复管理器完成。
再来看看那些数据文件已经都恢复过来
C:\Documents and Settings\Administrator>dir E:\oracle\product\10.1.0\oradata\
l
驱动器 E 中的卷没有标签。
卷的序列号是 CCFE-C8BC
E:\oracle\product\10.1.0\oradata\fygl 的目录
2009-12-18 10:44
.
2009-12-18 10:44 ..
2009-12-18 10:44 104,865,792 CATALOGTBS.DBF
2009-12-18 10:53 2,899,968 CONTROL01.CTL
2009-12-18 10:53 2,899,968 CONTROL02.CTL
2009-12-18 10:53 2,899,968 CONTROL03.CTL
2009-12-18 10:45 209,723,392 FYGL.DBF
2009-12-18 09:36 10,486,272 REDO01.LOG
2009-12-18 09:36 10,486,272 REDO02.LOG
2009-12-18 09:36 10,486,272 REDO03.LOG
2009-12-18 10:45 241,180,672 SYSAUX01.DBF
2009-12-18 10:45 471,867,392 SYSTEM01.DBF
2009-12-18 10:44 31,465,472 UNDOTBS01.DBF
2009-12-18 10:44 5,251,072 USERS01.DBF
12 个文件 1,104,512,512 字节
2 个目录 2,086,076,416 可用字节
但这个时候还是无法正常打开数据库的,只能装载,如下
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 12月 18 10:56:04 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn /as sysdba;
已连接。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
必须执行下面步骤来完成介质的恢复
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期四 12月 17 20:44:53 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn /as sysdba;
已连接。
SQL> select thread#,sequence#,first_change# from v$log;
THREAD# SEQUENCE# FIRST_CHANGE#
---------- ---------- -------------
1 47 558212
1 45 557417
1 46 558207
将数据文件恢复到失败点的状态
RMAN> recover database;
启动 recover 于 17-12月-09
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 45 已作为文件 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\REDO02
OG 存在于磁盘上
存档日志线程 1 序列 46 已作为文件 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\REDO03
OG 存在于磁盘上
存档日志线程 1 序列 47 已作为文件 E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\REDO01
OG 存在于磁盘上
存档日志文件名 =E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\REDO02.LOG 线程 =1 序列
5
存档日志文件名 =E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\REDO03.LOG 线程 =1 序列
6
存档日志文件名 =E:\ORACLE\PRODUCT\10.1.0\ORADATA\FYGL\REDO01.LOG 线程 =1 序列
7
完成介质的恢复
完成 recover 于 17-12月-09
RMAN> alter database open resetlogs;
数据库已打开
七、测试数据库的正常连接,开启和基本查询
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 12月 18 11:05:03 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn /as sysdba;
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
数据库装载完毕。
数据库已经打开。
C:\Documents and Settings\Administrator>sqlplus
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 12月 18 11:06:31 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select name from v$database;
NAME
---------
FYGL
C:\Documents and Settings\Administrator>rman target system/sys catalog rman/r
@fygl
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到目标数据库: FYGL (DBID=2272174101)
连接到恢复目录数据库
未安装恢复目录
八、这里补充一点创建,升级,删除恢复目录,注册数据库的步骤
1、创建用户,恢复目录表空间,上面已经创建过,这里省略,步骤如下
step1: 为恢复目录单独创建表空间catalog_tbs
SQL> create tablespace catalog_tbs datafile '/opt/oracle/oradata/mydb/catalog_tbs.dbf' size 200M uniform size 64k;
Tablespace created.
step2:创建恢复目录用户
SQL> create user rman identified by rman default tablespace catalog_tbs;
User created.
step3: 为恢复目录授予下列角色
SQL> grant connect,resource,recovery_catalog_owner to rman;
Grant succeeded.
2、C:\Documents and Settings\Administrator>rman catalog=rman/rman
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到恢复目录数据库
未安装恢复目录
RMAN> create catalog tablespace catalogtbs;
恢复目录已创建
RMAN> quit
恢复管理器完成。
C:\Documents and Settings\Administrator>rman catalog=rman/rman
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到恢复目录数据库
C:\Documents and Settings\Administrator>rman target system/sys catalog
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
连接到目标数据库: FYGL (DBID=2272174101)
连接到恢复目录数据库
注册
RMAN> register database;
注册在恢复目录中的数据库
正在启动全部恢复目录的 resync
完成全部 resync
RMAN> upgrade catalog;
恢复目录所有者是RMAN
再输入一次 UPGRADE CATALOG 命令来确认目录升级
升级
RMAN> upgrade catalog;
恢复目录已升级到版本10.01.00
DBMS_RCVMAN 程序包升级为 10.01.00 版
DBMS_RCVCAT 程序包升级为 10.01.00 版
删除直接用drop datalog
RMAN> drop catalog;
恢复目录所有者是RMAN
再输入一次 DROP CATALOG 命令来确认目录删除
RMAN> drop catalog;
恢复目录已删除
注销数据库
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 12月 18 11:20:50 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> conn rman/rman;
已连接。
SQL> select * from db;
DB_KEY DB_ID HIGH_CONF_RECID LAST_KCCDIVTS HIGH_IC_RECID CURR_DBINC
---------- ---------- --------------- ------------- ------------- ----------
1 2272174101 705927399 4
SQL> execute dbms_rcvcat.unregisterdatabase(1 , 2272174101);
PL/SQL 过程已成功完成。