oracle dataguard 简易配置文档

一、主库端的准备

1、查看主库中数据库目录结构

查看数据库文件路径

select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts#=t2.ts#;

查看日志文件路径

select * from v$logfile;

查看控制文件路径

select * from v$controlfile;

2.开启数据库归档并激活force logging 模式

查看归档模式

archive log list

开启归档模式

alter database archivelog;

alter database noarchivelog;

修改归档位置和归档命名规则

alter system set log_archive_dest_1=‘location=/arch‘ scope=spfile;

alter system set log_archive_format =‘%t_%s_%r.arc‘ scope=spfile;

开启force logging

alter database force logging;

alter database no force logging;

3.修改初始化参数文件

create pfile from spfile;(备份初始化参数文件)

alter system set LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(zhuku,beiku)‘;

alter system set LOG_ARCHIVE_DEST_1=‘/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)       DB_UNIQUE_NAME=zhuku‘;

alter system set LOG_ARCHIVE_DEST_2=‘SERVICE=beiku LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=beiku‘;

alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;

alter system set LOG_ARCHIVE_DEST_STATE_2=defer;

alter system set FAL_CLIENT=‘zhuku‘;

alter system set FAL_SERVER=‘beiku‘;

alter system set DB_FILE_NAME_CONVERT=‘/oracle/oradata/beiku/‘,‘/oracle/oradata/zhuku/‘ scope=spfile;

alter system set LOG_FILE_NAME_CONVERT=‘/oracle/oradata/beiku/‘,‘/oracle/oradata/zhuku/‘ scope=spfile;

alter system set standby_file_management=auto;

4.重启数据库使的上述修改生效  保留在open状态

二、备库端的准备

1.创建相关目录

mkdir /oracle/admin/beiku/adump  bdump  cdump  dpdump  udump

mkdir /oracle/oradata/beiku

和主库一致的备份目录以及归档日志目录  并修改权限

2.拷贝主库密钥文件

scp

3.备库初始化参数设置

备库的初始化文件可以从主库初始化参数文件修改而来

添加如下内容

*.DB_NAME=‘zhuku‘

*.remote_login_passwordfile=‘EXCLUSIVE

*.DB_UNIQUE_NAME=‘beiku‘

*.log_archive_config= ‘dg_config=(beiku,zhuku)‘

*.LOG_ARCHIVE_DEST_1= ‘LOCATION=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=beiku‘

*.LOG_ARCHIVE_DEST_2= ‘SERVICE=zhuku  LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=zhuku‘

*.LOG_ARCHIVE_DEST_STATE_1=‘ENABLE‘

*.LOG_ARCHIVE_DEST_STATE_2=‘ENABLE‘

*.LOG_ARCHIVE_FORMAT=‘%t_%s_%r.arc‘

*.LOG_ARCHIVE_MAX_PROCESSES=30

*.FAL_SERVER=‘zhuku‘

*.FAL_CLIENT=‘beiku‘

*.DB_FILE_NAME_CONVERT=‘/oracle/oradata/zhuku/‘,‘/oracle/oradata/beiku/‘

*.LOG_FILE_NAME_CONVERT=‘/oracle/oradata/zhuku/‘,‘/oracle/oradata/beiku/‘

*.STANDBY_FILE_MANAGEMENT=‘AUTO‘

4.创建spfile

create spfile from pfile=‘$ORACLE_HOME/dbs/initracdb.ora‘

5.启动数据库到mount状态

SQL> startup nomount;

三、配置监听和tns

可以通过图形化界面netca  netmgr 进行配置  主库和备库都要配置两边的tns

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /oracle/db10g)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = beiku)

(ORACLE_HOME =  /oracle/db10g)

(SID_NAME = beiku)

)

)

验证监听

sqlplus sys/[email protected] as sysdba

sqlplus sys/[email protected] as sysdba

四、Rman下duplicate数据库,恢复备库

方法1

主库进行全库的备份,将备份集拷贝到备库相同的目录下

RUN {

allocate channel c1 type disk;

allocate channel c2 type disk;

sql ‘alter system archive log current‘;

backup current controlfile for standby format=‘/backup/dgbackup_control_%U‘;

BACKUP FORMAT ‘/backup/dgbackup_%U_%T‘ skip inaccessible filesperset 5 DATABASE ;

sql ‘alter system archive log current‘;

BACKUP FORMAT ‘/backup/dgbackup_arch_%U_%T‘ skip inaccessible filesperset 5 ARCHIVELOG ALL ;

release channel c2;

release channel c1;

}

rman target / auxiliary sys/[email protected]

duplicate target database for standby nofilenamecheck dorecover;

方法2  11g之后版本适用

利用RMAN在备库上恢复主库 (备库端做)

rman target sys/[email protected] auxiliary sys/[email protected]

RMAN> duplicate target database for standby from active database nofilenamecheck;

这条命令可以直接恢复数据文件,standby控制文件,standby日志组,非常霸道

五、开启DG

在备库上执行

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS

---------------- ------------

racdb MOUNTED

该模式会从主数据库中复制并应用日志文件

alter system set log_archive_dest_state_2=enable;

alter database recover managed standby database disconnect from session;

取消日志应用

alter database recover managed standby database cancel

在Oracle 11g以前版本中的的Data Guard物理备用数据库,可以以只读的方式打开数据库,但此时Media Recovery利用日志进行数据同步的过程就停止了,如果物理备用数据库处于恢复的过程中数据库就不能打开查询,也就是说日志应用和只读打开两个状态是互斥的,而Oracle 11g Active Data Guard功能解决了这个矛盾,在利用日志恢复数据的同时可以用只读的方式打开数据库,用户可以在备用数据库上进行查询、报表等操作,这类似逻辑Data Guard备用数据库的功能(查询功能方面),但是,数据同步的效率更高、对硬件的资源要求更低。这样可以更大程度地发挥物理备用数据库的硬件资源的效能

取消备库的自动恢复

[email protected]@> alter database recover managed standby database cancel;

Database altered.

监控备库警告日志

监控主库警告日志

18.13. 查看日志同步情况

主库上

SQL> select sequence#, first_time, next_time from v$archived_log order by sequence#;

查看已经应用的日志

SQL> select sequence#,applied from v$archived_log order by sequence#;

备库上

SQL> select sequence#, first_time, next_time from v$archived_log order by sequence#;

SQL> select sequence#,applied from v$archived_log order by sequence#;

18.14. 配置主库standby redo log

查看日志文件大小,备用redolog一定要大于在线日志log容量 ,主要用于主备库的切换

select group#,bytes from v$log;

alter database add standby logfile group 5(‘/oracle/oradata/zhuku/redolog1.log‘) size 50m;

alter database add standby logfile group 6(‘/oracle/oradata/zhuku/redolog2.log‘) size 50m;

alter database add standby logfile group 7(‘/oracle/oradata/zhuku/redolog3.log‘) size 50m;

alter database add standby logfile group 8(‘/oracle/oradata/zhuku/redolog4.log‘) size 50m;

查看结果

select group#,thread#,sequence#,archived,status from v$standby_log;

18.15. 配置备库standby redo log

sql> alter database recover managed standby database cancel

sql> shutdown immediate;

sql> startup mount;

alter database add standby logfile group 5(‘/u01/app/oracle/oradata/racdb/redolog1.log‘) size 100m;

alter database add standby logfile group 6(‘/u01/app/oracle/oradata/racdb/redolog2.log‘) size 100m;

alter database add standby logfile group 7(‘/u01/app/oracle/oradata/racdb/redolog3.log‘) size 100m;

alter database add standby logfile group 8(‘/u01/app/oracle/oradata/racdb/redolog4.log‘) size 100m;

查看结果

select group#,thread#,sequence#,archived,status from v$standby_log;

启用接收日志

alter database recover managed standby database disconnect from session;

备库验证数据

切换备用数据库只读模式

alter database recover managed standby database cancel;

alter database open read only;

查看已经应用的日志

select sequence#,applied from v$archived_log order by sequence#;

主备库角色切换

  1. 在主库中要做数据库全备

2.确保节点1的日志已经全部传送到了备库

SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

3.在节点1,确认为TO_STANDBY

SQL> select SWITCHOVER_STATUS from v$database;

SWITCHOVER_STATUS

-------------------------

TO STANDBY

4.将节点一切换成备库

SQL> alter database commit to switchover to physical standby with session shutdown ;

5.关闭并重新启动之前的主库实例

sql> shutdown immediate;

sql> startup mount

6.在备库的v$database视图中查看备库的切换状态

select switchover_status from v$database;

to primary 或者sessions active

7.切换备库到主库角色

alter database commit to switchover to primary; (to primary 状态使用该命令)

alter database commit to switchover to primary with session shutdown; (sessions active 状态使用该命令)

8.完成备库到主库的切换

alter database open;

9.如果备库以只读模式打开,先关闭数据,然后再重新启动。

sql> shutdown immediate;

sql> startup ;

10.重新启动一下新的备库上的重做日志应用服务

sql> alter database recover managed standby database disconnect from session;

或者sql> alter database recover managed standby database using current logfile disconnect from session;

11.开始发送重做数据到备库上

sql> alter system switch logfile;

模式切换:

maximize protection ---> maximize availability ----> maximize performance

当在把dataguard的保护级别按这上面的顺序减低的时候,不需要primary库在mount状态,primary在open状态就可以直接执行保护模式更改命令

maximize protection <--- maximize availability <---- maximize performance

当在把dataguard的保护级别按这上面的顺序升高的时候,需要primary库在mount状态,如果在open更改会报错误

select DATABASE_ROLE,open_mode,PROTECTION_MODE,PROTECTION_LEVEL from v$database; --查看保护模式

切换主库保护模式的语法:

ALTER DATABASE SET STANDBY DATABASE

TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE }

SQL> alter database set standby database to maximize performance;

SQL> alter database set standby database to maximize availability;

SQL> alter database set standby database to maximize protection;

以上都是在主库操作,备库会随之改变。

时间: 2024-08-05 15:03:12

oracle dataguard 简易配置文档的相关文章

Redhat 5.8 ORACLE 11gR2 RAC安装文档2-grid安装

3.安装Grid 3.1.安装rpm包 两个节点都要安装,以节点1为例 [[email protected] yum.repos.d]# yum install compat-libstdc++-33 ksh gcc gcc-c++ libgomp elfutils-libelf-devel glibc-devel glibc-headers libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel –y -----.. Compl

Hadoop配置文档

预节 在这一节中,笔者主要向大家介绍了该配置文档中,所用到的Linux命令和Linux的帮助. 终端提示信息 在Linux中,终端的每一行都有提示信息,其包含了当前终端登录的用户,当前登录的主机,当前终端所在的目录. 如:[[email protected] ~]$其格式为:[[用户名]@[hosts主机名或主机ip [当前所在路径]]$解析后可以知道,例子给的提示,实际上代表的是:当前终端登录的主机为master,所有的操作都是针对master的,登录主机的用户为frank,当前终端cd命令进

Nginx配置文档具体解释

Nginx的配置文档具体解释.在这儿做个总结,以便以后使用的时间查看. 下面大部分自己整理.部分来自參考 #设置用户 #user  nobody; #启动进程数(一般和server的CPU同样) #能够使用 $ cat /proc/cpuinfo 查看内核数 worker_processes  2; #设置错误文件存放的路径 #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error

IIS配置文档

IIS配置文档: 1.安装IIS.控制面板→程序→打开关闭Windows功能,Web管理服务和万维网服务都勾上. 2.部署网站:ASP.Net项目的发布:项目中点右键“发布”,选择“文件系统”,发布到一个文件夹下. 3.在IIS中新建网站,设定域名,这样多个域名可以放到一个IIS服务器上.需要绑定域名. 4.模拟域名,如果启用了UAC,则用管理员权限运行记事本,打开 C:\Windows\System32\drivers\etc下的hosts文件 做一下域名协议的欺骗.伪造一些域名出来. 5.如

OpenCV+VS2013+Win8+64位配置文档

配置环境 编程平台:VS2013 系统:Windows8 64位 X64架构 ? 安装OpenCV 1 下载OpenCV-2.4.9,下载网址 http://opencv.org/ 2 解压OpenCV到 D:\Program Files\OpenCV\opencv249 3 配置系统变量 添加OpenCV变量: D:\Program Files\OpenCV\opencv249\build 在Path后添加: D:\Program Files\OpenCV\opencv249\build\x6

【VMware虚拟化解决方案】VMware Horizon View Client 各平台配置文档

云桌面用户手册 XXXX部 2014年05月18日 文档版本 文档名称 XXXX公司云桌面用户手册 保密级别 商密 文档版本编号 1.0 制作人 制作日期 2014-04-24 复审人 复审日期 扩散范围 公司内部使用人员 变更记录 版本编号 版本日期 修改者 说明 文档说明 此文档为XXXX公司内部员工关于<云桌面用户手册>培训文档. 此文档只对公司内部员工传阅,并只针对公司内部员工问题给予解决. 目录 1.VMware Horizon View Client下载地址... 4 2.桌面连接

微信开发配置文档

微信开发配置文档 请求SDK接口 1, 绑定域名 公众号设置 菜单 --> 功能设置 绑定域名 : http://www.xxxxx.com2, 记录应用ID : AppID(应用ID)wxd9c94eba232190a1 应用密码: 8ff9f1fd268bdb643fc27354811d973a3, 找到开发者工具 --> 开发者文档 -->微信网页开发 -->JS-SDK说明文档 页面底部 下载 sample.php 示例DEMO 打开sample.php 设置 APPID

maven工程web层的web.xml配置文档内容

下面是web层,web.xml配置文档里面需要配置的东西: 1.lo4j配置 2.读取spring文件配置 3.设计路径变量值 4.spring字符集过滤器 5.登陆过滤器 6.springMVC核心配置 7.session过期时间 8.错误页面跳转 以下是实例: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSch

maven工程web层的spring配置文档

1.引入jdbc配置文档 2.扫描文件 3.上传文件的设置 下面是例子: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi