通过DG_BROKE搭建Oracle11g_adg

1.环境

| | db_primary | db_stanby
| - | :-: | -: |-:
| db版本 | 11.2.0.4.0 | 11.2.0.4.0
| os版本 | centos 6.4| centos 6.4
| db_unique_name | newtest| snewtest
| db name | newtest | newtest
| ip | 10.10.0.23 | 10.10.0.24

2.主库配置过程

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 22:20:50 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 

2.1开启 force logging

SQL> alter database force logging;

Database altered.

SQL> select force_logging from v$database;

FOR
---
YES

2.2开启归档

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     21
Next log sequence to archive   23
Current log sequence           23
SQL> 

2.3password file 配置

[oracle@localhost dbs]$ export ORACLE_SID=newtest
[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 22:32:40 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@localhost dbs]$ sqlplus system/oracle

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 22:32:45 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@localhost dbs]$ ll orapw*
-rw-r-----. 1 oracle dba 1536 Jan 31 20:18 orapwnewtest

#同步密码文件以及spfile文件到备库
[oracle@localhost dbs]$ scp orapwnewtest 10.10.0.24:/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs
oracle@10.10.0.24's password: 
orapwnewtest 
[oracle@localhost dbs]$ scp spfilenewtest.ora  10.10.0.24:/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs
oracle@10.10.0.24's password: 
spfilenewtest.ora  

3. 网路配置

3.1主库上配置listener.ora

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

LISTENER =
  (DESCRIPTION_LIST =
	(DESCRIPTION =
	  (ADDRESS_LIST =
		(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
	  )
	)
  )


SID_LIST_LISTENER =
  (SID_LIST =
	(SID_DESC =
	  (GLOBAL_DBNAME = newtest)
	  (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1/)
	  (SID_NAME = newtest)
	)
  )

~                                                                                                                   
#启动监听
[oracle@localhost admin]$ lsnrctl restart

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 22:52:19

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

NL-00853: undefined command "restart".  Try "help"
[oracle@localhost admin]$ lsnrctl reload

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 22:52:25

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
The command completed successfully
[oracle@localhost admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 22:52:31

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                21-MAR-2018 22:48:21
Uptime                    0 days 0 hr. 4 min. 9 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /home/oracle/app/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "newtest" has 2 instance(s).
  Instance "newtest", status UNKNOWN, has 1 handler(s) for this service...
  Instance "newtest", status READY, has 1 handler(s) for this service...
Service "newtestXDB" has 1 instance(s).
  Instance "newtest", status READY, has 1 handler(s) for this service...
The command completed successfully

3.2主库上配置tnsnames

[oracle@localhost admin]$ vi tnsnames.ora
NEWTEST =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.23)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = newtest)
	)
  )

 SNEWTEST =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.24)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = newtest)
	)
  )

#测试连通性
[oracle@localhost admin]$ tnsping NEWTEST

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 22:56:57

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

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.23)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = newtest)))
OK (20 msec)
[oracle@localhost admin]$ sqlplus system/oracle@NEWTEST

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 22:57:26 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> exit

3.3备库上配置listener.ora

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

LISTENER =
  (DESCRIPTION_LIST =
	(DESCRIPTION =
	  (ADDRESS_LIST =
		(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
	  )
	)
  )


SID_LIST_LISTENER =
  (SID_LIST =
	(SID_DESC =
	  (GLOBAL_DBNAME = newtest)
	  (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1/)
	  (SID_NAME = newtest)
	)
  )

3.2备库上配置tnsnames

[oracle@localhost admin]$ vi tnsnames.ora
NEWTEST =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.23)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = newtest)
	)
  )

 SNEWTEST =
  (DESCRIPTION =
	(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.24)(PORT = 1521))
	(CONNECT_DATA =
	  (SERVER = DEDICATED)
	  (SERVICE_NAME = newtest)
	)
  )

#测试连通性
[oracle@localhost admin]$ tnsping sNEWTEST

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 23:12:09

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

Used parameter files:
/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.24)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = newtest)))
OK (0 msec)
[oracle@localhost admin]$ tnsping NEWTEST

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 23:12:13

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

Used parameter files:
/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.23)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = newtest)))
OK (0 msec)
[oracle@localhost admin]$ tnsping SNEWTEST

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 21-MAR-2018 23:12:16

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

Used parameter files:
/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.0.24)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = newtest)))
OK (10 msec)

4.参数设置

4.1主库设置

[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 23:15:17 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 
SQL> 
SQL> show parameter db_unique_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      newtest
SQL> show parameter standby_file_management

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_file_management              string      MANUAL
SQL> alter system set  standby_file_management=auto
  2  ;

System altered.

SQL> show parameter standby_file_management

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_file_management              string      AUTO
SQL> show parameter dg_broker_start

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start                      boolean     FALSE
SQL> alter system set dg_broker_start = true ;

System altered.


#可以看到dg_broker已经启动
SQL> !ps -ef|grep dmon
oracle   13362     1  0 23:16 ?        00:00:00 ora_dmon_newtest
oracle   13365 13357  0 23:16 pts/0    00:00:00 /bin/bash -c ps -ef|grep dmon
oracle   13367 13365  0 23:16 pts/0    00:00:00 grep dmon

4.2备库设置

[oracle@localhost dbs]$ vi initnewtest.ora 

newtest.__db_cache_size=339738624
newtest.__java_pool_size=4194304
newtest.__large_pool_size=8388608
newtest.__oracle_base='/home/oracle/app'#ORACLE_BASE set from environment
newtest.__pga_aggregate_target=272629760
newtest.__sga_target=515899392
newtest.__shared_io_pool_size=0
newtest.__shared_pool_size=155189248
newtest.__streams_pool_size=0
*.audit_file_dest='/home/oracle/app/admin/newtest/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/home/oracle/app/oradata/newtest/control01.ctl','/home/oracle/app/fast_recovery_area/newtest/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='newtest'
*.db_recovery_file_dest='/home/oracle/app/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.dg_broker_start=TRUE
*.diagnostic_dest='/home/oracle/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=newtestXDB)'
*.memory_target=786432000
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sec_case_sensitive_logon=TRUE
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
db_unique_name=snewtest

#创建目录                                                                                                               
[oracle@localhost dbs]$ cd /home/oracle/app/oradata/newtest/
-bash: cd: /home/oracle/app/oradata/newtest/: No such file or directory
[oracle@localhost dbs]$ mkdir -p /home/oracle/app/admin/newtest/adump
[oracle@localhost dbs]$ mkdir -p /home/oracle/app/oradata/newtest
[oracle@localhost dbs]$ mkdir -p /home/oracle/app/fast_recovery_area
[oracle@localhost dbs]$ mkdir -p /home/oracle/app/fast_recovery_area/newtest


[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 23:32:48 2018

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

Connected to an idle instance.


SQL> create spfile  from pfile  ;

File created.

SQL> startup nomount
ORACLE instance started.

Total System Global Area  784998400 bytes
Fixed Size                  2257352 bytes
Variable Size             478154296 bytes
Database Buffers          301989888 bytes
Redo Buffers                2596864 bytes
SQL> show parameter db_unique_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      snewtest
SQL> 

5 rman搭建standy

[oracle@localhost dbs]$ rman target sys/oracle@NEWTEST auxiliary sys/oracle@SNEWTEST nocatalog

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Mar 21 23:35:59 2018

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

connected to target database: NEWTEST (DBID=1783795369)
using target database control file instead of recovery catalog
connected to auxiliary database: NEWTEST (not mounted)

RMAN> Duplicate target database for standby from active database nofilenamecheck;

Starting Duplicate Db at 21-MAR-18
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=17 device type=DISK

contents of Memory Script:
{
   backup as copy reuse
   targetfile  '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapwnewtest' auxiliary format 
 '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/orapwnewtest'   ;
}
executing Memory Script

Starting backup at 21-MAR-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=40 device type=DISK
Finished backup at 21-MAR-18

contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/home/oracle/app/oradata/newtest/control01.ctl';
   restore clone controlfile to  '/home/oracle/app/fast_recovery_area/newtest/control02.ctl' from 
 '/home/oracle/app/oradata/newtest/control01.ctl';
}
executing Memory Script

Starting backup at 21-MAR-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_newtest.f tag=TAG20180321T233805 RECID=1 STAMP=971393885
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 21-MAR-18

Starting restore at 21-MAR-18
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 21-MAR-18

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

sql statement: alter database mount standby database

contents of Memory Script:
{
   set newname for tempfile  1 to 
 "/home/oracle/app/oradata/newtest/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to 
 "/home/oracle/app/oradata/newtest/system01.dbf";
   set newname for datafile  2 to 
 "/home/oracle/app/oradata/newtest/sysaux01.dbf";
   set newname for datafile  3 to 
 "/home/oracle/app/oradata/newtest/undotbs01.dbf";
   set newname for datafile  4 to 
 "/home/oracle/app/oradata/newtest/users01.dbf";
   set newname for datafile  5 to 
 "/home/oracle/app/oradata/newtest/users02.dbf";
   backup as copy reuse
   datafile  1 auxiliary format 
 "/home/oracle/app/oradata/newtest/system01.dbf"   datafile 
 2 auxiliary format 
 "/home/oracle/app/oradata/newtest/sysaux01.dbf"   datafile 
 3 auxiliary format 
 "/home/oracle/app/oradata/newtest/undotbs01.dbf"   datafile 
 4 auxiliary format 
 "/home/oracle/app/oradata/newtest/users01.dbf"   datafile 
 5 auxiliary format 
 "/home/oracle/app/oradata/newtest/users02.dbf"   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to /home/oracle/app/oradata/newtest/temp01.dbf 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 21-MAR-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/home/oracle/app/oradata/newtest/sysaux01.dbf
output file name=/home/oracle/app/oradata/newtest/sysaux01.dbf tag=TAG20180321T233815
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:05
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/home/oracle/app/oradata/newtest/system01.dbf
output file name=/home/oracle/app/oradata/newtest/system01.dbf tag=TAG20180321T233815
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:06
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/home/oracle/app/oradata/newtest/users02.dbf
output file name=/home/oracle/app/oradata/newtest/users02.dbf tag=TAG20180321T233815
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/home/oracle/app/oradata/newtest/users01.dbf
output file name=/home/oracle/app/oradata/newtest/users01.dbf tag=TAG20180321T233815
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/home/oracle/app/oradata/newtest/undotbs01.dbf
output file name=/home/oracle/app/oradata/newtest/undotbs01.dbf tag=TAG20180321T233815
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 21-MAR-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=1 STAMP=971394136 file name=/home/oracle/app/oradata/newtest/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=2 STAMP=971394136 file name=/home/oracle/app/oradata/newtest/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=971394136 file name=/home/oracle/app/oradata/newtest/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=971394136 file name=/home/oracle/app/oradata/newtest/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=5 STAMP=971394136 file name=/home/oracle/app/oradata/newtest/users02.dbf
Finished Duplicate Db at 21-MAR-18


[oracle@localhost dbs]$ sqlplus  / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 23:43:33 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

6.主备库上漏掉了 log文件配置,导致log没有同步(问题1)

6.1 主库上创建log 租

SQL> desc v$standby_log
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 GROUP#                                             NUMBER
 DBID                                               VARCHAR2(40)
 THREAD#                                            NUMBER
 SEQUENCE#                                          NUMBER
 BYTES                                              NUMBER
 BLOCKSIZE                                          NUMBER
 USED                                               NUMBER
 ARCHIVED                                           VARCHAR2(3)
 STATUS                                             VARCHAR2(10)
 FIRST_CHANGE#                                      NUMBER
 FIRST_TIME                                         DATE
 NEXT_CHANGE#                                       NUMBER
 NEXT_TIME                                          DATE
 LAST_CHANGE#                                       NUMBER
 LAST_TIME                                          DATE

SQL> select * from v$standby_log;

no rows selected

SQL> alter database add standby logfile group 4;

Database altered.

SQL> alter database add standby logfile group 5;

Database altered.

SQL> alter database add standby logfile group 6;

Database altered.

SQL> alter database add standby logfile group 7;

Database altered.


SQL> show parameter broker

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /home/oracle/app/oracle/produc
												 t/11.2.0/dbhome_1/dbs/dr1snewt
												 est.dat
dg_broker_config_file2               string      /home/oracle/app/oracle/produc
												 t/11.2.0/dbhome_1/dbs/dr2snewt
												 est.dat
dg_broker_start                      boolean     TRUE

SQL> !ps -ef |grep dmon
oracle   13978     1  0 23:33 ?        00:00:00 ora_dmon_newtest
oracle   14051 14047  0 23:45 pts/2    00:00:00 /bin/bash -c ps -ef |grep dmon
oracle   14053 14051  0 23:45 pts/2    00:00:00 grep dmon

7.配置 dgmgrl

[oracle@localhost dbs]$ dgmgrl /
DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> create configuration dg_newtest as primary database is newtest connect identifier is newtest;
Configuration "dg_newtest" created with primary database "newtest"
DGMGRL> show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
	newtest - Primary database

Fast-Start Failover: DISABLED

Configuration Status:
DISABLED

DGMGRL> enble configuration;
Unrecognized command "enble", try "help"
DGMGRL> enable configuration ;
Enabled.
DGMGRL> show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
	newtest - Primary database
	  Warning: ORA-16789: standby redo logs not configured

Fast-Start Failover: DISABLED

Configuration Status:
WARNING

DGMGRL> exit

这里又报了一个错:原来刚才只给主库配置了 redo logs 备库上遗漏了

#备库上配置 redo logs
[oracle@localhost dbs]$ 
[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 23:50:38 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter database add standby logfile group 4;

Database altered.

SQL> alter database add standby logfile group 5;

Database altered.

SQL> alter database add standby logfile group 6 ;

Database altered.

SQL> alter database add standby logfile group 7;

Database altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

再次查看dgmgrl 配置

[oracle@localhost dbs]$ dgmgrl /
DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
	newtest - Primary database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS
DGMGRL> exit

现在么问题,success

查看主备的log_archive_dest参数,发现分别在主备的 log_archive_dest_1和 log_archive_dest_2上做了配置

[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 21 23:52:35 2018

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> set linesize 200
SQL> show parameter log_archive_desc_1
SQL> show parameter  log_archive_dest_1

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      location=USE_DB_RECOVERY_FILE_
												 DEST, valid_for=(ALL_LOGFILES,
												  ALL_ROLES)
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

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_18                  string
log_archive_dest_19                  string


SQL> show parameter log_archive_dest_2

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2                   string      service="snewtest", LGWR ASYNC
												  NOAFFIRM delay=0 optional com
												 pression=disable max_failure=0
												  max_connections=1 reopen=300
												 db_unique_name="snewtest" net_
												 timeout=30, valid_for=(all_log
												 files,primary_role)
log_archive_dest_20                  string
log_archive_dest_21                  string
log_archive_dest_22                  string
log_archive_dest_23                  string

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
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
SQL> 

Add database to broker

[oracle@localhost dbs]$ dgmgrl /
DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> add database snewtest as connect identifier is snewtest maintained as physical;
Database "snewtest" added
DGMGRL> show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
	newtest  - Primary database
	snewtest - Physical standby database (disabled)

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> enable database snewtest;
Enabled.
DGMGRL> show configuration;

Configuration - dg_newtest

  Protection Mode: MaxPerformance
  Databases:
	newtest  - Primary database
	snewtest - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS


SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

主备机更改local_listener

#主机
SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string
SQL> alter system set local_listener=newtest;

System altered.

#备机

SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string
SQL> alter system set local_listener=snewtest;

System altered.

8 测试ADG

主库创建表 插入数据

SQL> create table test (id int);

Table created.

SQL> insert into test values(1);

1 row created.

SQL> commit;

Commit complete.

备库open 查询数据

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY

SQL> alter database open;

Database altered.

SQL> select *from test;

		ID
----------
		 1

主库再次插入

SQL> insert into test values(2);

1 row created.

SQL> commit;

Commit complete.

查询备库

SQL> select *from test;

		ID
----------
		 1
		 2

adg 功能实现!

posted @ 2018-03-22 19:42  chinesern  阅读(1240)  评论(0编辑  收藏  举报