郑重申明:以下操作过程都是虚拟机模拟生产环境部署搭建adg的,仅供学习参考,直接套用到线上生产环境造成事故损失的,本文章不承担任何责任。
一、环境准备
dg1(主库)环境准备
dg2(备库)环境准备
1.1 dg1(主库) 安装EE版本oracle11g软件-静默安装以及创建实例orcl
安装oracle11g软件和创建orcl实例参考如下文档,此处不再描述 https://blog.51cto.com/wujianwei/12207655
1.2 dg2(备库) 安装EE版本oracle11g软件-静默安装,注意备库不需要创建实例orcl
安装oracle11g软件例参考如下文档,此处不再描述 https://blog.51cto.com/wujianwei/12207655
二、部署DG
2.1、修改hosts文件
2.2、DG1配置(主库oracle操作)
a、开启归档
提示:1.生产环境数据库严禁随意关停。2生产环境数据库在安装初始化时,就已经开启归档日志的。下面的操作只是为了模拟演示需要
b、主库启用强制记录日志功能
c、主库参数配置
一共11个参数需要进行配置。这是关键,如果参数有误,那么搭建可能会失败。1、db_unique_name
2、log_archive_config
3、log_archive_dest_1 设置归档日志的目录位置
alter system set log_archive_dest_1='LOCATION=/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dbprimary07' scope=both;
##创建归档日志存放目录arch
su - oracle
mkdir -p /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch
##查看归档日志的目录位置
SQL> SELECT NAME, ARCHIVED, DEST_ID, COMPLETION_TIME FROM V$ARCHIVED_LOG ORDER BY COMPLETION_TIME DESC;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
提示:
主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐一指明对映关系。
一对一映射设定,在主库spfile配置文件中,第一个路径是备库的路径,第二个路径是主库的路径,这点是比较特别的,和常规的情况是相反的;
在备库spfile配置文件中,第一个路径是主库的路径,第二个路径是备库的路径,这点是比较特别的,和常规的情况是相反的;
4、log_archive_dest_2
5、log_archive_dest_state_1
6、log_archive_dest_state_2
7、db_file_name_convert 查找数据文件的位置
8、log_file_name_convert 查看在线日志文件的位置
9、standby_file_management
10、fal_client
11、fal_server
d、主库静态监听配置
[oracle@dbprimary07 admin]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = dbprimary07)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
)
ADR_BASE_LISTENER = /u01/oracle/tools/oracle11g
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
[oracle@dbprimary07 admin]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
dbprimary07 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
dbstandby08 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
[oracle@dbprimary07 admin]$
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
##查看监听的状态
lsnrctl status
lsnrctl start
[oracle@dbprimary07 admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-OCT-2024 12:20:26
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.7)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 11-OCT-2024 12:20:23
Uptime 0 days 0 hr. 0 min. 3 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/oracle/tools/oracle11g/diag/tnslsnr/dbprimary07/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.0.7)(PORT=1521)))
Services Summary...
Service "dbprimary07" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
2.3、DG2配置
a、密码文件
在dataguard中,主库与备库sys密码需一致,需要将主库的密码文件拷贝到备库中。
[oracle@dbprimary07 admin]$ cd $ORACLE_HOME/dbs
[oracle@dbprimary07 dbs]$ ls
arch hc_DBUA0.dat hc_orcl.dat init.ora lkORCL orapworcl spfileorcl.ora
[oracle@dbprimary07 dbs]$ scp orapworcl 10.0.0.8:/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/
oracle@10.0.0.8's password:
orapworcl
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
如果不拷贝密码文件,直接使用orapwd生成一个新的密码文件,密码需与主库一致:
b、初始化参数文件
1、在主库生成初始化参数文件
在主库的目录下会生成一个 initorcl.ora 文件 文件部分内容就是刚才登录主库alter设置的参数.具体文件内容如下:
[oracle@dbprimary07 dbs]$ pwd
/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs
[oracle@dbprimary07 dbs]$ cat initorcl.ora
orcl.__db_cache_size=654311424
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/oracle/tools/oracle11g'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=637534208
orcl.__sga_target=956301312
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=251658240
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/tools/oracle11g/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl','/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/u01/oracle/tools/oracle11g/oradata/orcl','/u01/oracle/tools/oracle11g/oradata/orcl'
*.db_name='orcl'
*.db_recovery_file_dest='/u01/oracle/tools/oracle11g/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.db_unique_name='dbprimary07'
*.diagnostic_dest='/u01/oracle/tools/oracle11g'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_client='dbprimary07'
*.fal_server='dbstandby08'
*.log_archive_dest_1='LOCATION=/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dbprimary07'
*.log_archive_dest_2='SERVICE=dbstandby08 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dbstandby08'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_file_name_convert='/u01/oracle/tools/oracle11g/oradata/orcl','/u01/oracle/tools/oracle11g/oradata/orcl'
*.memory_target=1580204032
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
2、拷贝主库的initorcl.ora参数文件到备库
3、修改备库的参数文件内容如下
[oracle@dbstandby08 dbs]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora
orcl.__db_cache_size=654311424
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/oracle/tools/oracle11g'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=637534208
orcl.__sga_target=956301312
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=251658240
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/tools/oracle11g/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl','/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_name_convert='/u01/oracle/tools/oracle11g/oradata/orcl','/u01/oracle/tools/oracle11g/oradata/orcl'
*.db_name='orcl'
*.db_recovery_file_dest='/u01/oracle/tools/oracle11g/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.db_unique_name='dbstandby08'
*.diagnostic_dest='/u01/oracle/tools/oracle11g'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_client='dbstandby08'
*.fal_server='dbprimary07'
*.log_archive_dest_1='LOCATION=/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dbstandby08'
*.log_archive_dest_2='SERVICE=dbprimary07 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dbprimary07'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_file_name_convert='/u01/oracle/tools/oracle11g/oradata/orcl','/u01/oracle/tools/oracle11g/oradata/orcl'
*.memory_target=1580204032
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
注意:里面涉及到路径的需要手动创建
登陆到备库使用pfile文件创建spfile文件
sqlplus / as sysdba
create spfile from pfile='/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/initorcl.ora';
##提示:此处使用pfile文件创建spfile文件,默认找的就是$ORACLE_HOME/11.2.0/dbhome_1/dbs/initorcl.ora文件。此处可以直接create spfile from pfile;来生成spfileorcl.ora二进制文件。
要是initorcl.ora文件不在默认$ORACLE_HOME/11.2.0/dbhome_1/dbs/路径下,创建spfile文件时 需要create spfile from pfile='xxxx';指定pfile文件具体路径
- 1.
- 2.
- 3.
- 4.
- 5.
提示报错:
需要创建下adump目录
[oracle@dbstandby08 dbs]$ mkdir -p /u01/oracle/tools/oracle11g/admin/orcl/adump
关闭备库oracle 再次启动
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL>
SQL>
SQL> shutdown immediate;
ORA-01012: not logged on
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 1586708480 bytes
Fixed Size 2213736 bytes
Variable Size 922749080 bytes
Database Buffers 654311424 bytes
Redo Buffers 7434240 bytes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
4、配置静态监听
[oracle@dbstandby08 admin]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/oracle/product/11.2.0/db/network/admin/listener
.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=orcl)
(SID_NAME = orcl)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
)
(SID_DESC =
(GLOBAL_DBNAME = dbstandby08)
(ORACLE_HOME = /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
ADR_BASE_LISTENER = /u01/oracle/tools/oracle11g
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
[oracle@dbstandby08 admin]$ cat /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
dbprimary07 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
dbstandby08 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
5、测试网络连通性
[oracle@dbprimary07 ~]$ tnsping dbstandby08
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 11-OCT-2024 13:00:26
Copyright (c) 1997, 2009, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.8)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
OK (0 msec)
[oracle@dbstandby08 admin]$ tnsping dbprimary07
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 11-OCT-2024 13:00:52
Copyright (c) 1997, 2009, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.7)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (0 msec)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
6、在主库进行登录测试
均可以正常登录
要是有不能登录的情况,就重新启动下监听器
lsnrctl stop ;
lsnrctl start ;
7、使用duplicate创建物理standby
(1)连接到主备库
[oracle@dbstandby08 admin]$ rman target sys/oracle@dbprimary07 auxiliary sys/oracle@dbstandby08 nocatalog
Recovery Manager: Release 11.2.0.1.0 - Production on Fri Oct 11 13:05:44 2024
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1709860377)
using target database control file instead of recovery catalog
connected to auxiliary database: ORCL (not mounted)
RMAN> exit
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
(2)使用duplicate复制数据库
RMAN> duplicate target database for standby from active database nofilenamecheck;
Starting Duplicate Db at 11-OCT-24
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=10 device type=DISK
contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/orapworcl' auxiliary format
'/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/orapworcl' ;
}
executing Memory Script
Starting backup at 11-OCT-24
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
Finished backup at 11-OCT-24
contents of Memory Script:
{
backup as copy current controlfile for standby auxiliary format '/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl';
restore clone controlfile to '/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl' from
'/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl';
}
executing Memory Script
Starting backup at 11-OCT-24
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f tag=TAG20241011T130642 RECID=1 STAMP=1182085603
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:02
Finished backup at 11-OCT-24
Starting restore at 11-OCT-24
using channel ORA_AUX_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 10/11/2024 13:06:45
RMAN-03015: error occurred in stored script Memory Script
ORA-19504: failed to create file "/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl"
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 2: No such file or directory
ORA-19600: input file is control file (/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl)
ORA-19601: output file is control file (/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl)
RMAN>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
提示报错:根据报错查看备库机器上flash_recovery_area/orcl 目录不存在,需要创建下
再次执行命令下面指令,顺利运行完成
duplicate target database for standby from active database nofilenamecheck;
RMAN>
RMAN> duplicate target database for standby from active database nofilenamecheck;
Starting Duplicate Db at 11-OCT-24
using channel ORA_AUX_DISK_1
contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/orapworcl' auxiliary format
'/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/orapworcl' ;
}
executing Memory Script
Starting backup at 11-OCT-24
using channel ORA_DISK_1
Finished backup at 11-OCT-24
contents of Memory Script:
{
backup as copy current controlfile for standby auxiliary format '/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl';
restore clone controlfile to '/u01/oracle/tools/oracle11g/flash_recovery_area/orcl/control02.ctl' from
'/u01/oracle/tools/oracle11g/oradata/orcl/control01.ctl';
}
executing Memory Script
Starting backup at 11-OCT-24
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f tag=TAG20241011T130942 RECID=2 STAMP=1182085782
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 11-OCT-24
Starting restore at 11-OCT-24
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 11-OCT-24
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
"/u01/oracle/tools/oracle11g/oradata/orcl/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/oracle/tools/oracle11g/oradata/orcl/system01.dbf";
set newname for datafile 2 to
"/u01/oracle/tools/oracle11g/oradata/orcl/sysaux01.dbf";
set newname for datafile 3 to
"/u01/oracle/tools/oracle11g/oradata/orcl/undotbs01.dbf";
set newname for datafile 4 to
"/u01/oracle/tools/oracle11g/oradata/orcl/users01.dbf";
backup as copy reuse
datafile 1 auxiliary format
"/u01/oracle/tools/oracle11g/oradata/orcl/system01.dbf" datafile
2 auxiliary format
"/u01/oracle/tools/oracle11g/oradata/orcl/sysaux01.dbf" datafile
3 auxiliary format
"/u01/oracle/tools/oracle11g/oradata/orcl/undotbs01.dbf" datafile
4 auxiliary format
"/u01/oracle/tools/oracle11g/oradata/orcl/users01.dbf" ;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /u01/oracle/tools/oracle11g/oradata/orcl/temp01.dbf in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 11-OCT-24
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/oracle/tools/oracle11g/oradata/orcl/system01.dbf
output file name=/u01/oracle/tools/oracle11g/oradata/orcl/system01.dbf tag=TAG20241011T130950
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/oracle/tools/oracle11g/oradata/orcl/sysaux01.dbf
output file name=/u01/oracle/tools/oracle11g/oradata/orcl/sysaux01.dbf tag=TAG20241011T130950
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u01/oracle/tools/oracle11g/oradata/orcl/undotbs01.dbf
output file name=/u01/oracle/tools/oracle11g/oradata/orcl/undotbs01.dbf tag=TAG20241011T130950
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/oracle/tools/oracle11g/oradata/orcl/users01.dbf
output file name=/u01/oracle/tools/oracle11g/oradata/orcl/users01.dbf tag=TAG20241011T130950
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 11-OCT-24
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=2 STAMP=1182085798 file name=/u01/oracle/tools/oracle11g/oradata/orcl/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=1182085798 file name=/u01/oracle/tools/oracle11g/oradata/orcl/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=1182085798 file name=/u01/oracle/tools/oracle11g/oradata/orcl/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=1182085798 file name=/u01/oracle/tools/oracle11g/oradata/orcl/users01.dbf
Finished Duplicate Db at 11-OCT-24
RMAN>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
- 124.
- 125.
- 126.
- 127.
- 128.
- 129.
8、添加主库和备库的standby日志组
添加standby日志组需要注意的事项
standby日志组个数:配置为redo日志组个数+1
在主库与备库都添加standby日志组。主库可以不添加,但是如果后期发生主备切换,还是要添加,所以最好一次性添加
先查看主库redo日志的位置
先添加主库的standby日志组:
alter database add standby logfile group 4 '/u01/oracle/tools/oracle11g/oradata/orcl/redo04.log' size 50M;
alter database add standby logfile group 5 '/u01/oracle/tools/oracle11g/oradata/orcl/redo05.log' size 50M;
alter database add standby logfile group 6 '/u01/oracle/tools/oracle11g/oradata/orcl/redo06.log' size 50M;
alter database add standby logfile group 7 '/u01/oracle/tools/oracle11g/oradata/orcl/redo07.log' size 50M;
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/oracle/tools/oracle11g/oradata/orcl/redo03.log
/u01/oracle/tools/oracle11g/oradata/orcl/redo02.log
/u01/oracle/tools/oracle11g/oradata/orcl/redo01.log
/u01/oracle/tools/oracle11g/oradata/orcl/redo04.log
/u01/oracle/tools/oracle11g/oradata/orcl/redo05.log
/u01/oracle/tools/oracle11g/oradata/orcl/redo06.log
/u01/oracle/tools/oracle11g/oradata/orcl/redo07.log
7 rows selected.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
再查看从库的redo日志位置:
(从库的redolog文件是第7步duplicate指令由主库复制过来的)
添加备库的standby日志组:
alter database add standby logfile group 4 '/u01/oracle/tools/oracle11g/oradata/orcl/redo04.log' size 50M;
alter database add standby logfile group 5 '/u01/oracle/tools/oracle11g/oradata/orcl/redo05.log' size 50M;
alter database add standby logfile group 6 '/u01/oracle/tools/oracle11g/oradata/orcl/redo06.log' size 50M;
alter database add standby logfile group 7 '/u01/oracle/tools/oracle11g/oradata/orcl/redo07.log' size 50M;
- 1.
- 2.
- 3.
- 4.
- 5.
9、开始同步数据库,在备库上执行
10、开启实时同步
三、查看主备库状态
1、主库检查
SQL> set line 300 pages 300
SQL> select name,remote_archive,database_role,guard_status,db_unique_name from v$database;
NAME REMOTE_ARCHIVE DATABASE_ROLE GUARD_STATUS DB_UNIQUE_NAME
--------------------------- ------------------------ ------------------------------------------------ --------------------- ------------------------------------------------------------------------------------------
ORCL ENABLED PRIMARY NONE orcl
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
发现主库DB_UNIQUE_NAME的名称为orcl,这个是主库初始化时给设定的 DB_UNIQUE_NAME名称为orcl。一开始主库配置dg1时 alter system set db_unique_name = ‘dbprimary07’ scope=spfile; 并没有生效。需要 create spfile from pfile;重启oracle才能生效。
此时需要先关闭备库监听,关闭备库,然后重启主库,最后开启备库和备库监听
//关闭备库监听器
lsnrctl stop
//关闭备库
sqlplus / as sysdba
alter database recover managed standby database cancel;
shutdown immediate;
//关闭和重启主库操作
shutdown immediate;
startup mount;
SQL> set line 300 pages 300
SQL> select name,remote_archive,database_role,guard_status,db_unique_name from v$database;
NAME REMOTE_ARCHIVE DATABASE_ROLE GUARD_STATUS DB_UNIQUE_NAME
--------------------------- ------------------------ ------------------------------------------------ --------------------- ------------------------------------------------------------------------------------------
ORCL ENABLED PRIMARY NONE dbprimary07
//启动备库
startup nomount;
alter database mount standby database;
alter database open;
alter database recover managed standby database using current logfile disconnect from session;
//启动备库监听器
quit;
lsnrctl start
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
当然给线上正在运行的单实例orcl部署备用实例时,这个DB_UNIQUE_NAME是不能随便修改的,因为修改的话,是需要重启oracle服务的。
所以给线上正在运行oracle实例配置adg时,DB_UNIQUE_NAME要保持不变,从库的配置参数DB_UNIQUE_NAME进行修改就行
2、备库检查
SQL> set line 300 pages 300
SQL> select name,remote_archive,database_role,guard_status,db_unique_name from v$database;
NAME REMOTE_ARCHIVE DATABASE_ROLE GUARD_STATUS DB_UNIQUE_NAME
--------------------------- ------------------------ ------------------------------------------------ --------------------- ------------------------------------------------------------------------------------------
ORCL ENABLED PHYSICAL STANDBY NONE dbstandby08
SQL>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
3、查询主备库日志是否同步(确保最大 SEQUENCE#相同)
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# FIRST_TIME NEXT_TIME
---------- --------------- ---------------
2 11-OCT-24 11-OCT-24
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# FIRST_TIME NEXT_TIME
---------- ------------------ ------------------
2 11-OCT-24 11-OCT-24
SQL>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
4、检查日志是否被备库使用(APPLIED 值为 yes)
5. 主库上手动切换下归档日志进行验证同步
主库操作:
SQL> alter system archive log current;
System altered.
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APPLIED
---------- ---------------------------
2 NO
3 NO
3 YES
4 NO
4 YES
5 NO
5 YES
6 NO
6 NO
9 rows selected.
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# FIRST_TIME NEXT_TIME
---------- --------------- ---------------
2 11-OCT-24 11-OCT-24
3 11-OCT-24 11-OCT-24
3 11-OCT-24 11-OCT-24
4 11-OCT-24 11-OCT-24
4 11-OCT-24 11-OCT-24
5 11-OCT-24 11-OCT-24
5 11-OCT-24 11-OCT-24
6 11-OCT-24 11-OCT-24
6 11-OCT-24 11-OCT-24
9 rows selected.
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
备库查看证明同步已经完成
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# FIRST_TIME NEXT_TIME
---------- ------------------ ------------------
2 11-OCT-24 11-OCT-24
3 11-OCT-24 11-OCT-24
4 11-OCT-24 11-OCT-24
5 11-OCT-24 11-OCT-24
6 11-OCT-24 11-OCT-24
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APPLIED
---------- ---------------------------
2 YES
3 YES
4 YES
5 YES
6 IN-MEMORY
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
四、DataGuard测试
在主库上创建测试表并插入数据
提示:
主库执行完sql后,必须进行commit,主库数据才会同步到备库
在standby数据库上查询测试表,验证数据同步成功
五、日常运维必备命令
5.1、主备库角色状态查询
select switchover_status,database_role from v$database;
select name,open_mode,database_role,dataguard_broker,guard_status,switchover_status from v$database;
SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
------------------------------------------------------------ ------------------------------------------------
TO STANDBY PRIMARY
SQL> select name,open_mode,database_role,dataguard_broker,guard_status,switchover_status from v$database;
NAME OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER GUARD_STATUS SWITCHOVER_STATUS
--------------------------- ------------------------------------------------------------ ------------------------------------------------ ------------------------ --------------------- ------------------------------------------------------------
ORCL READ WRITE PRIMARY DISABLED NONE TO STANDBY
SQL>
SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
------------------------------------------------------------ ------------------------------------------------
NOT ALLOWED PHYSICAL STANDBY
SQL> select name,open_mode,database_role,dataguard_broker,guard_status,switchover_status from v$database;
NAME OPEN_MODE DATABASE_ROLE DATAGUARD_BROKER GUARD_STATUS SWITCHOVER_STATUS
--------------------------- ------------------------------------------------------------ ------------------------------------------------ ------------------------ --------------------- ------------------------------------------------------------
ORCL READ ONLY WITH APPLY PHYSICAL STANDBY DISABLED NONE NOT ALLOWED
SQL>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
5.2、查看dataguard最新状态
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
set line 160
set pagesize 1000
col type for a20
select process, status, thread#,sequence#, block#, blocks from v$managed_standby;
select GROUP#,THREAD#,SEQUENCE#,STATUS,LAST_CHANGE#,LAST_TIME from v$standby_log;
select START_TIME,TYPE, ITEM,UNITS,SOFAR,TIMESTAMP from v$recovery_progress where ITEM='Last Applied Redo';
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
主库查看:
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> set line 160
SQL> set pagesize 1000
SQL> col type for a20
SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------------------------- ------------------------------------ ---------- ---------- ---------- ----------
ARCH CLOSING 1 4 1 84
ARCH CONNECTED 0 0 0 0
ARCH CONNECTED 0 0 0 0
ARCH CLOSING 1 3 1 238
LNS WRITING 1 7 2438 1
SQL> select GROUP#,THREAD#,SEQUENCE#,STATUS,LAST_CHANGE#,LAST_TIME from v$standby_log;
GROUP# THREAD# SEQUENCE# STATUS LAST_CHANGE# LAST_TIME
---------- ---------- ---------- ------------------------------ ------------ -------------------
4 0 0 UNASSIGNED 0
5 0 0 UNASSIGNED 0
6 0 0 UNASSIGNED 0
7 0 0 UNASSIGNED 0
SQL> select START_TIME,TYPE, ITEM,UNITS,SOFAR,TIMESTAMP from v$recovery_progress where ITEM='Last Applied Redo';
no rows selected
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
备库查看:
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
SQL> set line 160
SQL> set pagesize 1000
SQL> col type for a20
SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------------------------- ------------------------------------ ---------- ---------- ---------- ----------
ARCH CLOSING 1 5 1 44
ARCH CLOSING 1 3 1 238
ARCH CLOSING 1 6 1 6
ARCH CONNECTED 0 0 0 0
MRP0 APPLYING_LOG 1 7 2495 102400
RFS IDLE 0 0 0 0
RFS IDLE 0 0 0 0
RFS IDLE 1 7 2495 1
8 rows selected.
SQL> select GROUP#,THREAD#,SEQUENCE#,STATUS,LAST_CHANGE#,LAST_TIME from v$standby_log;
GROUP# THREAD# SEQUENCE# STATUS LAST_CHANGE# LAST_TIME
---------- ---------- ---------- ------------------------------ ------------ -------------------
4 1 7 ACTIVE 959080 2024-10-11 14:21:04
5 0 0 UNASSIGNED 0
6 0 0 UNASSIGNED 0
7 0 0 UNASSIGNED 0
SQL> select START_TIME,TYPE, ITEM,UNITS,SOFAR,TIMESTAMP from v$recovery_progress where ITEM='Last Applied Redo';
START_TIME TYPE ITEM
------------------- -------------------- ------------------------------------------------------------------------------------------------
UNITS SOFAR TIMESTAMP
------------------------------------------------------------------------------------------------ ---------- -------------------
2024-10-11 13:55:06 Media Recovery Last Applied Redo
SCN+Time 0 2024-10-11 14:21:06
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
5.3、主库查看redo_log;备库查看standby log
SQL> select group#,thread#,bytes/1024/1024M,status,last_change#,last_time from v$standby_log;
GROUP# THREAD# M STATUS LAST_CHANGE# LAST_TIME
---------- ---------- ---------- ------------------------------ ------------ -------------------
4 1 50 ACTIVE 963990 2024-10-11 15:32:36
5 0 50 UNASSIGNED 0
6 0 50 UNASSIGNED 0
7 0 50 UNASSIGNED 0
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
5.4、主、备库查看当前日志状况
select group#,thread#,bytes/1024/1024 M,status from v$log;
主库查看
SQL> select group#,thread#,bytes/1024/1024 M,status from v$log;
GROUP# THREAD# M STATUS
---------- ---------- ---------- ------------------------------------------------
1 1 50 CURRENT
2 1 50 INACTIVE
3 1 50 INACTIVE
备库查看
SQL> select group#,thread#,bytes/1024/1024 M,status from v$log;
GROUP# THREAD# M STATUS
---------- ---------- ---------- ------------------------------------------------
1 1 50 CLEARING_CURRENT
2 1 50 CLEARING
3 1 50 CLEARING
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
5.5、显示服务名称
SQL> show parameter service_names;
NAME TYPE VALUE
------------------------------------ -------------------- ------------------------------
service_names string dbprimary07
SQL>
SQL> show parameter service_names;
NAME TYPE VALUE
------------------------------------ -------------------- ------------------------------
service_names string dbstandby08
SQL>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
5.6、查看从库日志应用情况
SQL> select name,sequence#,archived,applied from v$archived_log order by sequence#;
NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SEQUENCE# ARCHIVED APPLIED
---------- --------- ---------------------------
/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch/1_2_1182079644.dbf
2 YES YES
/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch/1_3_1182079644.dbf
3 YES YES
/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch/1_4_1182079644.dbf
4 YES YES
/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch/1_5_1182079644.dbf
5 YES YES
/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1/dbs/arch/1_6_1182079644.dbf
6 YES IN-MEMORY
SQL>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
5.7、强制注册服务
SQL> alter system register;
①如果是先启动监听,后启动数据库实例,则动态监听会自动识别到启动的数据库实例;
②在数据库实例正常运行的情况下重启监听,则数据库实例会等很长时间才能在动态监听中注册成功,大约需要1分钟的等待时间;
③如果是先启动数据库实例,后启动监听,效果和②一样;
④如果不希望长时间等待动态监听注册的过程,可以使用“alter system register;”命令加速。
网友验证结论过程 https://blog.csdn.net/anzhen0429/article/details/78351712
5.8、手动切换归档日志
郑重申明:上述操作过程都是虚拟机模拟生产环境部署搭建adg的,仅供学习参考,直接套用到线上生产环境造成事故损失的,本文章不承担任何责任。
参考文章: https://zhuanlan.zhihu.com/p/720176867 https://www.cnblogs.com/lijiaman/p/10663047.html
以上就是整个oracle11g ADG配置整个过程,欢迎一起留言交流学习。

1万+

被折叠的 条评论
为什么被折叠?



