oracle 11G ADG添加一个备库组成一主库两备库模式

概述:有时数据库需要多个物理备库以解决各个问题,这里就对刚刚搭建好的ADG 新增一个dg数据库以作备忘;
SQL> select open_mode,PROTECTION_LEVEL,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;

OPEN_MODE            PROTECTION_LEVEL     DATABASE_ROLE    SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
READ ONLY WITH APPLY MAXIMUM PERFORMANCE  PHYSICAL STANDBY NOT ALLOWED

SQL> ! hostname
11g-adg

SQL> select open_mode,PROTECTION_LEVEL,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;


OPEN_MODE            PROTECTION_LEVEL     DATABASE_ROLE    SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
READ WRITE           MAXIMUM PERFORMANCE  PRIMARY          SESSIONS ACTIVE

SQL> SQL> ! hostname
11g-rac1

主库修改参数:

SQL> alter system set db_file_name_convert ='/u01/ora/app/oradata/cube/','+DATADG/cube/datafile/','/u01/ora/app/oradata/cube/','+DATADG/cube/tempfile/','+data/cubedg/datafile','+DATADG/cube/datafile/','+data/cubedg/tempfile','+DATADG/cube/tempfile/' scope=spfile sid='*';

System altered.
SQL> alter system set log_file_name_convert='/u01/ora/app/oradata/cube/','+DATADG/cube/onlinelog/','+data/cubedg/onlinelog/','+DATADG/cube/onlinelog/' scope=spfile sid='*';

System altered.

SQL> alter system set log_archive_dest_3='SERVICE=cubedg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=cubedg' scope=both sid='*';
System altered.

SQL> SQL>  alter system set fal_client=cubep scope=both sid='*'; 

System altered.

SQL> alter system set fal_server='CUBEADG','CUBEDG' scope=both sid='*';

System altered.

SQL>  alter system set log_archive_config='DG_CONFIG=(cubep,cubeadg,cubedg)'  scope=bothsid='*';

System altered.

SQL> alter system set LOG_ARCHIVE_DEST_STATE_3='ENABLE' scope=both sid='*';

System altered.

ADG端修改参数:

SQL> alter system set fal_client='cubeadg';

System altered.

SQL> alter system set fal_server='cubep','cubedg';

System altered.

SQL> alter system set log_archive_config='DG_CONFIG=(cubep,cubeadg,cubedg)';

System altered.

SQL> alter system set log_archive_dest_3='SERVICE=cubedg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=cubedg';

System altered.

SQL>  alter system set LOG_ARCHIVE_DEST_STATE_3='ENABLE';

System altered.

SQL> alter system set db_file_name_convert='+DATADG/cube/datafile/','/u01/ora/app/oradata/cube/','+DATADG/cube/tempfile/','/u01/ora/app/oradata/cube/','+data/cube/data','/u01/ora/app/oradata/cube/' scope=spfile;

System altered.

SQL> alter system set log_file_name_convert='+DATADG/cube/onlinelog/','/u01/ora/app/oradata/cube/','+data/cube/data','/u01/ora/app/oradata/cube/' scope=spfile;

System altered.

第二备库 DG端参数并建立对应的目录:

[root@cube2 dbs]# cat initcube.ora 
*.audit_file_dest='/u01/app/oracle/admin/cube/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='+data/cube/data/control01.ctl','+data/cube/data/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='+DATADG/cube/datafile/','/u01/ora/app/oradata/cube/','+DATADG/cube/tempfile/','/u01/ora/app/oradata/cube/','+data/cubedg/datafile','/u01/ora/app/oradata/cube/','+data/cubedg/tempfile/','/u01/ora/app/oradata/cube/'
*.db_name='cube'
*.db_recovery_file_dest='+data'
*.db_recovery_file_dest_size=4621074432
*.DB_UNIQUE_NAME='cubeadg'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=cubeXDB)'
*.fal_client='cubedg'
*.fal_server='cubep','cubeadg'
*.log_archive_config='DG_CONFIG=(cubep,cubeadg,cubedg)'
*.LOG_ARCHIVE_DEST_1='LOCATION=+data/cube/archivelog
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=cubedg'
*.LOG_ARCHIVE_DEST_2='SERVICE=cubep ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=cubep'
*.log_archive_dest_3='SERVICE=cubeadg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  DB_UNIQUE_NAME=cubedg'
*.LOG_ARCHIVE_DEST_STATE_1='ENABLE'
*.LOG_ARCHIVE_DEST_STATE_2='ENABLE'
*.log_archive_dest_state_3='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.log_file_name_convert='+DATADG/cube/onlinelog/','/u01/ora/app/oradata/cube/','+data/cubedg/onlinelog','/u01/ora/app/oradata/cube/'
*.memory_target=838860800
*.open_cursors=300
*.processes=150
*.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'
*.STANDBY_FILE_MANAGEMENT='AUTO'
*.undo_tablespace='UNDOTBS1'

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size                  2257840 bytes
Variable Size             541068368 bytes
Database Buffers          289406976 bytes
Redo Buffers                2371584 bytes
SQL> create spfile from pfile;

File created.

SQL> startup nomount force;
ORACLE instance started.

Total System Global Area  835104768 bytes
Fixed Size                  2257840 bytes
Variable Size             541068368 bytes
Database Buffers          289406976 bytes
Redo Buffers                2371584 bytes
SQL> 

[oracle@11g-adg dbs]$ scp orapwcube 192.168.56.10:/u01/app/oracle/product/11.2.0/db_1/dbs/
The authenticity of host '192.168.56.10 (192.168.56.10)' can't be established.
RSA key fingerprint is a8:48:04:d8:66:7a:72:64:c6:d2:8b:6b:71:58:87:75.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.10' (RSA) to the list of known hosts.
oracle@192.168.56.10's password: 
orapwcube                                                                                100% 1536     1.5KB/s   00:00    
 

tns文件listner文件配置:
[root@cube2 admin]# cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
cubep =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.20)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.22)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cubep)
    )
)
cubeadg =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cubeadg)
      (UR=A)
    )
)
cubedg =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.10)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cubedg)
      (UR=A)
    )
)

 

[oracle@cube2 admin]$ rman target sys/windows@cubep auxiliary sys/windows@cubedg

Recovery Manager: Release 11.2.0.4.0 - Production on Tue Oct 16 11:55:01 2018

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

connected to target database: CUBE (DBID=3170299392)
connected to auxiliary database: CUBE (not mounted)

RMAN> DUPLICATE TARGET DATABASE
2>   FOR STANDBY
3>   FROM ACTIVE DATABASE;

Starting Duplicate Db at 16-OCT-18
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=25 device type=DISK

contents of Memory Script:
{
   backup as copy reuse
   passwordfile auxiliary format  '/u01/app/oracle/product/11.2.0/db_1/dbs/orapwcube'   ;
}
executing Memory Script

Starting backup at 16-OCT-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=58 instance=cube1 device type=DISK
Finished backup at 16-OCT-18

contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '+DATA/cube/data/control01.ctl';
   restore clone primary controlfile to  '+DATA/cube/data/control02.ctl' from 
 '+DATA/cube/data/control01.ctl';
}
executing Memory Script

Starting backup at 16-OCT-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/product/11.2.4/db_1/dbs/snapcf_cube1.f tag=TAG20181016T115516 RECID=3 STAMP=989668518
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 16-OCT-18

Starting restore at 16-OCT-18
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 16-OCT-18

contents of Memory Script:
{
   sql clone 'alter database mount standby database';
}
executing Memory Script

sql statement: alter database mount standby database
RMAN-05529: WARNING: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed to disk group only.

contents of Memory Script:
{
   set newname for tempfile  1 to 
 "+data";
   switch clone tempfile all;
   set newname for datafile  1 to 
 "+data";
   set newname for datafile  2 to 
 "+data";
   set newname for datafile  3 to 
 "+data";
   set newname for datafile  4 to 
 "+data";
   set newname for datafile  5 to 
 "+data";
   backup as copy reuse
   datafile  1 auxiliary format 
 "+data"   datafile 
 2 auxiliary format 
 "+data"   datafile 
 3 auxiliary format 
 "+data"   datafile 
 4 auxiliary format 
 "+data"   datafile 
 5 auxiliary format 
 "+data"   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to +data in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting backup at 16-OCT-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DATADG/cube/datafile/system.256.986815411
output file name=+DATA/cubedg/datafile/system.284.989668529 tag=TAG20181016T115528
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=+DATADG/cube/datafile/sysaux.257.986815411
output file name=+DATA/cubedg/datafile/sysaux.283.989668563 tag=TAG20181016T115528
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DATADG/cube/datafile/undotbs1.258.986815413
output file name=+DATA/cubedg/datafile/undotbs1.271.989668589 tag=TAG20181016T115528
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DATADG/cube/datafile/undotbs2.267.986815775
output file name=+DATA/cubedg/datafile/undotbs2.275.989668597 tag=TAG20181016T115528
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATADG/cube/datafile/users.259.986815413
output file name=+DATA/cubedg/datafile/users.261.989668599 tag=TAG20181016T115528
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 16-OCT-18

sql statement: alter system archive log current

contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=3 STAMP=989668606 file name=+DATA/cubedg/datafile/system.284.989668529
datafile 2 switched to datafile copy
input datafile copy RECID=4 STAMP=989668606 file name=+DATA/cubedg/datafile/sysaux.283.989668563
datafile 3 switched to datafile copy
input datafile copy RECID=5 STAMP=989668606 file name=+DATA/cubedg/datafile/undotbs1.271.989668589
datafile 4 switched to datafile copy
input datafile copy RECID=6 STAMP=989668606 file name=+DATA/cubedg/datafile/users.261.989668599
datafile 5 switched to datafile copy
input datafile copy RECID=7 STAMP=989668606 file name=+DATA/cubedg/datafile/undotbs2.275.989668597
Finished Duplicate Db at 16-OCT-18

RMAN> 

SQL> alter database recover managed standby database using current logfile disconnect;

Database altered.

SQL> select open_mode,PROTECTION_LEVEL,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;

OPEN_MODE            PROTECTION_LEVEL     DATABASE_ROLE    SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
READ ONLY WITH APPLY MAXIMUM PERFORMANCE  PHYSICAL STANDBY NOT ALLOWED

 

查看主数据、adg数据库、dg数据库  物理备库状况:

SQL> select inst_id,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv$database;

   INST_ID CURRENT_SCN PROTECTION_MODE      DATABASE_ROLE    FOR OPEN_MODE            SWITCHOVER_STATUS
---------- ----------- -------------------- ---------------- --- -------------------- --------------------
         2     1170202 MAXIMUM PERFORMANCE  PRIMARY          YES READ WRITE           SESSIONS ACTIVE
         1     1170202 MAXIMUM PERFORMANCE  PRIMARY          YES READ WRITE           SESSIONS ACTIVE

SQL> select open_mode,PROTECTION_LEVEL,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;

OPEN_MODE            PROTECTION_LEVEL     DATABASE_ROLE    SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
READ ONLY WITH APPLY MAXIMUM PERFORMANCE  PHYSICAL STANDBY NOT ALLOWED

 

总结:第三节点ADG搭建完成,如何使用dg broker管理多个dg呢?

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值