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的更多相关文章

  1. Oracle ADG环境搭建

    部署 环境介绍 1,软件安装前基础部署 (两台做同样操作) 1.1,关闭selinux和防火墙 因为centos7里面没有/etc/sysconfig/iptables这个配置文件所以我们首先用yum ...

  2. 数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;浙江移动国产数据库AntDB迁移;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……

    摘要:墨天轮数据库周刊第31期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.openGauss 正式开源,华为公开发布源代码[摘要]6月1日,华为正式宣布开源数据库能 ...

  3. oracle ADG启动顺序

    一.oracle ADG启动顺序 1.启动主备库监听 [oracle@dgdb1 ~]$ lsnrctl start [oracle@dgdb2 ~]$ lsnrctl start   2.启动备库 ...

  4. 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 ...

  5. Oracle ADG搭建

    Oracle Active Data Guard搭建 一:安装 1.基础环境配置 1.1.开启强制日志记录 DG日志发送方式中ARCH进程和LGWR进程的ASYNC模式都是基于日志同步的,所以我们必须 ...

  6. Oracle管理文件OMF (oracle managed files)

    简化dba的管理操作 1:启用 omf 23:16:04 SYS@orcl> show parameter DB_CREATE_FILE_DEST NAME TYPE VALUE ------- ...

  7. Ways to access Oracle Database in PostgreSQL

    Today, organizations stores information(data) in different database systems. Each database system ha ...

  8. 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这两个版本的时候, 都遇到过先决条件检 ...

  9. oracle 19c dataguard aws ORA-03186报错

    环境说明 在亚马逊云AWS上面安装了一套oracle 19c dataguard,linux centos 7.7的操作系统,开始时同步正常,实时应用redolog,一会儿之后就不行了.报错如下: o ...

随机推荐

  1. Java进阶学习(3)之对象容器(下)

    对象数组 对象数组中的每个元素都是对象的管理者而非对象本身 对象数组的for—each循环 集合容器(HashSet) HashSet 数学中的集合,元素间满足互异性.确定性.无序性 HashSet& ...

  2. js开关菜单

    开关菜单 /* 将需要的信息添加到类的静态数组里备用 设置一个值openBool,默认为false:菜单默认display为none 点击时,如果目标元素是子元素,则不做开关菜单操作,直接return ...

  3. 安装pyhanlp

    安装pyhanlp pyhanlp是java写的,外层封装了python. 对于新手,在使用的时候稍有难度. 1. 下载源码 https://github.com/hankcs/pyhanlp git ...

  4. RTT学习之RTC设备

    RTC: 目前系统内只允许存在一个 RTC 设备,且名称为 "rtc",所以不用查找设备 启用 Soft RTC (软件模拟 RTC),对无硬件RTC 启用 NTP 时间自动同步, ...

  5. 基于SILVACO ATLAS的a-IGZO薄膜晶体管二维器件仿真(08)

    进展比较慢啊... 根据江南大学硕士论文IGZO/IZO双有源层薄膜晶体管特性的模拟研究: 其中, gCBa:类受主导带尾态 gVBd:类施主价带尾态 gGd:类施主氧空位态 NDeep:价带尾深施主 ...

  6. Javascript中forEach的异步问题

    某天尝试了下在 forEach函数中调用 await Promise() 方法,如下: var arr = [1,2,3] arr.forEach(async (v,i,a)=>{ await ...

  7. Hadoop学习笔记(三):分布式文件系统的写和读流程

    写流程:怎么将文件切割成块,上传到服务器 读流程:怎么从不同的服务器来读取数据块 写流程 图一 图二 写的过程中:NameNode会给块分配存储块的位置,每次想要存储文件的时候都会在NameNode创 ...

  8. 使用js制作 下拉选择日期列表 (即日期选择器)

    上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...

  9. Linux - 找到正在使用的 Shell 是哪个

    1. ps -p $$ 一个名为 "$$" (这是shell的特殊参数),表示当前你正在运行的 shell 实例的 PID 2. echo $0 3. echo $SHELL - ...

  10. hive3.1.1 hive-site.xml

    <property> <name>hive.metastore.warehouse.dir</name> <value>/data/hive/wareh ...