一:注意事项

1:

目录不同

db_file_name_convert=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/oradu/')

log_file_name_convert=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/oradu/')

必须设置

2:

创建密码文件,必须保持target DB和auxiliary DB的密码一致。这里我直接对target DB密码文件重命名使用

[root@oracledba dbs]# cp orapworcl orapworadu

3:

开始复制,复制时需要注意是否使用nofilenamecheck参数,如果两个实例相关数据目录结构完全相同,则需要指定,否则会报错。这里不需要使用。复制日志太多,有兴趣的可以看看,或者

跳过直接看结果!

[oracle@oracledba ~]$ export ORACLE_SID=oradu    --------异机操作可省略此步操作

[oracle@oracledba ~]$rman target sys/oracle@orcl auxiliary sys/oracle@oradu

duplicate target database to oradu from active database;

如果目录相同:

duplicate target database to oradu from active database nofilenamecheck;

4:

alter database open read only;

5:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

6:特别注意:在修改主库参数时必须创建pfile

create pfile='/home/oracle/init.ora' from spfile;

二:ADG配置

1、确定数据库是否为归档模式

On primarydb:

select log_mode from v$database;

archive log list;

2、开启强制日志模式

On primarydb:

select FORCE_LOGGING from v$database;

ALTER DATABASE FORCE LOGGING;

3、验证是否有密码文件(HA备库也验证)

On primarydb:

cd $ORACLE_HOME/dbs

ls orap*

4、添加standby redo

On primarydb:

确认redo 大小和路径

set linesize 200

col member for a55

select a.group#,a.thread#,b.type,a.bytes/1024/1024 mb ,b.member from v$log a ,v$logfile b where a.group#=b.group#;

select a.group#,a.thread#,b.type,a.bytes/1024/1024 mb ,b.member from v$standby_log a ,v$logfile b where a.group#=b.group#;

alter database add standby logfile thread 1 group 11 '/oradata/PROD/redo11.log' size 1000M;

alter database add standby logfile thread 1 group 12 '/oradata/PROD/redo12.log' size 1000M;

alter database add standby logfile thread 1 group 13 '/oradata/PROD/redo13.log' size 1000M;

alter database add standby logfile thread 1 group 14 '/oradata/PROD/redo14.log' size 1000M;

alter database add standby logfile thread 1 group 15 '/oradata/PROD/redo15.log' size 1000M;

alter database add standby logfile thread 2 group 16 '/oradata/PROD/redo16.log' size 1000M;

alter database add standby logfile thread 2 group 17 '/oradata/PROD/redo17.log' size 1000M;

alter database add standby logfile thread 2 group 18 '/oradata/PROD/redo18.log' size 1000M;

alter database add standby logfile thread 2 group 19 '/oradata/PROD/redo19.log' size 1000M;

alter database add standby logfile thread 2 group 20 '/oradata/PROD/redo20.log' size 1000M;

/oradata/PROD/

5、修改主库参数

On primarydb:

alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD,PRODDG)';

alter system set LOG_ARCHIVE_DEST_1='LOCATION=+FRADG/PROD/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD';

alter system set LOG_ARCHIVE_DEST_3='SERVICE=PRODDG LGWR ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PRODDG';

alter system set fal_server='PRODDG';

alter system set standby_file_management=AUTO scope=both;

下列2个参数需要下次重启后生效

alter system set DB_FILE_NAME_CONVERT='/oradata/PROD/','+DATADG/PROD/data/' scope=spfile;

alter system set LOG_FILE_NAME_CONVERT='/oradata/PROD/','+DATADG/PROD/data/' scope=spfile;

7、创建备库静态监听文件

On Standbydb:

cd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin

vi listener.ora

LISTENER =

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=tcp)(HOST= 10.18.0.210)(PORT=1521))

)

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=PRODDG)

(SID_NAME= PRODDG)

(ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1)

)

)

8、启动备库监听

On Standbydb:

lsnrctl start

9、修改主、备库的TNSNAMES文件(主库另外一节点也要复制)

PROD =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.0.83)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = PROD)

)

)

PRODDG =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.0.210)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = PRODDG)

)

)

11、tnsping测试,确保都能通

主库:(主库另外一节点也要测试)

On Primarydb:

tnsping PROD

tnsping PRODDG

备库:

On Standbydb:

tnsping PROD

tnsping PRODDG

12、创建备库密码文件

从主库中scp 密码文件备库,sys密码不能有下划线

On Primarydb:

cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs

scp orapwPROD1   10.18.0.210:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwPRODDG

13、为备库创建初始化参数文件

On Primarydb:

create pfile= '/tmp/p.ora' from spfile;

scp /tmp/p.ora  10.18.0.210:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/

修改参数文件

On Standbydb:

cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/

*.db_unique_name='PRODDG'

*.fal_server='PROD'

*.log_archive_dest_1='location=/arch/PROD  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRODDG'

*.log_archive_dest_3='service=PROD lgwr async noaffirm valid_for=(online_logfiles,primary_role) db_unique_name=PROD'

*.db_create_file_dest='/oradata'

*.db_file_name_convert='+DATADG/PROD/','/oradata/PROD/'

*.log_file_name_convert='+DATADG/PROD/','/oradata/PROD/'

*.control_files='/oradata/PROD/controlfile/ctrol01.ctl','/oradata/PROD/controlfile/ctrol02.ctl'

#*.cluster_database=true

#testdb2.thread=2

#testdb1.thread=1

#testdb1.instance_number=1

#testdb2.instance_number=2

#*.remote_listener='testcluster:1521'

*.undo_tablespace='UNDOTBS1'

#testdb2.undo_tablespace='UNDOTBS2'

检查文件目录权限

/oradata

/arch

chown -R oracle:oinstall /oradata

chown -R oracle:oinstall /arch

14、创建备库相应目录

On Standbydb:

su - oracle

mkdir -p /u01/app/oracle/admin/PROD/adump

mkdir -p /oradata/PROD/datafile

mkdir -p /oradata/PROD/tempfile

mkdir -p /oradata/PROD/onlinelog

mkdir -p /oradata/PROD/controlfile

mkdir -p /arch/PROD

15、为备库创建spfile

On Standbydb:

export ORACLE_SID=PRODDG

SQL> startup nomount pfile='/tmp/p.ora'

SQL> create spfile from pfile='/tmp/p.ora';

16、关闭重启

shutdown abort

startup nomount

SQL> show parameter name

SQL> show parameter log

17、连接至主数据库作为其目标数据库,以运行创建备用 ON STANDBY

On Primarydb:

sqlplus sys/oracle@PROD as sysdba

sqlplus sys/oracle@PRODDG as sysdba

On Standbydb:

sqlplus sys@PROD as sysdba

<<<

sqlplus sys@PRODDG as sysdba

<<<

18、配置dataguard备库

On Primarydb:

export ORACLE_SID=PROD1

sqlplus / as sysdba

show parameter name

exit

export ORACLE_SID=PROD1

rman target  sys/oracle auxiliary sys/oracle@PRODDG nocatalog <

run {

allocate channel prmy1 type disk;

allocate channel prmy2 type disk;

allocate channel prmy3 type disk;

allocate channel prmy4 type disk;

allocate auxiliary channel stby type disk;

duplicate target database for standby from active database;

}

exit

EOF

19、只读模式打开数据库

备库:

alter database open;

20、应用实时日志

备库:

alter database recover managed standby database using current logfile disconnect from session;

alter database recover managed standby database disconnect from session;

21 ,check

#on standby

select * from v$archive_gap;

select process,client_process,sequence#,status from v$managed_standby;

select database_role,protection_mode,protection_level,open_mode from v$database;

set linsize 200

col value for a20

col name for a30

col time for a30

col time_computed for a20

select to_char(SYSDATE,'yyyymmdd hh24:mi:ss') CTIME,NAME,VALUE,DATUM_TIME from V$DATAGUARD_STATS WHERE NAME LIKE '%lag';

shutdown immediate;

startup

recover managed standby database using current logfile disconnect from session;

#on primary

create table adg_tst (id int);

insert into adg_tst values(1);

commit;

alter system switch logfile;

alter system archive log current;

#on standby

select * from adg_tst;

阅读(3095) | 评论(0) | 转发(0) |

查询oracle数据库adg的模式,Oracle11g ADG配置相关推荐

  1. java metadata 使用_java 查询oracle数据库所有表DatabaseMetaData的用法(详解)

    一 . 得到这个对象的实例 Connection con ; con = DriverManager.getConnection(url,userName,password); DatabaseMet ...

  2. dbvisualizer查询mysql中文乱码_使用PLSQL Developer和DbVisualizer查询oracle数据库时出现乱码...

    使用PLSQL Developer和DbVisualizer查询oracle数据库时,出现查询数据中文乱码情况. 查看了一下数据库编码格式 select * from v$nls_parameters ...

  3. python查询oracle数据库_python针对Oracle常见查询操作实例分析

    本文实例讲述了python针对Oracle常见查询操作.分享给大家供大家参考,具体如下: 1.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询: ...

  4. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库

    我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...

  5. java访问oracle集群,JAVA查询Oracle数据库集群连接字符串

    下载必备最新排行装机分类.游戏手机驱动源码LinuxMac小游戏.商城招聘百科知道软件盒子论坛3G版 本站搜索 新闻资讯 软件下载 当前位置: 网站首页 > 编程开发 > 编程语言 > ...

  6. oracle 查询当年数据_查询ORACLE数据库TOP SQL使用情况

    使用BOOST和ORACLE::OCCI查询ORACLE数据库TOP SQL使用情况 /topsql.h#ifndef TOPSQL_H#define TOPSQL_H#include#include ...

  7. sqldbx mysql 乱码_使用PLSQL Developer和DbVisualizer、SQLDBx查询oracle数据库时出现乱码...

    使用PLSQL Developer和DbVisualizer查询oracle数据库时,出现查询数据中文乱码情况. 查看了一下数据库编码格式 select * from v$nls_parameters ...

  8. oracle数据库怎么分组查询,oracle数据库之分组查询

    本章内容和大家分享的是数据当中的分组查询.分组查询复杂一点的是建立在多张表的查询的基础之上,(我们在上一节课的学习中已经给大家分享了多表查询的使用技巧,大家可以自行访问:多表查询1  多表查询2)而在 ...

  9. linux查看mysql实例名_查询oracle数据库的数据库名、实例名、ORACLE_SID

    查询oracle数据库的数据库名.实例名.ORACLE_SID 连接ORACLE 数据库 SQL> conn risenet/1@//192.168.130.99:1521/risenet 或 ...

最新文章

  1. ensp大型网络环境设计与实现_mongodb内核源码设计实现、性能优化、最佳运维系列-网络传输层模块源码实现三...
  2. mysql query日期_如何获取mysql中两个日期之间的日期列表select query
  3. 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )
  4. 在WebStorm里配置watcher实现编辑less文件时自动生成.map和压缩后的.css文件
  5. 学籍管理系统系统流程图
  6. 如何修复在Microsoft Azure中“虚拟机防火墙打开,关闭RDP的连接端口”问题
  7. 理解CSRF(跨站请求伪造)
  8. 深度学习2.0-12.神经网络与全连接层之数据集的加载
  9. java 20 -1 递归的概述和案例
  10. 查询解析MySQL_mysql内部查询过程详解
  11. 利用gitee搭建pdf在线阅读功能
  12. WPS简历模板的图标怎么修改_新媒体运营-简历模板范文,【工作经历+项目经验+自我评价】怎么写?...
  13. Centos7通过oh-my-zsh安装powerlevel9k和powerlevel10k
  14. html制作论坛页面模板,Discuz3.3仿小米论坛风格整站模板制作教程——1、新建模板方案...
  15. kafka-如何保证消息的可靠性与一致性
  16. 大数据自学全套教程,免费分享,赶紧码起来!(纯干货系列)
  17. 怎么在mysql中编辑数据库_navicat怎么修改数据库名
  18. 物品冷启动问题解决办法
  19. libgdx 环境搭建
  20. C#多线程(二) -- ThreadStart

热门文章

  1. 解决重写父类的方法且不会影响继承的子类的问题
  2. 海量存储之十八–一致性和高可用专题
  3. 【深度学习】2个经典的练手CNN源码与MNIST数据集测试结果
  4. Hyperledger Fabric相关文件解析
  5. PCL点云库用Poisson网格化实现点云的表面重建
  6. Linux多线程同步的几种方式
  7. 编译原理学习笔记一(待续)
  8. 通过live555实现H264 RTSP直播
  9. 把Qt的界面文件(.ui文件)生成源文件(.h或.cpp)封装成链接库
  10. 从一亩三分地转——“有代码的地方,就有江湖 - 冯诺伊曼.金庸”