1、 835104768 bytesFixed Size 2257840 bytesVariable Size 541068368 bytesDatabase Buffers 289406976 bytesRedo Buffers 2371584 bytesDatabase mounted.设置主库归档目录 alter system set log_archive_dest=/u01/archivelog;alter system set log_archive_dest_1=location=/data/oracle/log1/archive_log最后的目录名称需要为archive_log a
2、lter database archivelog;Database altered.查看归档设置 archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /u01/archivelogOldest online log sequence 2Next log sequence to archive 4Current log sequence2.启动force_logging模式查看是否force_logging模式 select log_mode,force_logg
3、ing from v$database;LOG_MODE FOR- -ARCHIVELOG NO开启force_logging模式 alter database force logging;3.创建备库日志文件路径查看数据库的日志组个数与大小,因为我们创建standby日志组的个数是原日志组个数+1再与thread的积(2+1)*3),size不能小于原日志文件的大小。 select group#,thread#,bytes/1024/1024 M ,STATUS from v$log; GROUP# THREAD# M STATUS- - - -1 1 50 CURRENT3 50 INAC
4、TIVE2 select member from v$logfile;MEMBER-/u01/app/oracle/oradata/ENN/redo03.log/u01/app/oracle/oradata/ENN/redo02.log/u01/app/oracle/oradata/ENN/redo01.log创建备库日志组路径 alter database add standby logfile thread 1 group 4 (/u01/app/oracle/oradata/ENN/redo04.log) size 50M; alter database add standby logf
5、ile thread 1 group 5 (/u01/app/oracle/oradata/ENN/redo05.log alter database add standby logfile thread 1 group 6 (/u01/app/oracle/oradata/ENN/redo06.log alter database add standby logfile thread 1 group 7 (/u01/app/oracle/oradata/ENN/redo07.log查看状态 select group#,status,type,member from v$logfile; GR
6、OUP# STATUS TYPE MEMBER- - - - ONLINE /u01/app/oracle/oradata/ENN/redo03.log /u01/app/oracle/oradata/ENN/redo02.log /u01/app/oracle/oradata/ENN/redo01.log4 STANDBY /u01/app/oracle/oradata/ENN/redo04.log5STANDBY /u01/app/oracle/oradata/ENN/redo05.log6 STANDBY /u01/app/oracle/oradata/ENN/redo06.log7 S
7、TANDBY /u01/app/oracle/oradata/ENN/redo07.log4.创建监听执行netca创建监听器oracleenn oracle$ netca修改tnsname文件oracleenn oracle$ cd $ORACLE_HOME/network/adminoracleenn admin$ vim tnsname.oraENN = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.80.15 )(PORT = 1521) ) (CONNECT_DATA = (SERVI
8、CE_NAME = enn)ENN_DG = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.16)(PORT = 1521) (SERVICE_NAME = enn_dg)tnsname.ora复制到备库中oracleenn admin$ scp tnsname.ora oracle192.168.80.16:$ORACLE_HOME/network/admin/tnsname.oraoracle192.168.80.16s password:tnsname.ora 100% 361 0.4KB/s 00:00注:可以使用图形配置tnsnameor
9、acleenn admin$ netmgr附:如果备库tnsping不通,关闭防火墙oracleenn_dg $ tnsping ennTNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 21-JUL-2014 09:26:09Copyright (c) 1997, 2013, Oracle.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS_LIST =
10、(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.15)(PORT = 1521) (CONNECT_DATA = (SERVICE_NAME = ENN)TNS-12543: TNS:destination host unreachablerootenn # chkconfig iptables offrootenn # service iptables stop5.设置主库和备库归档路径设置主库归档路径System altered. alter system set log_archive_dest_1=LOCATION=/u01/archivel
11、og VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ENN设置备库归档路径 alter system set log_archive_dest_2=SERVICE=enn_dg async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ENN配置归档最大进程数 show parameter log_archive_maxNAME TYPE VALUE- - -log_archive_max_processes integer alter system set log_arch
12、ive_max_processes=30;6.配置参数文件生成参数文件 create pfile =/u01/app/oracle/initENN.ora from spfile;File created.修改参数文件oracleenn oracle$ vim initENN.oraDB_UNIQUE_NAME=ENN#LOG_ARCHIVE_CONFIG=DG_CONFIG=(ENN,ENN_DG)LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_S
13、ERVER=ENN_DGFAL_CLIENT=ENNSTANDBY_FILE_MANAGEMENT=AUTO7.配置密码文件备份standby库参数文件和密码文件oracleenn pfile$ cd $ORACLE_HOME/dbsoracleenn dbs$ cp orapwENN orapwENN.backoracleenn dbs$ cp spfileENN.ora spfileENN.ora.bak将参数文件和密码文件传到备库oracleenn oracle$ scp initENN.ora oracle192.168.80.16:/u01/app/oracle/product/11
14、.2.0/dbhome_1/dbs/initENN.oraoracleenn oracle$ scp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwENN oracle192.168.80.16:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwENN备库操作rootenn_dg # chkconfig iptables offrootenn_dg # service iptables stop图形方式创建监听器,同主库操作相同oracleenn $ netca可以使用图形方式配置tnsname
15、.oraoracleenn $ netmgr启动备库到nomountstartup nomount pfile=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initENN.oraDuplicate复制主库到备库用rman连接主库和备库oracleenn $ rman target sys/oracleENN auxiliary sys/oracleENN_DGRecovery Manager: Release 11.2.0.4.0 - Production on Mon Jul 21 11:02:39 2014Copyright (c) 1982,
16、2011, Oracle and/or its affiliates.connected to target database: ENN (DBID=4141660501)connected to auxiliary database: ENN (not mounted)执行同步复制备库操作RMAN duplicate target database for standby from active database spfile set db_unique_name ENN出现错误:sql statement: alter database mount standby databaseRMAN
17、-05538: WARNING: implicitly using DB_FILE_NAME_CONVERTRMAN-00571: =RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =RMAN-03002: failure of Duplicate Db command at 07/21/2014 11:15:58RMAN-05501: aborting duplication of target databaseRMAN-05001: auxiliary file name /u01/app/oracle/oradata/ENN/users01.dbf c
18、onflicts with a file used by the target database auxiliary file name /u01/app/oracle/oradata/ENN/undotbs01.dbf conflicts with a file used by the target database auxiliary file name /u01/app/oracle/oradata/ENN/sysaux01.dbf conflicts with a file used by the target database auxiliary file name /u01/app
19、/oracle/oradata/ENN/system01.dbf conflicts with a file used by the target databasea、在异机克隆时,如果auxiliary DB使用了与target DB相同的磁盘配置,目录结构以及文件名时,必须指定NOFILENAMECHECK。NOFILENAMECHECK可以阻止检查target DB的数据文件及联机日志文件是否处于正常使用的状态。而auxiliary DB与target DB的磁盘配置,目录结构以及文件名任一不同时,应避免使用NOFILENAMECHECK。b、对于没有连接到target DB或catal
20、og的情形,应使用BACKUP LOCATION 指定备份文件所在的位置。继续执行duplicate(注:Duplicate时如果主库与备库文件目录结构与文件名都相同时需要使用nofilenamecheck参数)nofilenamecheck;出现问题:Starting Duplicate Db at 21-JUL-1435:59RMAN-05537: DUPLICATE without TARGET connection when auxiliary instance is started with spfile cannot use SPFILE clauseMos(备库必需用主库传过来的
21、pfile启动到nomount状态,才能执行duplicate)CAUSE:A DUPLICATE was attempted when the auxiliary database was started with a server parameter file and the SPFILE sub-clause was specified in Duplicate syntax.RMAN cannot restore the server parameter file if the auxiliary database is already started with a server pa
22、rameter file.SOLUTION:Start the auxiliary database with a client parameter file(pfile) orDo not specify SPFILE sub-clause and retry.启动备库到nomount是使用pfile startup nomount pfile=重新同步复制 nofilenamecheck;报错但正常完成复制ORACLE error from auxiliary database: ORA-19527: physical standby redo log must be renamedORA-00312: online log 1 thread 1: /u01/app/oracle/oradata/ENN/redo01.logRMAN-05535: All redo log files were not defined properly. online log 2 thread 1:/u01/app/oracle/