更新时间:2021-12-25 18:20:33
三、备份数据库并关闭数据库,删除system01.dbf文件RMAN> show CONTROLFILE AUTOBACKUP; RMAN 配置参数为: CONFIGURE CONTROLFILE AUTOBACKUP ON; -->控制文件自动备份,建议开启 RMAN> show CONTROLFILE AUTOBACKUP FORMAT; RMAN 配置参数为: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\\192.168.1.151\RMAN_Shared\CONTROL _%F'; -->控制文件备份位置 RMAN> show SNAPSHOT CONTROLFILE NAME; RMAN 配置参数为: CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\ORA92\DATABASE\SNCFTESTHH.ORA'; # default -->快照控制文件位置 SQL> select * from v$version; -->数据库的版本,当前演示环境为Oracle 9i BANNER ---------------------------------------------------------------- Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production PL/SQL Release 9.2.0.1.0 - Production CORE 9.2.0.1.0 Production TNS for 32-bit Windows: Version 9.2.0.1.0 - Production NLSRTL Version 9.2.0.1.0 - Production SQL> show parameter db_name NAME TYPE VALUE ------------------------------------ ----------- --------------- db_name string testHH
四、从异机进行还原与恢复D:\>rman target robinson/robin@testhh cmdfile=D:\oracle\oradata\testHH\backup.rman log=D:\oracle\ora data\testHH\backup.log
2.删除system01.dbf数据文件以便测试恢复SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。
3.重启实例,收到错误提示SQL> ho del D:\oracle\oradata\testHH\SYSTEM01.DBF
4.使用RMAN进行还原与恢复SQL> startup ORACLE 例程已经启动。 Total System Global Area 126950220 bytes Fixed Size 453452 bytes Variable Size 109051904 bytes Database Buffers 16777216 bytes Redo Buffers 667648 bytes 数据库装载完毕。 ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF'
5.结论D:\>rman target / -->连接到缺省的目标数据库 恢复管理器: 版本9.2.0.8.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到目标数据库: TESTHH (DBID=3955637780) RMAN> restore database; -->还原数据库 启动 restore 于 25-7月 -11 正在使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=14 devtype=DISK 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00002恢复到D:\ORACLE\ORADATA\TESTHH\UNDOTBS01.DBF 正将数据文件00003恢复到D:\ORACLE\ORADATA\TESTHH\CWMLITE01.DBF 正将数据文件00005恢复到D:\ORACLE\ORADATA\TESTHH\EXAMPLE01.DBF 正将数据文件00006恢复到D:\ORACLE\ORADATA\TESTHH\INDX01.DBF 正将数据文件00010恢复到D:\ORACLE\ORADATA\TESTHH\XDB01.DBF 通道 ORA_DISK_1: 已恢复备份段 1 段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_15MIBDKA_1_1 tag=FULL_BAK params=NULL 通道 ORA_DISK_1: 恢复完成 通道 ORA_DISK_1: 正在开始恢复数据文件备份集 通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件 正将数据文件00001恢复到D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF 正将数据文件00004恢复到D:\ORACLE\ORADATA\TESTHH\DRSYS01.DBF 正将数据文件00007恢复到D:\ORACLE\ORADATA\TESTHH\ODM01.DBF 正将数据文件00008恢复到D:\ORACLE\ORADATA\TESTHH\TOOLS01.DBF 正将数据文件00009恢复到D:\ORACLE\ORADATA\TESTHH\USERS01.DBF 通道 ORA_DISK_1: 已恢复备份段 1 段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_16MIBDMB_1_1 tag=FULL_BAK params=NULL 通道 ORA_DISK_1: 恢复完成 完成 restore 于 25-7月 -11 RMAN> recover database; -->恢复数据库 启动 recover 于 25-7月 -11 使用通道 ORA_DISK_1 正在开始介质的恢复 完成介质的恢复 完成 recover 于 25-7月 -11 SQL> alter database open; SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- ---------- TESTHH READ WRITE
run{ allocate channel ch1 device type disk; allocate channel ch2 device type disk; backup database format='\\192.168.1.151\RMAN_Shared\full_%d_%U' -->注意格式的写法\\IP\Shared_folder\ tag='full_bak'; sql "alter system archive log current"; crosscheck archivelog all; delete noprompt expired archivelog all; backup archivelog all format='\\192.168.1.151\RMAN_Shared\log_%d_%U' delete input -->注意格式的写法\\IP\Shared_folder\ tag='log_bak'; release channel ch1; release channel ch2;}
六、快捷参考
有关性能优化请参考
有关ORACLE体系结构请参考
Oracle联机重做日志文件(ONLINE LOG FILE)
Oracle实例和Oracle数据库(Oracle体系结构)
有关闪回特性请参考
Oracle闪回特性(FLASHBACK DATABASE)
Oracle闪回特性(FLASHBACK DROP & RECYCLEBIN)
Oracle闪回特性(Flashback Query、FlashbackTable)
Oracle闪回特性(Flashback Version、Flashback Transaction)
有关基于用户管理的备份和备份恢复的概念请参考
Oracle基于用户管理恢复的处理(详细描述了介质恢复及其处理)
有关RMAN的备份恢复与管理请参考
RMAN 备份路径困惑(使用plus archivelog时)
有关ORACLE故障请参考
对参数FAST_START_MTTR_TARGET= 0 的误解及设定
有关ASM请参考
有关SQL/PLSQL请参考
SQL 基础--> 集合运算(UNION与UNION ALL)
SQL 基础--> 层次化查询(STARTBY ... CONNECT BY PRIOR)
SQL 基础--> ROLLUP与CUBE运算符实现数据汇总
有关ORACLE其它特性
使用OEM,SQL*Plus,iSQL*Plus 管理Oracle实例
日志记录模式(LOGGING、FORCE LOGGING 、NOLOGGING)
使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)
簇表及簇表管理(Index clustered tables)
ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME
Oracle补丁全集 (Oracle 9i 10g 11g Path)