原 【DB宝22】使用DG环境的物理备库进行备份还原的备份一致性问题
三、在新主机执行恢复操作
3.1、恢复spfile
1 2 3 4 5 6 7 | export ORACLE_SID=TEST rman target / startup nomount; restore spfile to pfile '?/dbs/initTEST.ora' from '/home/oracle/oracle_bk/spfile_ORADG11G_39vbaa3v_1_1.ora'; -- 修改pfile,去除dg相关参数 vi $ORACLE_HOME/dbs/initTEST.ora |
需要根据情况对pfile做相关的修改,最终的参数文件内容:
12345678910111213141516171819*.audit_file_dest='/home/oracle/oradata/TEST/adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='/home/oracle/oradata/TEST/control01.ctl'*.db_block_size=8192*.db_domain=''*.db_name='oradg11g'*.db_recovery_file_dest='/home/oracle/oradata/flash_recovery_area'*.db_recovery_file_dest_size=4322230272*.db_unique_name='TEST'*.dispatchers='(PROTOCOL=TCP) (SERVICE=oradg11gXDB)'*.memory_max_target=229715200*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.standby_file_management='AUTO'*.undo_tablespace='UNDOTBS1'*.log_file_name_convert='/u01/app/oracle/oradata/oradg11g/','/home/oracle/oradata/'*.db_recovery_file_dest='/home/oracle/oradata/'建议加上log_file_name_convert和db_recovery_file_dest参数,可以避免很多后续的日志转换操作。
根据pfile文件内容创建相关目录
12mkdir -p /home/oracle/oradata/TEST/adumpmkdir -p /home/oracle/oradata/flash_recovery_area根据pfile创建spfile,并启动到nomout
12create spfile from pfile='/home/oracle/a.txt';startup force nomount
整个执行过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | [oracle@lhrora11203 oracle_bk]$ export ORACLE_SID=TEST [oracle@lhrora11203 oracle_bk]$ rman target / Recovery Manager: Release 11.2.0.3.0 - Production on Fri Sep 25 15:07:43 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup nomount; Oracle instance started Total System Global Area 242208768 bytes Fixed Size 2227176 bytes Variable Size 184550424 bytes Database Buffers 50331648 bytes Redo Buffers 5099520 bytes RMAN> restore spfile to pfile '?/dbs/initTEST.ora' from '/home/oracle/oracle_bk/spfile_ORADG11G_39vbaa3v_1_1.ora'; Starting restore at 2020-09-25 15:15:08 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=156 device type=DISK channel ORA_DISK_1: restoring spfile from AUTOBACKUP /home/oracle/oracle_bk/spfile_ORADG11G_39vbaa3v_1_1.ora channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete Finished restore at 2020-09-25 15:15:10 RMAN> exit Recovery Manager complete. [oracle@lhrora11203 ~]$ [oracle@lhrora11203 ~]$ more /u01/app/oracle/product/11.2.0.3/dbhome_1/dbs/initTEST.ora oradgphy.__db_cache_size=37748736 oradgphy.__java_pool_size=4194304 oradgphy.__large_pool_size=4194304 oradgphy.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment oradgphy.__pga_aggregate_target=12582912 oradgphy.__sga_target=197132288 oradgphy.__shared_io_pool_size=0 oradgphy.__shared_pool_size=142606336 oradgphy.__streams_pool_size=0 *.archive_lag_target=0 *.audit_file_dest='/u01/app/oracle/admin/oradgphy/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/u01/app/oracle/oradata/oradgphy/crontal01.ctl','/u01/app/oracle/oradata/oradgphy/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_file_name_convert='oradg11g','oradgphy' *.db_name='oradg11g' *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=4322230272 *.db_unique_name='oradgphy' *.dg_broker_start=TRUE *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=oradg11gXDB)' *.fal_client='tns_oradg11g' *.fal_server='tns_oradg11g' *.log_archive_config='dg_config=(oradgphy,oradg11g,oradglg)' *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST valid_for=(ALL_LOGFILES,ALL_ROLES) db_unique_name=oradgphy' *.log_archive_dest_2='SERVICE=tns_oradg11g LGWR ASYNC db_unique_name=oradg11g valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)' *.log_archive_dest_state_1='ENABLE' *.log_archive_dest_state_2='ENABLE' oradgphy.log_archive_format='%t_%s_%r.dbf' *.log_archive_max_processes=4 *.log_archive_min_succeed_dest=1 oradgphy.log_archive_trace=0 *.log_file_name_convert='oradg11g','oradgphy' *.memory_max_target=209715200 *.memory_target=209715200 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.standby_file_management='AUTO' *.undo_tablespace='UNDOTBS1' [oracle@lhrora11203 ~]$ [oracle@lhrora11203 ~]$ [oracle@lhrora11203 ~]$ cat > /home/oracle/a.txt <<"EOF" > *.audit_file_dest='/home/oracle/oradata/TEST/adump' > *.audit_trail='db' > *.compatible='11.2.0.0.0' > *.control_files='/home/oracle/oradata/TEST/control01.ctl' > *.db_block_size=8192 > *.db_domain='' > *.db_name='oradg11g' > *.db_recovery_file_dest='/home/oracle/oradata/flash_recovery_area' > *.db_recovery_file_dest_size=4322230272 > *.db_unique_name='TEST' > *.dispatchers='(PROTOCOL=TCP) (SERVICE=oradg11gXDB)' > *.memory_max_target=229715200 > *.open_cursors=300 > *.processes=150 > *.remote_login_passwordfile='EXCLUSIVE' > *.standby_file_management='AUTO' > *.undo_tablespace='UNDOTBS1' > *.log_file_name_convert='/u01/app/oracle/oradata/oradg11g/','/home/oracle/oradata/' > *.db_recovery_file_dest='/home/oracle/oradata/' > EOF [oracle@lhrora11203 ~]$ sas SQL*Plus: Release 11.2.0.3.0 Production on Fri Sep 25 15:18:00 2020 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SYS@TEST> create spfile from pfile='/home/oracle/a.txt'; File created. SYS@TEST> startup force nomount ORACLE instance started. Total System Global Area 242208768 bytes Fixed Size 2227176 bytes Variable Size 184550424 bytes Database Buffers 50331648 bytes Redo Buffers 5099520 bytes |
3.2、恢复控制文件
1 2 | -- 因为要恢复为主库,所以需要加上primary关键字 restore primary controlfile from '/home/oracle/oracle_bk/standby_1.ctl'; |
执行过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [oracle@lhrora11203 ~]$ rman target / Recovery Manager: Release 11.2.0.3.0 - Production on Fri Sep 25 15:24:08 2020 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: ORADG11G (not mounted) RMAN> restore primary controlfile from '/home/oracle/oracle_bk/standby_1.ctl'; Starting restore at 2020-09-25 15:24:30 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=156 device type=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/home/oracle/oradata/TEST/control01.ctl Finished restore at 2020-09-25 15:24:32 |
3.3、注册备份信息
1 2 3 4 5 6 7 8 9 10 | -- 启动到mout阶段 alter database mount; -- 清除之前的备份信息 EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(11); /** CLEAR V$ARCHIVED_LOG */ EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(12); /** CLEAR V$BACKUP_SET */ EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(13); /** CLEAR V$BACKUP_PIECE */ --重新注册,注意路径最后一定需要加上/ catalog start with '/home/oracle/oracle_bk/'; |