点击上方“IT那活儿”,关注后了解更多精彩内容!!!
背景
环境信息
1. 源数据环境
操作系统版本:Red Hat 6.3
数据库版本:11.2.0.4
2. 目标端环境
操作系统版本:Red Hat 6.4
数据库版本:11.2.0.4
恢复数据库(目标端操作)
1. 源端数据库生成参数文件并修改,启动目标端实例到nomount状态
cat initiyuanduanku.ora
*.control_files='+RESTORE/mubiaoku/control01.ctl','+RESTORE/mubiaoku/control02.ctl', '+RESTORE/mubiaoku/control03.ctl'*.db_block_size=8192*.db_create_file_dest='+restore'*.db_file_name_convert='+DATADG01','+RESTORE','+DATADG02','+RESTORE','+DATADG05','+RESTORE'*.db_name='yuanduan'*.diagnostic_dest='/opt/oracle/diag'*.log_archive_dest_1='location=+RESTORE'*.log_archive_max_processes=5*.open_cursors=1000*.sga_max_size=75G*.shared_pool_size=19G*.shared_pool_reserved_size=1020054732*.sga_target=0*.db_files=2000 复制
启动目标端到nomount状态;
sqlplus / as sysdbastartup nomount pfile=’/home/oracle/initiyuanduanku.ora’; 复制
2. 从NBU备份中恢复控制文件,把数据库启动到 mount 状态
恢复控制文件:
#!/bin/bashrman target / log=/home/oracle/mubiaoku/rman_control_mubiaoku.log <<EOFrun{allocate channel ch00 type sbt_tape;SEND ‘NB_ORA_SERV=XXX-XXX-BACKUP02-test,NB_ORA_CLIENT=test-dcn’;restore controlfile from ‘/cntrl_74261_1_test’;release channel ch00;}EOF 复制
恢复日志:
Recovery Manager: Release 11.2.0.4.0 - Production on Tue Sep 19 19:40:23 2020Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.connected to target database: mubiaoku (not mounted)RMAN> 2> 3> 4> 5> 6>using target database control file instead of recovery catalogallocated channel: ch00channel ch00: SID=3 device type=SBT_TAPEchannel ch00: Veritas NetBackup for Oracle - Release 7.7.2 (2016011116)sent command to channel: ch00Starting restore at 19-Sep-20channel ch00: restoring control filechannel ch00: restore complete, elapsed time: 00:00:15output file name=+RESTORE/mubiaoku/control01.ctloutput file name=+RESTORE/mubiaoku/control02.ctloutput file name=+RESTORE/mubiaoku/control03.ctlFinished restore at 19-Sep-20released channel: ch00RMAN>Recovery Manager complete. 复制
目标库启动到mount状态
sqlplus / as sysdbaalter database mount; 复制
3. 依据实际情况,调整文件位置
调整目标库在线日志文件位置
alter database rename file '+REDODG01/yuanduanku/redo03_1.log' to '+RESTORE/mubiaoku/redo/redo03_1.log'alter database rename file '+REDODG01/yuanduanku/redo02_1.log' to '+RESTORE/mubiaoku/redo/redo02_1.log'alter database rename file '+REDODG01/yuanduanku/redo01_1.log' to '+RESTORE/mubiaoku/redo/redo01_1.log'alter database rename file '+REDODG01/yuanduanku/redo01_3.log' to '+RESTORE/mubiaoku/redo/redo01_3.log'alter database rename file '+REDODG01/yuanduanku/redo02_3.log' to '+RESTORE/mubiaoku/redo/redo02_3.log'alter database rename file '+REDODG01/yuanduanku/redo03_3.log' to '+RESTORE/mubiaoku/redo/redo03_3.log'alter database rename file '+REDODG01/yuanduanku/redo01_2.log' to '+RESTORE/mubiaoku/redo/redo01_2.log'alter database rename file '+REDODG01/yuanduanku/redo02_2.log' to '+RESTORE/mubiaoku/redo/redo02_2.log'alter database rename file '+REDODG01/yuanduanku/redo03_2.log' to '+RESTORE/mubiaoku/redo/redo03_2.log'alter database rename file '+REDODG01/yuanduanku/stbredo01_1.log' to '+RESTORE/mubiaoku/redo/stbredo01_1.log'alter database rename file '+REDODG01/yuanduanku/stbredo02_1.log' to '+RESTORE/mubiaoku/redo/stbredo02_1.log'alter database rename file '+REDODG01/yuanduanku/stbredo03_1.log' to '+RESTORE/mubiaoku/redo/stbredo03_1.log'alter database rename file '+REDODG01/yuanduanku/stbredo04_1.log' to '+RESTORE/mubiaoku/redo/stbredo04_1.log'alter database rename file '+REDODG01/yuanduanku/stbredo05_1.log' to '+RESTORE/mubiaoku/redo/stbredo05_1.log'......alter database rename file '+REDODG01/yuanduanku/stbredo05_3.log' to '+RESTORE/mubiaoku/redo/stbredo05_3.log'alter database rename file '+REDODG01/yuanduanku/stbredo06_3.log' to '+RESTORE/mubiaoku/redo/stbredo06_3.log'alter database rename file '+REDODG01/yuanduanku/stbredo07_3.log' to '+RESTORE/mubiaoku/redo/stbredo07_3.log'alter database rename file '+REDODG01/yuanduanku/stbredo08_3.log' to '+RESTORE/mubiaoku/redo/stbredo08_3.log'alter database rename file '+REDODG01/yuanduanku/stbredo09_3.log' to '+RESTORE/mubiaoku/redo/stbredo09_3.log'alter database rename file '+REDODG01/yuanduanku/stbredo10_3.log' to '+RESTORE/mubiaoku/redo/stbredo10_3.log' 复制
调整临时文件位置
alter database rename file '+DATADG01/yuanduanku/temp01.dbf' to '+RESTORE/mubiaoku/tempfile/temp01.dbf'alter database rename file '+DATADG01/tbs_forum_tmp01.dbf' to '+RESTORE/mubiaoku/tempfile/tbs_forum_tmp01.dbf'alter database rename file '+DATADG01/tbs_sns_tmp01.dbf' to '+RESTORE/mubiaoku/tempfile/tbs_sns_tmp01.dbf'alter database rename file '+DATADG01/tbs_henews_tmp.dbf' to '+RESTORE/mubiaoku/tempfile/tbs_henews_tmp.dbf'alter database rename file '+DATADG01/consume/consume_temp03' to '+RESTORE/mubiaoku/tempfile/consume_temp03'alter database rename file '+DATADG01/consume/consume_temp04' to '+RESTORE/mubiaoku/tempfile/consume_temp04'alter database rename file '+DATADG01/tbs_forum_tmp02.dbf' to '+RESTORE/mubiaoku/tempfile/tbs_forum_tmp02.dbf' 复制
调整数据文件位置
在恢复脚本中调整。
4. 恢复数据库到指定时间点
恢复脚本:
rman target / log=/home/oracle/mubiaoku/rman_database_mubiaoku.log <<EOFrun {set newname for datafile 1 to '+RESTORE/mubiaoku/datafile/system01.dbf';set newname for datafile 2 to '+RESTORE/mubiaoku/datafile/sysaux01.dbf';set newname for datafile 3 to '+RESTORE/mubiaoku/datafile/undotbs01.dbf';set newname for datafile 4 to '+RESTORE/mubiaoku/datafile/users01.dbf';set newname for datafile 5 to '+RESTORE/mubiaoku/datafile/undotbs02.dbf';set newname for datafile 6 to '+RESTORE/mubiaoku/datafile/undotbs03.dbf';set newname for datafile 7 to '+RESTORE/mubiaoku/datafile/tbs_henews_dat01.dbf';set newname for datafile 8 to '+RESTORE/mubiaoku/datafile/tbs_henews_dat02.dbf';set newname for datafile 9 to '+RESTORE/mubiaoku/datafile/tbs_henews_dat03.dbf';......set newname for datafile 202 to '+RESTORE/mubiaoku/datafile/tbs_henews_dat45.dbf';configure channel device type disk rate 51200k;allocate channel ch00 type'sbt_tape' parms='ENV=(NB_ORA_CLIENT=yuanduanku-dcn)';set until time "to_date('2020/09/19 18:40:00','yyyy/mm/dd hh24:mi:ss')";restore database;switch datafile all;recover database;release channel ch00;}EOF 复制
5. open resetlogs 打开数据库报错
报错信息:
SQL> alter database open resetlogs;alter database open resetlogs*ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00704: bootstrap process failureORA-39700: database must be opened with UPGRADE optionProcess ID: 30486Session ID: 358 Serial number: 3 复制
查看故障描述信息
SQL> ho oerr ora 3970039700, 00000, "database must be opened with UPGRADE option"// *Cause: A normal database open was attempted, but the database has not// been upgraded to the current server version.// *Action: Use the UPGRADE option when opening the database to run// catupgrd.sql (for database upgrade), or to run catalog.sql// and catproc.sql (after initial database creation). 复制
通过升级数据字典修复报错
sql>startup upgradesql>@$ORACLE_HOME/rdbms/admin/catupgrd.sqlsql>@$ORACLE_HOME/rdbms/admin/utlrp.sql 复制
操作注意事项
本 文 原 创 来 源:IT那活儿微信公众号(上海新炬王翦团队)

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。