千家信息网

Oracle 11G RMAN 单实例异机恢复

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,数据备份当然是为数据恢复准备,新环境的oracle一直在进行备份,但都没有测试验证备份的有效性,所以本次测试的重要性不言而喻了!以下为WIN平台下RMAN异机恢复实例。源库目标库操作系统WIN SVR
千家信息网最后更新 2026年11月02日Oracle 11G RMAN 单实例异机恢复

数据备份当然是为数据恢复准备,新环境的oracle一直在进行备份,但都没有测试验证备份的有效性,所以本次测试的重要性不言而喻了!以下为WIN平台下RMAN异机恢复实例。


源库

目标库

操作系统

WIN SVR 2008 R2

WIN SVR 2008 R2

主机名

Ora

ORATEST

IP

192.168.18.20

192.168.18.25

数据库版本

11.2.0.1.0

11.2.0.1.0

存储方式

单实例

单实例

ORACLE_HOME

D:\app\Administrator\product\11.2.0\dbhome_1

D:\app\Administrator\product\11.2.0\dbhome_1

ORACLE_SID

HWPROD

HWPROD

源库备份操作:

相关备份配置及脚本如下:

RMAN> show all;

db_unique_name 为 HWPROD 的数据库的 RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO RECOVERYWINDOW OF 3 DAYS; #保留备份为3天

CONFIGURE BACKUP OPTIMIZATION OFF; #default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; #default

CONFIGURE CONTROLFILE AUTOBACKUP ON; #需要打开自动备份

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FORDEVICE TYPE DISK TO 'e:\data_backup\

ctl_%F.bak'; #指定备份控制文件及参数文件备份路径格式

CONFIGURE DEVICE TYPE DISK PARALLELISM 1BACKUP TYPE TO BACKUPSET; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICETYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FORDEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; #default

CONFIGURE ENCRYPTION FOR DATABASE OFF; #default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; #default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' ASOF RELEASE 'DEFAULT' OPTIMIZE FOR LOA

D TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TONONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHO

ME_1\DATABASE\SNCFHWPROD.ORA'; # default

full_backup.sql

run{allocate channel d1 type disk;  allocate channel d2 type disk;backup as compressed backupset fulldatabase format 'e:\data_backup\full_%d_%s_%p_%u_%t.bak';sql 'alter system archive logcurrent';  backup archivelog all format'e:\data_backup\log_%d_%s_%p_%u_%t.bak' delete all input; release channel d1;release channel d2;report obsolete;  crosscheck backup; delete noprompt expired backup; delete noprompt obsolete; }

full_backup.bat

set oracle_sid=hwprodset d=%date:~,4%%date:~5,2%%date:~8,2%echo=>e:\rman_script\log\full_backup_%d%.log rman target /cmdfile=e:\rman_script\full_backup.sqlmsglog=e:\rman_script\log\full_backup_%d%.log

RMAN恢复思路步骤:

  • 初始化数据库,安装相同环境;

  • 恢复参数文件;

  • 恢复控制文件;

  • 启动数据库到MOUNT状态,利用控制文件进行数据恢复;

  • 查看归档日志备份sequence;

  • Restore -recover-alter database open ressetlogs;

  • 验证;

  • 设置监听

1、 系统安装完成后,安装ORACLE软件,选择只安装软件,并安装与源库相同路径,然后把相关备份文件拷贝到原备份路径,为避免不必要的麻烦,建议设置与源库一致。

2、建立相关的密码文件,服务,监听器,否则无法连接DB

C:\Users\Administrator>D: D:\>cd D:\app\Administrator\product\11.2.0\dbhome_1\BIN D:\app\Administrator\product\11.2.0\dbhome_1\BIN>orapwd file=D:\app\Administrator\product\11.2.0\dbhome_1\database\pwdhwprod.ora password=oracle entries=5; D:\app\Administrator\product\11.2.0\dbhome_1\BIN>oradim -new -sid HWPROD -startmode m实例已创建。 D:\app\Administrator\product\11.2.0\dbhome_1\BIN>set ORACLE_SID=HWPROD

D:\app\Administrator\product\11.2.0\dbhome_1\BIN>


D:\app\Administrator\product\11.2.0\dbhome_1\BIN>sqlplus/ as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 4月 21 14:19:482017

Copyright (c) 1982, 2010, Oracle. All rights reserved.

已连接到空闲例程。

SQL>

此时可以连接到DB了。

3、手动建立一个pfile文件(目的是使用数据库启动到nomount状态),放到D:\app\Administrator\product\11.2.0\dbhome_1\database目录下,inithwprod.ora内容如下:

db_name=HWPROD

java_pool_size=4194304

large_pool_size=4194304

shared_pool_size=96468992

以此pfile启动数据库到nomount状态:

SQL> startuppfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\inithwprod.ora' nomount;

ORACLE 例程已经启动。

Total System Global Area 162873344 bytes

Fixed Size 2173800 bytes

Variable Size 104858776 bytes

Database Buffers 50331648 bytes

Redo Buffers 5509120 bytes

4、切换到RMAN下,并SETDBID=3279461817(源库DBID):


5、创建flash_recovery_area、ORADATA目录,否则恢复数据时会报错ORA-01263: Name given for file destination directory is invalid 。

建立相关目录:


6、恢复spfile文件:

Restore SPfile文件,找到源spfile备份相关文件进行恢复:

RMAN> restore spfile from'e:\data_backup\CTL_C-3279461817-20180116-00.BAK';



恢复参数文件完成后,shutdown 数据库,退出RMAN,找到恢复的参数文件把相关参数copy并修改到inithwprod.ora文件里(这里应该注意,源库可能空间较大,如果设置不当,启动数据库到nomount时会报ORA-27102 out of memory 等错误,所以关于sga,pga等酌情根据目标库修改)

以下为修改后的inithwprod.ora文件内容:

hwprod.__java_pool_size=33554432hwprod.__large_pool_size=33554432hwprod.__oracle_base='d:\app\Administrator'#ORACLE_BASE set from environmenthwprod.__pga_aggregate_target=536870912hwprod.__sga_target=536870912hwprod.__shared_io_pool_size=0hwprod.__shared_pool_size=536870912hwprod.__streams_pool_size=16777216*.audit_file_dest='d:\app\Administrator\admin\hwprod\adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='d:\app\Administrator\oradata\hwprod\control01.ctl','d:\app\Administrator\flash_recovery_area\hwprod\control02.ctl'*.db_block_size=8192*.db_domain='hwprod_test'*.db_name='hwprod'*.db_recovery_file_dest='d:\app\Administrator\flash_recovery_area'*.db_recovery_file_dest_size=2147483648*.diagnostic_dest='d:\app\Administrator'*.dispatchers='(PROTOCOL=TCP) (SERVICE=hwprodXDB)'*.log_archive_format='ARC%S_%R.%T'*.memory_target=1073741824*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=100*.processes=500*.remote_login_passwordfile='EXCLUSIVE'*.undo_tablespace='UNDOTBS1'

修改完成后再进入RMAN,并把数据库startup nomount 状态

SQL> startup nomount pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\inithwprod.ora' ;


7、此时可以进行恢复控制文件,找到源控制文件备份相关文件进行恢复:

RMAN> restore controlfile from'E:\data_backup\CTL_C-3279461817-20170427-01';

控制文件恢复完成后,接下来把数据库修改为MOUNT状态:

8、查看归档日志备份的状态,其最大sequence为18437

RMAN> list backup of archivelog all;

9、进行数据文件恢复:

RMAN> run {2> set until sequence 18437;3> restore database;4> }

RMAN> run {2> set until sequence 18437;3> recover database;4> }

10、resetlogs 打开数据库:

RMAN> alter database open resetlogs;

11、查看数据库状态:

12、添加注册表SID:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1"ORACLE_SID"="HWPROD"


13、创建SPfile参数文件

SQL> create spfile from pfile;

可以看到相关路径已经创建新的参数文件:


14、重启数据库,是否以SPFILE启动:

SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where  rownum=1 and isspecified = 'TRUE';

15、修改listener.ora,tnsnames.ora

listener.ora

# listener.ora Network Configuration File:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora# Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST =   (SID_DESC =     (GLOBAL_DBNAME = HWPROD)     (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)     (SID_NAME = HWPROD)    )  ) LISTENER = (DESCRIPTION =   (ADDRESS = (PROTOCOL = TCP)(HOST = ORATEST)(PORT = 1521))  ) ADR_BASE_LISTENER =D:\app\Administrator\product\11.2.0\dbhome_1\log

tnsnames.ora

 # tnsnames.ora Network Configuration File:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools. HWPROD = (DESCRIPTION =   (ADDRESS_LIST =     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.25)(PORT = 1521))    )   (CONNECT_DATA =     (SERVICE_NAME = HWPROD)    )  )

查看监听状态:

验证数据,OK!

2018-01-16更新

参考:http://blog.itpub.net/29119536/viewspace-1171894/


文件 数据 备份 数据库 参数 状态 控制 实例 路径 目录 监听 验证 相同 内容 数据恢复 日志 环境 目标 系统 软件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 互联网科技工作委员会 科技和互联网公司 西安互联网科技公司 兼蜜互联网科技 互联网科技博客 深圳前海聚择互联网科技有限公司 哈尔滨新华互联网科技学院 宁夏众和广鑫互联网科技有限公司 链环科技传统企业怎么转型互联网 想开互联网科技公司怎么样 世界互联网领先科技成果获奖 南博望互联网科技有限公司 恒生互联网科技业指数调整周期 云鲸互联网络科技有限公司 互联网金融运营模式中的金融科技 易租星互联网科技有限公司 好易买互联网科技 恒生科技互联网指数十大成分股 小牛互联网科技有限公司地址 互联网新科技 远信互联网科技 互联网科技的英文 互联网科技公司名称 青岛中康互联网医疗科技有限公司 华夏互联网科技业 美国互联网科技公司 山东大美朱楼互联网科技有限公司 抖集互联网科技技术咨询 吉林省码上互联网科技电话
0