Dataguard配置总结

本例情形

在主库存在运行的情况下,增加配置dataguard备库,实现双机热备,高可用性。

主库要求,归档模式,强制归档。

主库idty

备库idty_st

1、密码文件

为备库制作密码文件、参数文件。密码文件直接使用主库文件,参数文件需要修改。

cp orapwidty ~/

scp orapwidty 132.108.200.133:/home/oracle

2、参数文件

create pfile='/home/oracle/pfileidty_st.ora' from spfile

scp pfileidty_st.ora 132.108.200.133:/home/oracle

3、参数文件修改

--------------以下修改作为参考

*.log_archive_config='dg_config=(idty,idty_st)'

*.DB_UNIQUE_NAME=idty_st

*.LOG_ARCHIVE_DEST_2='SERVICE=idty ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=idty'

*.LOG_ARCHIVE_DEST_STATE_2=ENABLE

*.FAL_SERVER=idty

*.FAL_CLIENT=idty_st

*.STANDBY_FILE_MANAGEMENT=AUTO

*.standby_archive_dest='/home/oracle/app/oracle/stlog/idty'

修改备课日志目录,如果不改默认在dbs目录。如果存在多个备库,则日志数据不便于区分。

alter system set standby_archive_dest='/home/oracle/app/oracle/stlog/idty' scope=both;

4、备库创建数据文件目录、回闪区日志文件目录

日志目录/oradat/idty   /fast_recovery_area/idty

接收日志目录  /stlog/idty

5、启动备库数据库 ,启动到nomount

export ORACLE_SID=idty

产生spfile

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

startup nomount

修改备课日志目录,如果不改默认在dbs目录。如果存在多个备库,则日志数据不便于区分。

alter system set standby_archive_dest='/home/oracle/app/oracle/stlog/idty' scope=both;

sqlplus "/as sysdba"

select name from v$database;

6、配置tnsnames listener

主库/备库配置tnsnames

IDTY =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = idty)

)

)

IDTY_ST =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = idty_st)

)

)

备库配置监听

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=idty_st)

(ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome1)

(SID_NAME=idty))

)

重启监听

7、rman duplicate复制主库创建备库

在备库,rman登录主库

rman target sys/xxxxxx@idty auxiliary sys/xxxxxx@idty_st

开始复制

DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER  (适用与主、备库oracle_home路径不同,设置了目录转换的情形。)

如果目录不同,需要修改pfile,增加目录转换。本例目录相同就没有设置目录转换。

DB_FILE_NAME_CONVERT='/home/app/oracle/oradata/ljydb','/home/oracle/app/oracle/oradata/ljydb'

LOG_FILE_NAME_CONVERT='/home/app/oracle/oradata/ljydb','/home/oracle/app/oracle/oradata/ljydb','/home/app/oracle/fast_recovery_area/ljydb','/home/oracle/app/oracle/fast_recovery_area/ljydb'

如果和主库路径相同,则要加NOFILENAMECHECK参数。否则报RMAN-05001,conflicts with a file used by the target database。

DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;

8、主库配置

保证主库要求,归档模式,强制归档。

ALTER DATABASE FORCE LOGGING;

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE OPEN;

修改参数:

alter system set log_archive_config='dg_config=(idty,idty_st)' scope=both;

alter system set log_archive_dest_2='service=idty_st async valid_for=(online_logfiles,primary_role) db_unique_name=idty_st' scope=both;

alter system set log_archive_dest_state_2=enable;

建议先关闭日志传输,等备库配置好后在启动传输。

alter system set log_archive_dest_state_2=defer;

show parameter log_archive_config;

show parameter log_archive_config;

9、备库应用日志

应用日志

alter database recover managed standby database disconnect from session;

暂停日志应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

10、主库启动日志传输

启动日志传输

alter system set log_archive_dest_state_2=enable;

建议先关闭日志传输,等备库配置好后在启动传输。

--测试下 产生归档文件

alter system switch logfile;

11、多个实例监听静态配置方法

listener.ora

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = cvm-dbsrv02)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=ljydb_st)

(ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome1)

(SID_NAME=ljydb))

(SID_DESC=

(GLOBAL_DBNAME=idty_st)

(ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome1)

(SID_NAME=idty))

)

12、问题及解决方法

ORA-17628:问题解决,原因是备库缺少日志目录、数据文件目录,创建相应的目录,即可解决问题。

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of Duplicate Db command at 10/26/2017 16:56:20

RMAN-05501: aborting duplication of target database

RMAN-03015: error occurred in stored script Memory Script

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 10/26/2017 16:56:20

ORA-17628: Oracle error 19505 returned by remote Oracle server

没有创建日志目录/oradat/idty   /fast_recovery_area/idty

ORA-32004:问题原因,pfile增加了参数设置,改变了默认值则出现提示,不影响数据库启动。本例子设置了参数standby_archive_dest

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

!!!!!!!!!----------------------

SQL> startup nomount

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

看日志:

Deprecated system parameters with specified values:

standby_archive_dest

#####  ---------------------

RMAN-05001,主备库oracle目录相同的情况下,如果没有nofilenamecheck参数,则复制库的时候会报这个错。

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of Duplicate Db command at 10/27/2017 10:40:46

RMAN-05501: aborting duplication of target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/ts_data03.dbf conflicts with a file used by the target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/ts_data02.dbf conflicts with a file used by the target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/ts_data01.dbf conflicts with a file used by the target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/users01.dbf conflicts with a file used by the target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/undotbs01.dbf conflicts with a file used by the target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/sysaux01.dbf conflicts with a file used by the target database

RMAN-05001: auxiliary file name /home/oracle/app/oracle/oradata/idty/system01.dbf conflicts with a file used by the target database

!!!!!!!!!------以下原因描述来源网络:

nofilenamecheck如果副本数据库与目标库不在同一台机器上,并且副本数据库的在线日志文件路径与目标库相同,

则运行duplicate命令时必须指定NOFILENAMECHECK参数以避免冲突提示。

晕了吧,异机操作路径相同还必需指定NOFILENAMECHECK。此处oracle表现的很傻,

它不知道你要恢复的路径是在另一台机器上,它只是认为要恢复到的路径怎么跟目标数据库表现的一样呢?

会不会是要覆盖目标数据库啊,为了避免这种情形,于是它就报错。所以一旦异机恢复,并且路径相同,

那么你必须通过指定NOFILENAMECHECK来避免oracle的自动识别。

13、常用sql语句

查看日志目录

select *From v$archive_dest;

查看数据库是否归档模式

select log_mode,force_logging from v$database

select * from V$DATAGUARD_CONFIG ;

查数据库

select *From v$archive_dest_status

select open_mode from v$database;

select *from v$session;

查看日志应用传输清单

SELECT SEQUENCE#,name , FIRST_TIME, NEXT_TIME ,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE# desc;

查看备库日志传输、应用进程状态、日志

SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;

SELECT * FROM V$DATAGUARD_STATUS order by timestamp desc;

1、扩大恢复目录空间大小

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G SCOPE=BOTH;

14、dataguard方案的局限性思考

因为dataguard的原理是通过网络传输归档日志到备库,然后在备库应用日志,实现双机热备。

那么对于日志量生成速度太快的数据库,临界情况是主库日志产生的速度大于网络传输数据的速度,将导致备库永远追不上主库,主库未传输的日志占用空间将不断扩张,而且因为未传输完成也不能清除。

因此,dataguard方案不适合分析型数据库。

从经验人士获知的dataguard可适应的极限日志量为400G-500G/每天。(未实验验证)

Dataguard配置总结的更多相关文章

  1. Oracle 11g Dataguard 配置,维护与详解 (ADG)

    一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档 ...

  2. EBS测试环境DataGuard配置

    1.环境信息 primary数据库(必须运行在归档模式) ip 127.71.28.71 sid test db_unique_name test log_mode archivelog force_ ...

  3. Dataguard配置前提条件

    Data Guard配置前提条件 配置Data Guard必须保证以下前提条件: 1.Data Guard是Oracle企业版的组件.Oracle标准版里没有这个控件.所以Data Guard配置所使 ...

  4. DataGuard 配置须知

    风不停,绿树荫,阳光晃眼,天真蓝,我们在奔跑,沿着斜阳,是你喘息,起伏不停...  ——朴树 1.确认primary库处于归档模式 命令:archive log list; 如果没有启用归档,请先将数 ...

  5. Linux下Oracle 10g DataGuard配置(主从同步及切换)

    环境描述:主库: IP: 10.8.3.191 主机名:primaryORACLE_SID=afcORACLE_BASE=/u01/oracleORACLE_HOME=/u01/oracle/10g备 ...

  6. 11gR2 ASM RAC + ASM RAC dataguard配置

    1.环境说明 --primary端配置 Primary RAC Node1 Node2 Public IP 192.168.56.120 192.168.56.122 Private IP 10.0. ...

  7. broker监控dataguard配置

    使用broker查看dataguard信息时有告警 DGMGRL> show configuration; Configuration - DRTEST Protection Mode: Max ...

  8. oracle dataguard配置

    1.archivelog设置:(存档模式) 2.standy controlfile 设置: alter database create standby controlfile as '/data/o ...

  9. Oracle Dataguard之物理standby的基本配置

    尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...

随机推荐

  1. python底层原理

    有同学问到了一个问题,python中存储变量是通过内存地址来存储,那么python又是如何去判断内存中的地址是什么数据类型的呢.经过查找,找到这篇文章: 原博客地址:http://www.cnblog ...

  2. phantomjs 中文文档

    phantomjs 中文文档 转载 入门教程:转载 http://www.cnblogs.com/front-Thinking/p/4321720.html 1.介绍 简介   PhantomJS是一 ...

  3. mysql学习1

    1.什么是数据库? 数据的仓库,如在ATM的示例中创建了一个db目录,称其为数据库 2.安装 下载 http://dev.mysql.com/downloads/mysql/ 安装 windows: ...

  4. 11. cookie_session_原生ajax_readyState的值_同源策略_跨域_jsonp的使用

    1. cookie 浏览器存储技术.(服务器将少量数据交于浏览器存储管理) 作用: 存储数据, 解决 http 协议无状态问题 工作流程: 浏览器发送请求给服务器,请求登录 服务器返回响应给浏览器,此 ...

  5. winform 利用Http向服务器上传与下载文件

    利用在服务器端的IIS,布置“请求处理映射”.从而处理,本地发出Post请求.Url指向web网站所在路径的请求映射.由映射代码实现服务器保存文件. winform里面使用,WebClient的对象, ...

  6. 2018-2019-1 20189210 《LInux内核原理与分析》第五周作业

    一.系统调用实验 1.库函数将系统调用封装起来,大多数程序员使用库函数进行系统调用. 2.Linux操作系统的体系架构分为用户态和内核态.CPU的执行级别对应的就是内核态,所有指令都可以执行.用户态对 ...

  7. [LeetCode] Swim in Rising Water 在上升的水中游泳

    On an N x N grid, each square grid[i][j] represents the elevation at that point (i,j). Now rain star ...

  8. JAVA新的一天

    在2019/03/22/今天里,荣幸成为这个班级的一员,认识了新的小伙伴们,上午由老师大体说了一下java的理念,下午安装了DW编辑器,以及讲解了HTML的基本构造,和标签的使用,即使以前学习过,这次 ...

  9. 【蓝桥杯真题】地宫取宝(搜索->记忆化搜索详解)

    链接 [蓝桥杯][2014年第五届真题]地宫取宝 题目描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被 ...

  10. NoSQL数据库常见分类

    1.列式数据库HBaseBigTable2.K-V数据库RedisCassandraLevelDBMemCacheEhcache3.文档数据库MongoDBCouchDB4.全文搜索引擎Elastic ...