A easy and simple way to establish Oracle ADG
Yes, thanks to

Then, I can give simple and reasy way to make it.
Suppose hosts and IPs like that:
150.150.186.16 linux3 (primary)
150.150.186.26 linux4 (secondary or standby)
On primary node:
(1) parameter:
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string TEST
SQL> show parameter db_uniq
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string TEST
SQL> show parameter LOG_ARCHIVE_CONFIG
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(TEST,TESTDR)
SQL>show parameter LOG_ARCHIVE_DEST_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/oracle/archive
SQL> show parameter LOG_ARCHIVE_DEST_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=TESTDR NOAFFIRM ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRI
MARY_ROLE) DB_UNIQUE_NAME=TEST
DR
SQL> show parameter log_archive_dest_state_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2 string ENABLE
SQL> show parameter log_archive_forma
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string %t_%s_%r.arc
SQL> show parameter log_archive_max_processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_max_processes integer 30
SQL> show parameter remote_login_passwordfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
SQL> show parameter fal_server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_server string TESTDR
SQL> show parameter standby_file_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string TEST
The redo log would better like:
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/oracle/system/redo01.log
/oracle/system/redo02.log
/oracle/system/redo03.log
/oracle/system/standby_redo01.log
/oracle/system/standby_redo02.log
/oracle/system/standby_redo03.log
/oracle/system/standby_redo04.log
(2) listener and TNS
[oracle@linux3 admin]$ cat listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux3)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_DESC =
(ORACLE_HOME = /oracle/app/product/11.2.0)
(SID_NAME = TEST)
)
)
ADR_BASE_LISTENER = /oracle
[oracle@linux3 admin]$ cat tnsnames.ora
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux3)(PORT = 1521))
)
(CONNECT_DATA =
### (SID = TEST)
(SERVICE_NAME = TEST) (UR = A)
)
)
TESTDR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux4)(PORT = 1521))
)
(CONNECT_DATA =
### (SID = TEST)
(SERVICE_NAME = TESTDR) (UR = A)
)
)
On Secondary node:
(1) parameter
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string TEST
SQL> show parameter db_uniq
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string TESTDR
SQL> show parameter LOG_ARCHIVE_CONFIG
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_config string DG_CONFIG=(TEST,TESTDR)
SQL> show parameter LOG_ARCHIVE_DEST_1
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string LOCATION=/oracle/archive
SQL> show parameter LOG_ARCHIVE_DEST_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=TEST NOAFFIRM ASYNC VA
LID_FOR=(ONLINE_LOGFILES,PRIMA
RY_ROLE) DB_UNIQUE_NAME=TEST
SQL> show parameter log_archive_dest_state_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_2 string ENABLE
SQL> show parameter log_archive_format
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string %t_%s_%r.arc
SQL> show parameter log_archive_max_processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_max_processes integer 30
SQL> show parameter remote_login_passwordfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
SQL> show parameter fal_server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_server string TEST
SQL> show parameter standby_file_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string TESTDR
The redo log would better like:
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/oracle/system/redo01.log
/oracle/system/redo02.log
/oracle/system/redo03.log
/oracle/system/standby_redo01.log
/oracle/system/standby_redo02.log
/oracle/system/standby_redo03.log
/oracle/system/standby_redo04.log
(2) listener and TNS
[oracle@linux4 admin]$ cat listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux4)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_DESC =
(ORACLE_HOME = /oracle/app/product/11.2.0)
(SID_NAME = TEST)
(SERVICE_NAME = TESTDR)
)
)
ADR_BASE_LISTENER = /oracle
[oracle@linux4 admin]$ cat tnsnames.ora
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux3)(PORT = 1521))
)
(CONNECT_DATA =
(SID = TEST)
(SERVICE_NAME = TEST) (UR = A)
)
)
TESTDR =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux4)(PORT = 1521))
)
(CONNECT_DATA =
(SID = TEST)
(SERVICE_NAME = TESTDR) (UR = A)
)
)
So , at the end, when both nodes are ready. You execute following command like:
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 3657797632 bytes
Fixed Size 2258600 bytes
Variable Size 805308760 bytes
Database Buffers 2835349504 bytes
Redo Buffers 14880768 bytes
SQL> alter database mount standby database;
SQL> alter database recover managed standby database disconnect from session;
Database altered.
then you just get an normal style DG
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TEST MOUNTED PHYSICAL STANDBY
If we want to get active data guard. we should do like :
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 3657797632 bytes
Fixed Size 2258600 bytes
Variable Size 805308760 bytes
Database Buffers 2835349504 bytes
Redo Buffers 14880768 bytes
SQL> alter database mount standby database;
Database altered.
SQL> alter database open read only;
Database altered.
SQL> alter database recover managed standby database disconnect from session;
Database altered.
SQL> select name,open_mode,database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
TEST READ ONLY WITH APPLY PHYSICAL STANDBY
Then , please enjoy yourself
A easy and simple way to establish Oracle ADG的更多相关文章
- Oracle ADG环境搭建
部署 环境介绍 1,软件安装前基础部署 (两台做同样操作) 1.1,关闭selinux和防火墙 因为centos7里面没有/etc/sysconfig/iptables这个配置文件所以我们首先用yum ...
- 数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;浙江移动国产数据库AntDB迁移;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……
摘要:墨天轮数据库周刊第31期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.openGauss 正式开源,华为公开发布源代码[摘要]6月1日,华为正式宣布开源数据库能 ...
- oracle ADG启动顺序
一.oracle ADG启动顺序 1.启动主备库监听 [oracle@dgdb1 ~]$ lsnrctl start [oracle@dgdb2 ~]$ lsnrctl start 2.启动备库 ...
- One simple health check for oracle with sql
There are some sqls which is used for check the oracle database's health condition. ------numbers of ...
- Oracle ADG搭建
Oracle Active Data Guard搭建 一:安装 1.基础环境配置 1.1.开启强制日志记录 DG日志发送方式中ARCH进程和LGWR进程的ASYNC模式都是基于日志同步的,所以我们必须 ...
- Oracle管理文件OMF (oracle managed files)
简化dba的管理操作 1:启用 omf 23:16:04 SYS@orcl> show parameter DB_CREATE_FILE_DEST NAME TYPE VALUE ------- ...
- Ways to access Oracle Database in PostgreSQL
Today, organizations stores information(data) in different database systems. Each database system ha ...
- Red Hat Enterprise Linux 6上安装Oracle 11G(11.2.0.4.0)缺少pdksh包的问题
RHEL 6上安装Oracle 11G警告缺少pdksh包 前言 相信很多刚刚接触学习Oracle的人,在RHEL6上安装11.2.0.3 or 11.2.0.4这两个版本的时候, 都遇到过先决条件检 ...
- oracle 19c dataguard aws ORA-03186报错
环境说明 在亚马逊云AWS上面安装了一套oracle 19c dataguard,linux centos 7.7的操作系统,开始时同步正常,实时应用redolog,一会儿之后就不行了.报错如下: o ...
随机推荐
- rg.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'TL_C_CONS_ExtendController':
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'TL_ ...
- websocket协议实现
# websocket协议实现 1.抓包 wireshark规则: tcp.port == 9000 2. 结果解析 客户端请求: GET /ws/test_2 HTTP/1.1 Host: loca ...
- 吴裕雄 python 机器学习——模型选择验证曲线validation_curve模型
import numpy as np import matplotlib.pyplot as plt from sklearn.svm import LinearSVC from sklearn.da ...
- 用数组实现 最简 hash线性探测
package arr; import java.util.Random; /** 模拟线性寻址式hash函数 模拟将1000大小包含50个数字的数组,存入大小为100的数组内(为了方便判断,我们将0 ...
- YouTube为创作者提供了更多赚钱的途径
编辑 | 于斌 出品 | 于见(mpyujian) 大家提到YouTube可能还有些陌生,只是听说过,但因为一些原因并没有实际应用过,但其实YouTube就是设立在美国的一个视频分享网站,让使用者上载 ...
- 行内元素的上下margin 和 img元素的上下margin
行内元素的特点有: 1.与其他元素在同一行 2.宽度(width).高度(height).内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bott ...
- December 28th, Week 52nd Saturday, 2019
If you start at the bottom, pay your dues, life here can be a dream come true. 只要你从头开始,脚踏实地,梦想是可以成真的 ...
- 关于报错:Warning: Cannot modify header information - headers already sent by (output started at
8月5日,第一个项目即将完成,测试时,发现登录功能会出现小问题:记住密码的时候会报错 Warning: Cannot modify header information - headers alrea ...
- Linux :ls 命令
常用命令: ls:列出当前路径下的文件和目录 ls -a:列出当前路径下的所有文件和目录(包括隐藏文件和目录) ls -l:以列表方式显示文件或目录的详细信息 ls -al:可以结合使用 ls xxx ...
- Jmeter和nmon shell命令
jmeter: sh jmeter -n -t /data/LPPZ/scripts/oauth.jmx -l /data/LPPZ/log/log.jtl nmon: ./nmon_linux_x8 ...