Oracle 11g 搭建ADG方式(手动自动)

本文详细介绍了如何在Oracle 11g环境中手动和自动设置数据库镜像(ADG)。内容涵盖从创建监听、配置tnsnames.ora和listener.ora,到验证主备库连接,再到修改数据库参数,创建备用重做日志,直至最终的主备库实时同步。文中包含关键命令和配置示例,适合DBA参考。

1m. 登录主
2m/s. 在主备库同时创建静态监听ltnsnames
    主库的tnsnames.ora   添加备库TNS  , 不需要重启 lsnrctl
    备库设定listener.ora(参考主)需重启LSNRCTL,tnsnames.ora   添加主和备库TNS
    主庫:
      

[oracle@cos6M5]$ more /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =  
  (SID_LIST =  
	(SID_DESC =  
	  (GLOBAL_DBNAME = testdb)  
	  (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)  
	  (SID_NAME = testdb)  
	)  
  )  
LISTENER =
  (DESCRIPTION_LIST =
	(DESCRIPTION =
	  (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
	)
  )

ADR_BASE_LISTENER = /u01/app/oracle

[oracle@cos6M5]$ more /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora 
TESTDB =
(DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = testdb)
	)
)
TESTDB_STD =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.2)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = testdb_std)
	)
  )
TESTDB_PRI =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = testdb)
	)
  )

[oracle@cos6M5 ~]$ cat /home/oracle/product/11.2.2/dbhome_1/network/admin/listener.ora
#有 ODBC  連接的
# listener.ora Network Configuration File: /home/oracle/product/11.2.2/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
	(SID_DESC =
	  (GLOBAL_DBNAME = sfcdb)
	  (ORACLE_HOME = /home/oracle/product/11.2.2/dbhome_1)
	  (SID_NAME = sfcdb)
	)
	(SID_DESC =
	  (SID_NAME = dg4msql)
	  (ORACLE_HOME = /home/oracle/product/11.2.2/dbhome_1)
	  (PROGRAM = dg4msql)
	)
	(SID_DESC =
	  (SID_NAME = MSSQL)
	  (ORACLE_HOME = /home/oracle/product/11.2.2/dbhome_1)
	  (PROGRAM = dg4msql)
	)
  )

LISTENER =
  (DESCRIPTION_LIST =
	(DESCRIPTION =
	  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.2.15)(PORT = 1521))     ## 有雙網卡
	)
	(DESCRIPTION =
	  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
	)
	(DESCRIPTION =
	  (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
	)
  )


#啟動監控 LSNRCTL
[oracle@cos6M5]$  lsnrctl start/stop


    備庫類似。
        
4m/s. 验证主可tnsping 备,反之同。 如:
  

 [oracle@cos6M5 ~]$ tnsping tsmaster_st

5m. 创建主库归档/备份目录
  

[oracle@cos6M5 ~]$ mkdir -p /data/oradata/TSMASTER/archivelog 

6s. 创建备库归档目录, $ORACLE_BASE/admin下的目錄一般要手工建
    

[oracle@cos6s5 ~]$ mkdir -p /data/oradata/TSMASTER/controlfile 
[oracle@cos6s5 ~]$ mkdir -p /data/oradata/TSMASTER/archivelog 
[oracle@cos6s5 ~]$ mkdir -p /home/oracle/admin/tsmaster/adump
[oracle@cos6s5 ~]$ chown -R oracle:dba /home/oracle/admin/

7m. 修改数据库为强制记日志,这是必须的操作,主库的每一步操作都得记录到日志中去。  用于所有的事务都可以通过归档进行回滚
  

[oracle@cos6M5 ~]$ sqlplus / as sysdba
set linesize 1000;
set pagesize 1000;
SQL> alter database force logging;
SQL> alter database archivelog;
	Database altered.    ## 一般主机都有开启规档模式,先查看,如果没有开启,再作业

SQL> SELECT name,log_mode,force_logging FROM v$database;   --验证设定成功的状态
	NAME      LOG_MODE     FOR
	--------- ------------ ---
	TSMASTER  ARCHIVELOG   YES
	
M_SQL> select name,open_mode,protection_mode,database_role,switchover_status from v$database;
	NAME      OPEN_MODE            PROTECTION_MODE      DATABASE_ROLE    SWITCHOVER_STATUS
	--------- -------------------- -------------------- ---------------- 
	SFCDB     READ WRITE           MAXIMUM PERFORMANCE  PRIMARY          TO STANDBY
		
S_SQL> select name,open_mode,protection_mode,database_role,switchover_status from v$database;
	NAME      OPEN_MODE            		PROTECTION_MODE      	DATABASE_ROLE    	 SWITCHOVER_STATUS
	--------- -------------------- -------------------- ---------------- --------------------
	SFCDB     READ ONLY WITH APPLY 	MAXIMUM PERFORMANCE   PHYSICAL STANDBY	  NOT ALLOWED

   7.1m.查看Log 及logfile

SQL> select * from v$log;
	GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
		 1          1         13   52428800        512          2 NO  CURRENT                1127786 22-SEP-21   2.8147E+14
		 3          1         12   52428800        512          2 YES INACTIVE               1107440 22-SEP-21      1127786 22-SEP-21
		 2          1         11   52428800        512          2 YES INACTIVE               1087159 22-SEP-21      1107440 22-SEP-21

SQL> select group#,type, member from v$logfile;

	GROUP# TYPE    MEMBER
---------- ------- 
		 3 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_3_jm118n37_.log
		 3 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_3_jm118n7t_.log
		 2 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_2_jm118lds_.log
		 2 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_2_jm118lgt_.log
		 1 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_1_jm118jyx_.log
		 1 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_1_jm118k26_.log

6 rows selected.

8m. 创建standby redo log,一般与 online SID log对应并多一个文件
 

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/data/oradata/TSMASTER/onlinelog/tsm04.log') size 50M;
	Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/data/oradata/TSMASTER/onlinelog/tsm05.log') size 50M;
	Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/data/oradata/TSMASTER/onlinelog/tsm06.log') size 50M;
	Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/data/oradata/TSMASTER/onlinelog/tsm07.log') size 50M;
	Database altered.

SQL> select group#,type, member from v$logfile;
		GROUP# TYPE    MEMBER
	---------- ------- ------------------------------------------------------------------------------------------------------------------------
			 3 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_3_jm118n37_.log
			 3 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_3_jm118n7t_.log
			 2 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_2_jm118lds_.log
			 2 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_2_jm118lgt_.log
			 1 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_1_jm118jyx_.log
			 1 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_1_jm118k26_.log
			 4 STANDBY /data/oradata/TSMASTER/onlinelog/tsm04.log
			 5 STANDBY /data/oradata/TSMASTER/onlinelog/tsm05.log
			 6 STANDBY /data/oradata/TSMASTER/onlinelog/tsm06.log
			 7 STANDBY /data/oradata/TSMASTER/onlinelog/tsm07.log

	10 rows selected.
				

          

例如,以下SQL语句可用于在要从具有两个重做线程的重做源数据库接收重做的数据库上创建备用重做日志:

	SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 SIZE 500M;
	SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 SIZE 500M;
	SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 SIZE 500M;
	SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 SIZE 500M;
	SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 SIZE 500M;
	SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 SIZE 500M;

               
9m. Oracle Pfile參數文件设定:
    9m.1a 重启主库的参数变更方案a:  非使用状态,可以重启
 

[oracle@cos6M5]$ sqlplus / as sysdba
SQL> create pfile from spfile;	

SQL> shutdown immediate;

[oracle@cos6M5]$ vim $ORACLE_HOME/dbs/inittestdb.ora 
testdb.__db_cache_size=687865856
testdb.__java_pool_size=16777216
testdb.__large_pool_size=33554432
testdb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
testdb.__pga_aggregate_target=671088640
testdb.__sga_target=989855744
testdb.__shared_io_pool_size=0
testdb.__shared_pool_size=234881024
testdb.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/testdb/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/TESTDB/controlfile/o1_mf_gq3chycs_.ctl','/u01/app/oracle/fast_recover
y_area/TESTDB/controlfile/o1_mf_gq3chyhs_.ctl'*.db_block_size=8192
*.db_create_file_dest='/u01/app/oracle'
*.db_domain=''
*.db_name='testdb'
*.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=testdbXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=1660944384
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
以下為新增:
DB_UNIQUE_NAME=testdb_pri
LOG_ARCHIVE_CONFIG='DG_CONFIG=(testdb_pri,testdb_std)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/TESTDB/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=testdb_pri'
LOG_ARCHIVE_DEST_2='SERVICE=testdb_std  LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testdb_std'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=testdb_std
STANDBY_FILE_MANAGEMENT=AUTO

变更后,使用文件值导入	DB 并生效 spfile
[oracle@cos6M5]$ sqlplus / as sysdba
SQL>startup pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/inittestdb.ora';
SQL>create spfile from pfile;

               
    9m.1b 主库生产状态的变更方案b: 使用状态,DB不重启
 

--  查看 DB_UNIQUE_NAME,如无设定此参数与db_name 同 此参数如有变理需要重启服务器生效
--  DB_UNIQUE_NAME 参数指本机TNS,要与后面的统一,避免混乱,如统一使用 testdb_pri
--  standby 激活或停ENABLE / DEFER
SQL> show parameter UNIQUE 
SQL> show parameter LOG_ARCHIVE_FORMAT			
	alter system set LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' scope = spfile; 静态参数變更,變更后需重啟DB生效

SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(testdb_pri,testdb_std)';
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/TESTDB/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=testdb_pri'
SQL> alter system set LOG_ARCHIVE_DEST_3='SERVICE=testdb_std  LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testdb_std';
SQL> alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
SQL> alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
SQL> alter system set FAL_SERVER='testdb_std';
SQL> alter system set STANDBY_FILE_MANAGEMENT=AUTO	;    ---manual
SQL> alter system switch logfile;

   
    9m.2 将主库的参数文件inittestdb.ora, 秘钥文件orapwtestdb Copy到备库的 $ORACL_HOME/dbs/ 目录下
  

[oracle@cos6M5]$scp {inittestdb.ora,orapwtestdb} oracle@196.168.1.1:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/

    9s.3 備庫參數:    
   

[oracle@cos6s5]$ vi $ORACLE_HOME/dbs/inittestdb.ora
主备信息指向变更其他不需变更:
		[]# grep Huge /proc/meminfo   #查詢大内存页”的详细内容
				AnonHugePages:         0 kB
				HugePages_Total:       0
				HugePages_Free:        0
				HugePages_Rsvd:        0
				HugePages_Surp:        0
				Hugepagesize:       2048 kB
				 从上面输出可以看到,每个页的大小为 2MB(Hugepagesize),并且系统中目前有 0 个“大内存页”(HugePages_Total)。这里“大内存页”的大小可以从 2MB 增加到 1GB

		# 一般分配缓存做DB的Buff,越大越好,通常 cache+ Share pool <sga_target 
		tjb2bdb.__db_cache_size=8589934592
		tjb2bdb.__shared_pool_size=6006243328

		DB_UNIQUE_NAME=testdb_std
		LOG_ARCHIVE_CONFIG='DG_CONFIG=(testdb_pri,testdb_std)'
		LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/TESTDB/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=testdb_std'
		LOG_ARCHIVE_DEST_2='SERVICE=testdb_pri  LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testdb_pri'
		FAL_SERVER=testdb_pri
		
		#如果主备目录不一致需添加, *.db_file_name_convert= 主数据库数据文件目录,备用数据库数据文件目录,如
		DB_FILE_NAME_CONVERT='/u01/app/oracle/TESTDB/','/usr/oracle/app/oradata/TESTDB/'	
		LOG_FILE_NAME_CONVERT='/u01/app/oracle/TESTDB/','/usr/oracle/app/oradata/TESTDB/' 
		
		#2G 依据连线最大量来判断 2000 内的连线,一般一个连接占用2KB左右。如果分配给太多,未使用则释放,但没必要
		pga_aggregate_target=2147483648   

		#分配DB使用内存的方案,一般占HOst内存的60%~70% 最少50%;如果有多个实例,需按资料量合理分配占比				
		sga_max_size=16G   
		sga_target=15G       

[oracle@cos6s5]$ cat $ORACLE_HOME/dbs/inittestdb.ora
testdb.__db_cache_size=687865856
testdb.__java_pool_size=16777216
testdb.__large_pool_size=33554432
testdb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
testdb.__pga_aggregate_target=671088640
testdb.__sga_target=989855744
testdb.__shared_io_pool_size=0
testdb.__shared_pool_size=234881024  
testdb.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/testdb/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/TESTDB/controlfile/o1_mf_gq3chycs_.ctl','/u01/app/oracle/fast_recovery_area/TESTDB/controlfile/o1_mf_gq3chyhs_.ctl'
*.db_block_size=8192
*.db_create_file_dest='/u01/app/oracle'
*.db_domain=''
*.db_name='testdb'
*.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=testdbXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=1660944384
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
DB_UNIQUE_NAME=testdb_std  
LOG_ARCHIVE_CONFIG='DG_CONFIG=(testdb_pri,testdb_std)'  
LOG_ARCHIVE_DEST_1=  
 'LOCATION=/u01/app/oracle/TESTDB/archivelog 
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)  
  DB_UNIQUE_NAME=testdb_std'  
LOG_ARCHIVE_DEST_2='SERVICE=testdb_pri LGWR  LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testdb_pri'  
LOG_ARCHIVE_DEST_STATE_1=ENABLE  
LOG_ARCHIVE_DEST_STATE_2=ENABLE  
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE  
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc  
FAL_SERVER=testdb_pri  
STANDBY_FILE_MANAGEMENT=AUTO

用pfile啟動,并生效Pfile
[oracle@cos6s5]$ sqlplus / as sysdba
S_SQL> startup nomount pfile='$ORACLE_HOME/dbs/inittestdb.ora'; 
S_SQL> create spfile from pfile;

        
10m. 使用RMAN 的RUN生成主库的 database/controlfile/spfile 文件,手动复制主库文件到备库,再手动将文件中的资料恢復到备库中(自动则主不需做此操作)

    10m.1 主库: 

[oracle@cos6M5 ~]$ rman target /

RMAN>run{
allocate channel c1 device type disk;  --手动分配一个通道  参考:https://blog.youkuaiyun.com/cys_firefly/article/details/9229009
allocate channel c2 device type disk;
backup as compressed backupset database format '/data/oradata/TSMASTER/controlfile/full_backup_%d_%T_%U.bak'; --备份整个数据库并压缩备份集
backup spfile format ='/data/oradata/TSMASTER/controlfile/spfile_backup_%s_%p_%s.ora';
sql 'alter system switch logfile';
backup current controlfile for standby format '/data/oradata/TSMASTER/controlfile/sty_ctlfile_backup_%s_%p_%s.ctl';
backup archivelog from time='sysdate-0.5' until time 'sysdate' format = '/data/oradata/TSMASTER/controlfile/archivelog_%n_arch_%T_%U.bak';
release channel c1;  --释放通道
release channel c2;
}

    10m.2 把備份文件傳送到備庫相同目錄下

[oracle@cos6M5 ~]$ scp -rp /data/oradata/TSMASTER/controlfile/* oracle@备库IP:/data/oradata/TSMASTER/controlfile/


        
11s. 在备服务器上恢复控制参数及数据
    

     11s.1a 手动使用备份文件恢复数据库,备库是 nomount 状态,pfile一般都指定对应data / log 对应目录
       

[oracle@cos6s5 ~]$ rman target /
RMAN>restore standby controlfile from '/home/oracle/TESTDB/backup/sty_ctlfile_backup_9_1_9.ctl';
RMAN> catalog start with '/data/dbbak/dbbak/';          ### 当主库备份到文件命令中(backup as compressed backupset database format '目录') 使用的目录与备库上的bak目录不一致,则需这个命令对照
RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database;   #导入 achive log 文件,此处是导入最后一个archive log 出错,是因主库最后使用中的log文件未导出,不用管, 使用 Achive LOG同步和实时员步完成无缝衔接

    11s.1b 自动克隆并备份数据库
     

[oracle@centos6s ~]$ rman target sys/Foxconn123@testdb_pri auxiliary sys/Foxconn123@testdb_std
		Recovery Manager: Release 11.2.0.3.0 - Production on Fri Dec 17 00:52:29 2021

		Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

		connected to target database: MMIS (DBID=1366936292)    ## 主庫一定是正常 DBID= ID
		connected to auxiliary database: MMIS (not mounted)         ## 備庫一定是 startup nomount


RMAN> duplicate target database for standby from active database nofilenamecheck;
		Starting Duplicate Db at 17-DEC-21
		......
		datafile 32 switched to datafile copy
		input datafile copy RECID=181 STAMP=1091499539 file name=/data/oradata/mmis/sysaux03.dbf
		Finished Duplicate Db at 17-DEC-21

     
12s. 在备服务器上 将DB设为只读,启动实时同步  

[oracle@cos6s5]$ sqlplus / as sysdba
    #直接读取 archive logfile 中的数据,即同步主库 archive log文件中的数据
S_SQL> alter database recover managed standby database disconnect from session;
    #取消同步 Job
S_SQL> alter database recover managed standby database cancel;
    #将备库设定为只读
S_SQL>alter database open read only;

    #直接从 主库的 内存里同步,即实时同步主库数据
S_SQL> alter database recover managed standby database using current logfile disconnect from session;

M_SQL> alter system switch logfile;
    System altered.

S_SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
                ## SEQUENCE# APP  如果有NO 则提示有未应用的Log,此时无法切换
                
M/S_SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            /data/oradata/TSMASTER/archivelog
    Oldest online log sequence     15
    Next log sequence to archive   17
    Current log sequence           17     ##如果Standby Server上的值是 0 ,说明参数有问题,再Check先同步AchiveLog再实时同步

验证:        
    SQL> create table testc(id number(10),name varchar2(20));  
      
    Table created.  
      
    SQL> insert into testc values(1,'testc');  
      
    1 row created.  
      
    SQL> insert into testc values(2,'testc');  
      
    1 row created.  
      
    SQL> commit;  
      
    Commit complete.  
      
    SQL> alter system switch logfile;   
    SQL> archive log list;  


#########################################################################    
##  如下实例
主: M3: 196.168.1.1

备:S3: 196.168.1.2
#########################################################################
#########################################################################

主: M3: 196.168.1.1

[oracle@cos6m5 ~]$ cat /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = tsmaster)
      (ORACLE_HOME = /home/oracle/product/11.2.4/dbhome_1)
      (SID_NAME = tsmaster)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
    )
  )


ADR_BASE_LISTENER = /home/oracle/

[oracle@cos6m5 ~]$ vi /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
[oracle@cos6m5 ~]$ lsnrctl start

    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-OCT-2021 14:11:50

    Copyright (c) 1991, 2013, Oracle.  All rights reserved.

    Starting /home/oracle/product/11.2.4/dbhome_1/bin/tnslsnr: please wait...

    TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    System parameter file is /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
    Log messages written to /home/oracle/diag/tnslsnr/cos6m5/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=196.168.1.1)(PORT=1521)))

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                11-OCT-2021 14:11:50
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
    Listener Log File         /home/oracle/diag/tnslsnr/cos6m5/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=196.168.1.1)(PORT=1521)))
    Services Summary...
    Service "tsmaster" has 1 instance(s).
      Instance "tsmaster", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully

[oracle@cos6m5 ~]$ cat /home/oracle/product/11.2.4/dbhome_1/network/admin/tnsnames.ora

tsmaster_st =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = tsmaster)
    )
  )

tsmaster =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tsmaster)
    )
  )

tsmaster_pd =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = tsmaster)
    )
  )


[oracle@cos6m5 ~]$ sqlplus / as sysdba


SQL> select * from csong;

        ID NAME
---------- --------------------
         1 Csong
         2 Lyuanyuan
         4 Lyuanyuan4
         3 Lyuanyuan3

SQL> set linesize 1000;
SQL> set pagesize 1000;

SQL> ---------- --------------------
SQL> select supplemental_log_data_min from v$database;

    SUPPLEME
    --------
    YES

SQL> select log_mode,force_logging from v$database;

    LOG_MODE     FOR
    ------------ ---
    ARCHIVELOG   YES

SQL> SELECT name,log_mode,force_logging FROM v$database;

    NAME      LOG_MODE     FOR
    --------- ------------ ---
    TSMASTER  ARCHIVELOG   YES

SQL> select * from v$log;

        GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
    ---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
             1          1         28   52428800        512          2 NO  CURRENT                1219357 11-OCT-21   2.8147E+14
             2          1         26   52428800        512          2 YES INACTIVE               1174668 25-SEP-21      1198514 11-OCT-21
             3          1         27   52428800        512          2 YES INACTIVE               1198514 11-OCT-21      1219357 11-OCT-21

SQL> select  group#,type,member from v$logfile;

        GROUP# TYPE    MEMBER
    ---------- ------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
             3 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_3_jm118n37_.log
             3 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_3_jm118n7t_.log
             2 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_2_jm118lds_.log
             2 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_2_jm118lgt_.log
             1 ONLINE  /data/oradata/TSMASTER/onlinelog/o1_mf_1_jm118jyx_.log
             1 ONLINE  /data/fast_recovery_area/TSMASTER/onlinelog/o1_mf_1_jm118k26_.log
             4 STANDBY /data/oradata/TSMASTER/onlinelog/tsm04.log
             5 STANDBY /data/oradata/TSMASTER/onlinelog/tsm05.log
             6 STANDBY /data/oradata/TSMASTER/onlinelog/tsm06.log
             7 STANDBY /data/oradata/TSMASTER/onlinelog/tsm07.log

    10 rows selected.

SQL> show parameter archive

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    archive_lag_target                   integer     0
    log_archive_config                   string      DG_CONFIG=(tsmaster_pd,tsmaste
                                                     r_st)
    log_archive_dest                     string
    log_archive_dest_1                   string      LOCATION=/data/oradata/TSMASTE
                                                     R/archivelog  VALID_FOR=(ALL_L
                                                     OGFILES,ALL_ROLES)  DB_UNIQUE_
                                                     NAME=tsmaster_pd
    log_archive_dest_10                  string
    log_archive_dest_11                  string
    log_archive_dest_12                  string
    log_archive_dest_13                  string
    log_archive_dest_14                  string
    log_archive_dest_15                  string
    log_archive_dest_16                  string
    log_archive_dest_17                  string
    log_archive_dest_18                  string
    log_archive_dest_19                  string
    log_archive_dest_2                   string      SERVICE=tsmaster_st ASYNC VALI
                                                     D_FOR=(ONLINE_LOGFILES,PRIMARY
                                                     _ROLE) DB_UNIQUE_NAME=tsmaster
                                                     _st
    log_archive_dest_20                  string
    log_archive_dest_21                  string
    log_archive_dest_22                  string
    log_archive_dest_23                  string
    log_archive_dest_24                  string
    log_archive_dest_25                  string
    log_archive_dest_26                  string
    log_archive_dest_27                  string
    log_archive_dest_28                  string
    log_archive_dest_29                  string
    log_archive_dest_3                   string
    log_archive_dest_30                  string
    log_archive_dest_31                  string
    log_archive_dest_4                   string
    log_archive_dest_5                   string
    log_archive_dest_6                   string
    log_archive_dest_7                   string
    log_archive_dest_8                   string
    log_archive_dest_9                   string
    log_archive_dest_state_1             string      ENABLE
    log_archive_dest_state_10            string      enable
    log_archive_dest_state_11            string      enable
    log_archive_dest_state_12            string      enable
    log_archive_dest_state_13            string      enable
    log_archive_dest_state_14            string      enable
    log_archive_dest_state_15            string      enable
    log_archive_dest_state_16            string      enable
    log_archive_dest_state_17            string      enable
    log_archive_dest_state_18            string      enable
    log_archive_dest_state_19            string      enable
    log_archive_dest_state_2             string      ENABLE
    log_archive_dest_state_20            string      enable
    log_archive_dest_state_21            string      enable
    log_archive_dest_state_22            string      enable
    log_archive_dest_state_23            string      enable
    log_archive_dest_state_24            string      enable
    log_archive_dest_state_25            string      enable
    log_archive_dest_state_26            string      enable
    log_archive_dest_state_27            string      enable
    log_archive_dest_state_28            string      enable
    log_archive_dest_state_29            string      enable
    log_archive_dest_state_3             string      enable
    log_archive_dest_state_30            string      enable
    log_archive_dest_state_31            string      enable
    log_archive_dest_state_4             string      enable
    log_archive_dest_state_5             string      enable
    log_archive_dest_state_6             string      enable
    log_archive_dest_state_7             string      enable
    log_archive_dest_state_8             string      enable
    log_archive_dest_state_9             string      enable
    log_archive_duplex_dest              string
    log_archive_format                   string      %t_%s_%r.dbf
    log_archive_local_first              boolean     TRUE
    log_archive_max_processes            integer     4
    log_archive_min_succeed_dest         integer     1
    log_archive_start                    boolean     FALSE
    log_archive_trace                    integer     0
    standby_archive_dest                 string      ?/dbs/arch
SQL> create pfile from spfile;
    File created.
    
SQL> alter database create standby controlfile as '/data/control01.ctl';
    Database altered.

SQL> quit

[oracle@cos6m5 ~]$ cat /home/oracle/product/11.2.4/dbhome_1/dbs/inittsmaster.ora
    tsmaster.__db_cache_size=411041792
    tsmaster.__java_pool_size=4194304
    tsmaster.__large_pool_size=8388608
    tsmaster.__oracle_base='/home/oracle'#ORACLE_BASE set from environment
    tsmaster.__pga_aggregate_target=209715200
    tsmaster.__sga_target=633339904
    tsmaster.__shared_io_pool_size=0
    tsmaster.__shared_pool_size=197132288
    tsmaster.__streams_pool_size=0
    *.audit_file_dest='/home/oracle/admin/tsmaster/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.4.0'
    *.control_files='/data/oradata/TSMASTER/controlfile/o1_mf_jm118fy2_.ctl','/data/fast_recovery_area/TSMASTER/controlfile/o1_mf_jm118g5t_.ctl'
    *.db_block_size=8192
    *.db_create_file_dest='/data/oradata'
    *.db_domain=''
    *.db_name='tsmaster'
    *.db_recovery_file_dest='/data/fast_recovery_area'
    *.db_recovery_file_dest_size=4385144832
    *.DB_UNIQUE_NAME='tsmaster_pd'
    *.diagnostic_dest='/home/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=tsmasterXDB)'
    *.FAL_SERVER='tsmaster_st'
    *.LOG_ARCHIVE_CONFIG='DG_CONFIG=(tsmaster_pd,tsmaster_st)'
    *.LOG_ARCHIVE_DEST_1='LOCATION=/data/oradata/TSMASTER/archivelog  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)  DB_UNIQUE_NAME=tsmaster_pd'
    *.log_archive_dest_2='SERVICE=tsmaster_st ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tsmaster_st'
    *.LOG_ARCHIVE_DEST_STATE_1='ENABLE'
    *.LOG_ARCHIVE_DEST_STATE_2='ENABLE'
    *.log_archive_format='%t_%s_%r.dbf'
    *.memory_target=839909376
    *.open_cursors=300
    *.processes=800
    *.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'
    *.sessions=885
    *.STANDBY_FILE_MANAGEMENT='AUTO'
    *.undo_tablespace='UNDOTBS1'
[oracle@cos6m5 ~]$ scp /home/oracle/product/11.2.4/dbhome_1/dbs/inittsmaster.ora oracle@196.168.1.2:/home/oracle/product/11.2.4/dbhome_1/dbs/
    The authenticity of host '196.168.1.2 (196.168.1.2)' can't be established.
    RSA key fingerprint is 2f:ce:54:cf:76:56:d5:7b:a6:5d:1e:1b:29:2e:f6:2b.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '196.168.1.2' (RSA) to the list of known hosts.
    oracle@196.168.1.2's password:
    inittsmaster.ora                                                                                  100% 1513     1.5KB/s   00:00
[oracle@cos6m5 ~]$ scp /home/oracle/product/11.2.4/dbhome_1/dbs/orapwtsmaster oracle@196.168.1.2:/home/oracle/product/11.2.4/dbhome_1/dbs/
    oracle@196.168.1.2's password:
    orapwtsmaster                                                                                     100% 1536     1.5KB/s   00:00
    
[oracle@cos6m5 ~]$ scp /data/control01.ctl oracle@196.168.1.2:/data/oradata/TSMASTER/controlfile/
    oracle@196.168.1.2's password:
    control01.ctl                 100% 9552KB   9.3MB/s   00:00

[oracle@cos6m5 ~]$ mkdir /data/oradata/TSMASTER/archivelog

    
### 使用RMAN 的RUN生成主库在的 database/controlfile/spfile 文件,命令如下:################
```
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup as compressed backupset database format '/data/oradata/TSMASTER/controlfile/full_backup_%d_%T_%U.bak';
backup spfile format ='/data/oradata/TSMASTER/controlfile/spfile_backup_%s_%p_%s.ora';
sql 'alter system switch logfile';
backup current controlfile for standby format '/data/oradata/TSMASTER/controlfile/sty_ctlfile_backup_%s_%p_%s.ctl';
backup archivelog from time='sysdate-0.5' until time 'sysdate' format = '/data/oradata/TSMASTER/controlfile/archivelog_%n_arch_%T_%U.bak';
release channel c1;
release channel c2;
}
```
### 使用RMAN 的RUN生成主库在的 database/controlfile/spfile 文件,命令如上:################

[oracle@cos6m5 ~]$ rman target /
    Recovery Manager: Release 11.2.0.4.0 - Production on Mon Oct 11 14:53:25 2021

    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

    connected to target database: TSMASTER (DBID=172793101)

RMAN>run{
    allocate channel c1 device type disk;
    allocate channel c2 device type disk;
    backup as compressed backupset database format '/data/oradata/TSMASTER/controlfile/full_backup_%d_%T_%U.bak';
    backup spfile format ='/data/oradata/TSMASTER/controlfile/spfile_backup_%s_%p_%s.ora';
    sql 'alter system switch logfile';
    backup current controlfile for standby format '/data/oradata/TSMASTER/controlfile/sty_ctlfile_backup_%s_%p_%s.ctl';
    backup archivelog from time='sysdate-0.5' until time 'sysdate' format = '/data/oradata/TSMASTER/controlfile/archivelog_%n_arch_%T_%U.bak';
    release channel c1;
    release channel c2;
    11> }

    using target database control file instead of recovery catalog
    allocated channel: c1
    channel c1: SID=20 device type=DISK

    allocated channel: c2
    channel c2: SID=627 device type=DISK

    Starting backup at 11-OCT-21
    channel c1: starting compressed full datafile backup set
    channel c1: specifying datafile(s) in backup set
    input datafile file number=00001 name=/data/oradata/TSMASTER/datafile/o1_mf_system_jm116d22_.dbf
    input datafile file number=00004 name=/data/oradata/TSMASTER/datafile/o1_mf_users_jm116d3r_.dbf
    channel c1: starting piece 1 at 11-OCT-21
    channel c2: starting compressed full datafile backup set
    channel c2: specifying datafile(s) in backup set
    input datafile file number=00002 name=/data/oradata/TSMASTER/datafile/o1_mf_sysaux_jm116d2s_.dbf
    input datafile file number=00003 name=/data/oradata/TSMASTER/datafile/o1_mf_undotbs1_jm116d3d_.dbf
    channel c2: starting piece 1 at 11-OCT-21
    channel c2: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_070bc0aj_1_1.bak tag=TAG20211011T145514 comment=NONE
    channel c2: backup set complete, elapsed time: 00:00:25
    channel c2: starting compressed full datafile backup set
    channel c2: specifying datafile(s) in backup set
    including current control file in backup set
    channel c2: starting piece 1 at 11-OCT-21
    channel c2: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_080bc0bc_1_1.bak tag=TAG20211011T145514 comment=NONE
    channel c2: backup set complete, elapsed time: 00:00:01
    channel c2: starting compressed full datafile backup set
    channel c2: specifying datafile(s) in backup set
    including current SPFILE in backup set
    channel c2: starting piece 1 at 11-OCT-21
    channel c1: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_060bc0ai_1_1.bak tag=TAG20211011T145514 comment=NONE
    channel c1: backup set complete, elapsed time: 00:00:31
    channel c2: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_090bc0bg_1_1.bak tag=TAG20211011T145514 comment=NONE
    channel c2: backup set complete, elapsed time: 00:00:01
    Finished backup at 11-OCT-21

    Starting backup at 11-OCT-21
    channel c1: starting full datafile backup set
    channel c1: specifying datafile(s) in backup set
    including current SPFILE in backup set
    channel c1: starting piece 1 at 11-OCT-21
    channel c1: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/spfile_backup_10_1_10.ora tag=TAG20211011T145547 comment=NONE
    channel c1: backup set complete, elapsed time: 00:00:01
    Finished backup at 11-OCT-21

    sql statement: alter system switch logfile

    Starting backup at 11-OCT-21
    channel c1: starting full datafile backup set
    channel c1: specifying datafile(s) in backup set
    including standby control file in backup set
    channel c1: starting piece 1 at 11-OCT-21
    channel c1: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/sty_ctlfile_backup_11_1_11.ctl tag=TAG20211011T145549 comment=NONE
    channel c1: backup set complete, elapsed time: 00:00:01
    Finished backup at 11-OCT-21

    Starting backup at 11-OCT-21
    channel c1: starting archived log backup set
    channel c1: specifying archived log(s) in backup set
    input archived log thread=1 sequence=26 RECID=30 STAMP=1085653653
    input archived log thread=1 sequence=27 RECID=31 STAMP=1085654007
    input archived log thread=1 sequence=28 RECID=32 STAMP=1085667992
    channel c1: starting piece 1 at 11-OCT-21
    channel c2: starting archived log backup set
    channel c2: specifying archived log(s) in backup set
    input archived log thread=1 sequence=29 RECID=33 STAMP=1085667995
    input archived log thread=1 sequence=30 RECID=34 STAMP=1085669749
    channel c2: starting piece 1 at 11-OCT-21
    channel c1: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/archivelog_TSMASTER_arch_20211011_0c0bc0bn_1_1.bak tag=TAG20211011T145551 comment=NONE
    channel c1: backup set complete, elapsed time: 00:00:01
    channel c2: finished piece 1 at 11-OCT-21
    piece handle=/data/oradata/TSMASTER/controlfile/archivelog_TSMASTER_arch_20211011_0d0bc0bn_1_1.bak tag=TAG20211011T145551 comment=NONE
    channel c2: backup set complete, elapsed time: 00:00:01
    Finished backup at 11-OCT-21

    released channel: c1

    released channel: c2

RMAN> exit

[oracle@cos6m5 ~]$ ls -l /data/oradata/TSMASTER/controlfile/
    总用量 334076
    -rw-r-----  1 oracle oinstall  40637952 10月 11 14:55 archivelog_TSMASTER_arch_20211011_0c0bc0bn_1_1.bak
    -rw-r-----  1 oracle oinstall    980480 10月 11 14:55 archivelog_TSMASTER_arch_20211011_0d0bc0bn_1_1.bak
    -rw-r-----  1 oracle oinstall 202694656 10月 11 14:55 full_backup_TSMASTER_20211011_060bc0ai_1_1.bak
    -rw-r-----  1 oracle oinstall  76865536 10月 11 14:55 full_backup_TSMASTER_20211011_070bc0aj_1_1.bak
    -rw-r-----  1 oracle oinstall   1097728 10月 11 14:55 full_backup_TSMASTER_20211011_080bc0bc_1_1.bak
    -rw-r-----  1 oracle oinstall     98304 10月 11 14:55 full_backup_TSMASTER_20211011_090bc0bg_1_1.bak
    -rw-r-----. 1 oracle oinstall   9781248 10月 11 14:57 o1_mf_jm118fy2_.ctl
    -rw-r-----  1 oracle oinstall     98304 10月 11 14:55 spfile_backup_10_1_10.ora
    -rw-r-----  1 oracle oinstall   9830400 10月 11 14:55 sty_ctlfile_backup_11_1_11.ctl
[oracle@cos6m5 ~]$ scp -rp /data/oradata/TSMASTER/controlfile/* oracle@196.168.1.2:/data/oradata/TSMASTER/controlfile/
    oracle@196.168.1.2's password:
    archivelog_TSMASTER_arch_20211011_0c0bc0bn_1_1.bak                                                100%   39MB  38.8MB/s   00:00
    archivelog_TSMASTER_arch_20211011_0d0bc0bn_1_1.bak                                                100%  958KB 957.5KB/s   00:00
    full_backup_TSMASTER_20211011_060bc0ai_1_1.bak                                                    100%  193MB  96.7MB/s   00:02
    full_backup_TSMASTER_20211011_070bc0aj_1_1.bak                                                    100%   73MB  36.7MB/s   00:02
    full_backup_TSMASTER_20211011_080bc0bc_1_1.bak                                                    100% 1072KB   1.1MB/s   00:00
    full_backup_TSMASTER_20211011_090bc0bg_1_1.bak                                                    100%   96KB  96.0KB/s   00:00
    o1_mf_jm118fy2_.ctl                                                                               100% 9552KB   9.3MB/s   00:00
    spfile_backup_10_1_10.ora                                                                         100%   96KB  96.0KB/s   00:00
    sty_ctlfile_backup_11_1_11.ctl                                                                    100% 9600KB   9.4MB/s   00:00
     


#############################################################################
备:S3: 196.168.1.2
[oracle@cos6s5 ~]$ mkdir -p /data/oradata/TSMASTER/controlfile 
[oracle@cos6s5 ~]$ mkdir -p /data/oradata/TSMASTER/archivelog 
[oracle@cos6s5 ~]$ mkdir -p /home/oracle/admin/tsmaster/adump
[oracle@cos6s5 ~]$ chown -R oracle:dba /home/oracle/admin/

[oracle@cos6s5 ~]$ rm -rf /data/oradata/TSMASTER/datafile/*
[oracle@cos6s5 ~]$ rm -rf /data/oradata/TSMASTER/onlinelog/*

[oracle@cos6s5 ~]$ cat /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = tsmaster)
      (ORACLE_HOME = /home/oracle/product/11.2.4/dbhome_1)
      (SID_NAME = tsmaster)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.2)(PORT = 1521))
    )
  )


ADR_BASE_LISTENER = /home/oracle/

[oracle@cos6s5 ~]$ lsnrctl start

    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-OCT-2021 14:15:22

    Copyright (c) 1991, 2013, Oracle.  All rights reserved.

    Starting /home/oracle/product/11.2.4/dbhome_1/bin/tnslsnr: please wait...

    TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    System parameter file is /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
    Log messages written to /home/oracle/diag/tnslsnr/cos6s5/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=196.168.1.2)(PORT=1521)))

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                11-OCT-2021 14:15:22
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /home/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora
    Listener Log File         /home/oracle/diag/tnslsnr/cos6s5/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=196.168.1.2)(PORT=1521)))
    Services Summary...
    Service "tsmaster" has 1 instance(s).
      Instance "tsmaster", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully

[oracle@cos6s5 ~]$ cat /home/oracle/product/11.2.4/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /home/oracle/product/11.2.4/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

TSMASTER_ST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = tsmaster)
    )
  )

TSMASTER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tsmaster)
    )
  )

TSMASTER_PD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 196.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tsmaster)
    )
  )


[oracle@cos6s5 ~]$ cat /home/oracle/product/11.2.4/dbhome_1/dbs/inittsmaster.ora
tsmaster.__db_cache_size=411041792
tsmaster.__java_pool_size=4194304
tsmaster.__large_pool_size=8388608
tsmaster.__oracle_base='/home/oracle'#ORACLE_BASE set from environment
tsmaster.__pga_aggregate_target=209715200
tsmaster.__sga_target=633339904
tsmaster.__shared_io_pool_size=0
tsmaster.__shared_pool_size=197132288
tsmaster.__streams_pool_size=0
*.audit_file_dest='/home/oracle/admin/tsmaster/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/data/oradata/TSMASTER/controlfile/o1_mf_jm118fy2_.ctl','/data/fast_recovery_area/TSMASTER/controlfile/o1_mf_jm118g5t_.ctl'
*.db_block_size=8192
*.db_create_file_dest='/data/oradata'
*.db_domain=''
*.db_name='tsmaster'
*.db_recovery_file_dest='/data/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.DB_UNIQUE_NAME='tsmaster_st'
*.diagnostic_dest='/home/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tsmasterXDB)'
*.FAL_SERVER='tsmaster_pd'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(tsmaster_pd,tsmaster_st)'
*.LOG_ARCHIVE_DEST_1='LOCATION=/data/oradata/TSMASTER/archivelog  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)  DB_UNIQUE_NAME=tsmaster_st'
*.log_archive_dest_2='SERVICE=tsmaster_pd ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tsmaster_pd'
*.LOG_ARCHIVE_DEST_STATE_1='ENABLE'
*.LOG_ARCHIVE_DEST_STATE_2='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=839909376
*.open_cursors=300
*.processes=800
*.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'
*.sessions=885
*.STANDBY_FILE_MANAGEMENT='AUTO'
*.undo_tablespace='UNDOTBS1'


[oracle@cos6s5 ~]$ sqlplus / as sysdba

SQL> shutdown immediate
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux-x86_64 Error: 2: No such file or directory
SQL> startup nomount pfile='/home/oracle/product/11.2.4/dbhome_1/dbs/inittsmaster.ora';
    ORACLE instance started.

    Total System Global Area  839282688 bytes
    Fixed Size                  2257880 bytes
    Variable Size             717229096 bytes
    Database Buffers          113246208 bytes
    Redo Buffers                6549504 bytes
SQL> create spfile from pfile;
    File created.

SQL> quit

[oracle@cos6s5 ~]$ rman target /

RMAN> restore standby controlfile from '/data/oradata/TSMASTER/controlfile/sty_ctlfile_backup_11_1_11.ctl';
    Starting restore at 11-OCT-21
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=621 device type=DISK

    channel ORA_DISK_1: restoring control file
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
    output file name=/data/oradata/TSMASTER/controlfile/o1_mf_jm118fy2_.ctl
    output file name=/data/fast_recovery_area/TSMASTER/controlfile/o1_mf_jm118g5t_.ctl
    Finished restore at 11-OCT-21

RMAN> alter database mount;
    database mounted
    released channel: ORA_DISK_1

RMAN> restore database;
    Starting restore at 11-OCT-21
    Starting implicit crosscheck backup at 11-OCT-21
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=625 device type=DISK
    Crosschecked 5 objects
    Finished implicit crosscheck backup at 11-OCT-21

    Starting implicit crosscheck copy at 11-OCT-21
    using channel ORA_DISK_1
    Crosschecked 4 objects
    Finished implicit crosscheck copy at 11-OCT-21

    searching for all files in the recovery area
    cataloging files...
    no files cataloged

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00002 to /data/oradata/TSMASTER/datafile/o1_mf_sysaux_jm116d2s_.dbf
    channel ORA_DISK_1: restoring datafile 00003 to /data/oradata/TSMASTER/datafile/o1_mf_undotbs1_jm116d3d_.dbf
    channel ORA_DISK_1: reading from backup piece /data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_070bc0aj_1_1.bak
    channel ORA_DISK_1: piece handle=/data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_070bc0aj_1_1.bak tag=TAG20211011T145514
    channel ORA_DISK_1: restored backup piece 1
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
    channel ORA_DISK_1: starting datafile backup set restore
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    channel ORA_DISK_1: restoring datafile 00001 to /data/oradata/TSMASTER/datafile/o1_mf_system_jm116d22_.dbf
    channel ORA_DISK_1: restoring datafile 00004 to /data/oradata/TSMASTER/datafile/o1_mf_users_jm116d3r_.dbf
    channel ORA_DISK_1: reading from backup piece /data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_060bc0ai_1_1.bak
    channel ORA_DISK_1: piece handle=/data/oradata/TSMASTER/controlfile/full_backup_TSMASTER_20211011_060bc0ai_1_1.bak tag=TAG20211011T145514
    channel ORA_DISK_1: restored backup piece 1
    channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
    Finished restore at 11-OCT-21

RMAN>exit

[oracle@cos6s5 ~]$ sqlplus / as sysdba

SQL> alter database open read only;
    Database altered.

SQL> select * from csong;
            ID NAME
    ---------- --------------------
             1 Csong
             2 Lyuanyuan
             4 Lyuanyuan4
             3 Lyuanyuan3

SQL> recover managed standby database using current logfile disconnect;
    Media recovery complete.
    
SQL> alter database recover managed standby database using current logfile disconnect from session;
    alter database recover managed standby database using current logfile disconnect from session
    *
    ERROR at line 1:
    ORA-01153: an incompatible media recovery is active

SQL> alter database recover managed standby database cancel;
    Database altered.

SQL> alter database recover managed standby database using current logfile disconnect from session;
    Database altered.

## 以上完成 ADG 设定  #####################
## 以下在主库上添加记录     52 52Lyuanyuan, 再来看备库是理同步如下#######
    
SQL> select * from csong;
            ID NAME
    ---------- --------------------
             1 Csong
             2 Lyuanyuan
             4 Lyuanyuan4
             3 Lyuanyuan3
            52 52Lyuanyuan

SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            /data/oradata/TSMASTER/archivelog
    Oldest online log sequence     15
    Next log sequence to archive   17
    Current log sequence           17   -- 比对主备最后的 sequence 是否一致,一致代表同步成功


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值