环境:
OS:Centos6.9
DB:11.2.0.4
主库SID:slnngka
备库SID:slnngkb
1.异地机器安装相同版本的数据库软件
安装步骤省略,注意只安装软件和启动监听器(没有监听任何服务器)
确保监听器已经启动
[oracle@slnngkb rmanbak]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 27-NOV-2023 15:10:25 Copyright (c) 1991, 2013, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=slnngkb)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production Start Date 27-NOV-2023 09:25:57 Uptime 0 days 5 hr. 44 min. 28 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/slnngkb/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=slnngkb)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfully
2.异地机器创建相应的目录
su - oracle
mkdir -p $ORACLE_BASE/oradata/slnngkb/
mkdir -p $ORACLE_BASE/admin/slnngkb/adump
mkdir -p $ORACLE_BASE/admin/slnngkb/dpdump
mkdir -p $ORACLE_BASE/fast_recovery_area/slnngkb
3.异地服务器准备参数文件
可以从主库拷贝进行相应修改
SQL>create pfile='/tmp/master_pfile.ora' from spfile;
拷贝到异地机器的dbs目录
scp /tmp/master_pfile.ora [email protected]:/u01/app/oracle/product/11.2.0.4/db_1/dbs/
从库对参数文件重命令
[oracle@slavea dbs]$ cd /u01/app/oracle/product/11.2.0.4/db_1/dbs/
[oracle@slavea dbs]$ mv master_pfile.ora initslnngkb.ora
进行修改,最后的参数如下:
*.audit_file_dest='/u01/app/oracle/admin/slnngkb/adump' *.audit_trail='db' *.compatible='11.2.0.4.0' *.control_files='/u01/app/oracle/oradata/slnngkb/control01.ctl','/u01/app/oracle/fast_recovery_area/slnngkb/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_name='slnngka' *.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' *.db_recovery_file_dest_size=4385144832 *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=slnngkbXDB)' *.enable_goldengate_replication=TRUE *.log_archive_dest_1='location=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=slnngkb' *.log_archive_format='%t_%s_%r.dbf' *.open_cursors=300 *.pga_aggregate_target=1070596096 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=3213885440 *.standby_file_management='AUTO' *.undo_tablespace='UNDOTBS1'
注意:
*.db_name保留与源库一致不需要修改,否则在启动的时候报如下错误:
SQL> alter database mount; alter database mount * ERROR at line 1: ORA-01103: database name 'SLNNGKA' in control file is not 'SLNNGKB'
4.原库备份
run{ allocate channel c1 device type disk; backup as compressed backupset format '/u01/rmanbak/df_t%t_s%s_p%p' database; sql 'alter system archive log current'; backup as compressed backupset archivelog all delete input format '/u01/rmanbak/archive_log_t%t_s%s_p%p'; backup current controlfile format '/u01/rmanbak/ctl_%u.bak' tag 'bak_controlfile'; backup spfile format '/u01/rmanbak/spfile_%u_%T.bak'; crosscheck backup; crosscheck archivelog all; delete noprompt expired backup; delete noprompt obsolete; release channel c1; }
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
archived log file name=/u01/archivelog/1_129_1153413040.dbf thread=1 sequence=129
有DG的环境,归档日志还不能删除
解决办法1(不需要重启):
好像该方法不管用
alter system set "_deferred_log_dest_is_valid" = FALSE scope=both;
解决办法2:
alter system set log_archive_dest_2='' scope=both;
5.将备份集拷贝到异机
scp archive_log_t1154017805_s41_p1 [email protected]:/u01/rmanbak/ scp ctl_1a2chqhh.bak [email protected]:/u01/rmanbak/ scp df_t1154017711_s38_p1 [email protected]:/u01/rmanbak/ scp spfile_1b2chqhj_20231127.bak [email protected]:/u01/rmanbak/
6.异地机器启动到nomont状态
[oracle@slnngkb dbs]$ sqlplus /nolog SQL> connect / as sysdba Connected to an idle instance. SQL> startup nomount pfile=/u01/app/oracle/product/11.2.0.4/db_1/dbs/initslnngkb.ora ORACLE instance started. Total System Global Area 3206836224 bytes Fixed Size 2257520 bytes Variable Size 721423760 bytes Database Buffers 2466250752 bytes Redo Buffers 16904192 bytes
7.恢复控制文件(在nomount状态下恢复)
[oracle@slnngkb dbs]$ rman target / RMAN> restore controlfile from '/u01/rmanbak/ctl_1a2chqhh.bak'; Starting restore at 27-NOV-23 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=19 device type=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/u01/app/oracle/oradata/slnngkb/control01.ctl output file name=/u01/app/oracle/fast_recovery_area/slnngkb/control02.ctl Finished restore at 27-NOV-23
自动会根据启动参数的配置参数*.control_files复制到指定的位置.
8.启动数据库到mount阶段
SQL> connect / as sysdba
Connected.
SQL> alter database mount;
Database altered.
9.注册备份集
[oracle@slnngkb dbs]$ rman target / RMAN>catalog start with '/u01/rmanbak'; 查看备份集: RMAN> crosscheck backupset; RMAN> delete expired backupset; RMAN> list backup of database; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 14 Full 311.94M DISK 00:00:50 27-NOV-23 BP Key: 14 Status: AVAILABLE Compressed: YES Tag: TAG20231127T145444 Piece Name: /u01/rmanbak/df_t1154012084_s14_p1 List of Datafiles in backup set 14 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 3655725 27-NOV-23 /u01/app/oracle/oradata/slnngka/system01.dbf 2 Full 3655725 27-NOV-23 /u01/app/oracle/oradata/slnngka/sysaux01.dbf 3 Full 3655725 27-NOV-23 /u01/app/oracle/oradata/slnngka/undotbs01.dbf 4 Full 3655725 27-NOV-23 /u01/app/oracle/oradata/slnngka/users01.dbf 5 Full 3655725 27-NOV-23 /u01/app/oracle/oradata/slnngka/gguser.dbf 6 Full 3655725 27-NOV-23 /u01/app/oracle/oradata/slnngka/tps_goldengate01.dbf
10.还原数据文件
run{ allocate channel c1 device type disk; set newname for database to '/u01/app/oracle/oradata/slnngkb/%b'; restore database; switch datafile all; switch tempfile all; release channel c1; }
参数说明:
%b 指定的文件名从目录路径中剥离,只获取数据文件名称.
11.恢复数据库
查看备份过来的归档日志
RMAN> list backup of archivelog all; List of Backup Sets =================== BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 16 346.29M DISK 00:00:47 27-NOV-23 BP Key: 16 Status: AVAILABLE Compressed: YES Tag: TAG20231127T145542 Piece Name: /u01/rmanbak/archive_log_t1154012143_s16_p1 BS Key Size Device Type Elapsed Time Completion Time ------- ---------- ----------- ------------ --------------- 18 231.09M DISK 00:00:38 27-NOV-23 BP Key: 18 Status: AVAILABLE Compressed: YES Tag: TAG20231127T145542 Piece Name: /u01/rmanbak/archive_log_t1154012244_s18_p1 List of Archived Logs in backup set 18 Thrd Seq Low SCN Low Time Next SCN Next Time ---- ------- ---------- --------- ---------- --------- 1 98 3205872 23-NOV-23 3205990 23-NOV-23 1 99 3205990 23-NOV-23 3206048 23-NOV-23 1 100 3206048 23-NOV-23 3206105 23-NOV-23 1 101 3206105 23-NOV-23 3206164 23-NOV-23 1 102 3206164 23-NOV-23 3206316 23-NOV-23 1 103 3206316 23-NOV-23 3206892 23-NOV-23 1 104 3206892 23-NOV-23 3207306 23-NOV-23 1 105 3207306 23-NOV-23 3309631 23-NOV-23 1 106 3309631 23-NOV-23 3309722 23-NOV-23 1 107 3309722 23-NOV-23 3309782 23-NOV-23 1 108 3309782 23-NOV-23 3309840 23-NOV-23 1 109 3309840 23-NOV-23 3309899 23-NOV-23 1 110 3309899 23-NOV-23 3310046 23-NOV-23 1 111 3310046 23-NOV-23 3330987 27-NOV-23 1 112 3330987 27-NOV-23 3331257 27-NOV-23 1 113 3331257 27-NOV-23 3433179 27-NOV-23 1 114 3433179 27-NOV-23 3433268 27-NOV-23 1 115 3433268 27-NOV-23 3433328 27-NOV-23 1 116 3433328 27-NOV-23 3433389 27-NOV-23 1 117 3433389 27-NOV-23 3433449 27-NOV-23 1 118 3433449 27-NOV-23 3433603 27-NOV-23 1 119 3433603 27-NOV-23 3436106 27-NOV-23 1 120 3436106 27-NOV-23 3436489 27-NOV-23 1 121 3436489 27-NOV-23 3536868 27-NOV-23 1 122 3536868 27-NOV-23 3536943 27-NOV-23 1 123 3536943 27-NOV-23 3536991 27-NOV-23 1 124 3536991 27-NOV-23 3537046 27-NOV-23 1 125 3537046 27-NOV-23 3537100 27-NOV-23 1 126 3537100 27-NOV-23 3537171 27-NOV-23 1 127 3537171 27-NOV-23 3537631 27-NOV-23 1 128 3537631 27-NOV-23 3538990 27-NOV-23 1 129 3538990 27-NOV-23 3554627 27-NOV-23 1 130 3554627 27-NOV-23 3593037 27-NOV-23 1 131 3593037 27-NOV-23 3633058 27-NOV-23 1 132 3633058 27-NOV-23 3655797 27-NOV-23 1 133 3655797 27-NOV-23 3655805 27-NOV-23
12.恢复到指定的归档日志
我们这里恢复到133的归档日志,语法需要指定到134(133+1)
run{ set until sequence 134 thread 1; recover database; }
13.打开数据库
SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-00344: unable to re-create online log '/u01/app/oracle/oradata/slnngka/redo01.log' ORA-27040: file create error, unable to create file Linux-x86_64 Error: 2: No such file or directory Additional information: 1 查看当前v$log日志 SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- /u01/app/oracle/oradata/slnngka/redo03.log /u01/app/oracle/oradata/slnngka/redo02.log /u01/app/oracle/oradata/slnngka/redo01.log /u01/app/oracle/oradata/slnngka/stdbyredo04.log /u01/app/oracle/oradata/slnngka/stdbyredo05.log /u01/app/oracle/oradata/slnngka/stdbyredo06.log 6 rows selected. 修改路径 alter database rename file '/u01/app/oracle/oradata/slnngka/redo01.log' to '/u01/app/oracle/oradata/slnngkb/redo01.log'; alter database rename file '/u01/app/oracle/oradata/slnngka/redo02.log' to '/u01/app/oracle/oradata/slnngkb/redo02.log'; alter database rename file '/u01/app/oracle/oradata/slnngka/redo03.log' to '/u01/app/oracle/oradata/slnngkb/redo03.log'; standby log调整,若这里不调整,open数据库的时候可以进行删除 alter database rename file '/u01/app/oracle/oradata/slnngka/stdbyredo04.log' to '/u01/app/oracle/oradata/slnngkb/stdbyredo04.log'; alter database rename file '/u01/app/oracle/oradata/slnngka/stdbyredo05.log' to '/u01/app/oracle/oradata/slnngkb/stdbyredo05.log'; alter database rename file '/u01/app/oracle/oradata/slnngka/stdbyredo06.log' to '/u01/app/oracle/oradata/slnngkb/stdbyredo06.log'; 删除standby log的方法(open database的情况下) select GROUP# from v$standby_log; alter database drop logfile group 4; alter database drop logfile group 5; alter database drop logfile group 6; SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-00392: log 2 of thread 1 is being cleared, operation not allowed ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/slnngkb/redo02.log' 查看日志状态 SQL> select group#,bytes/1024/1024||'M',status from v$log; GROUP# BYTES/1024/1024||'M' STATUS ---------- ----------------------------------------- ---------------- 1 50M CLEARING 3 50M CLEARING 2 50M CLEARING_CURRENT 修复: SQL> alter database clear logfile group 1; SQL> alter database clear logfile group 2; SQL> alter database clear logfile group 3; 再次打开: SQL> alter database open resetlogs; Database altered.
14.创建spfile
create spfile from pfile='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initslnngkb.ora';
标签:11G,27,23,app,oracle,NOV,rman,异机,u01 From: https://www.cnblogs.com/hxlasky/p/17859992.html