Oracle DataGuard 11g 双机实验
|操作系统 | release 6.7 | release 6.7 |
|主机名 | stuaapp01 | stuaapp02 |
|IP | 192.168.20.234 | 192.168.20.235 |
|数据库软件版本 | oracle 11.2.0.4.0 | oracle 11.2.0.4.0 |
|ORACLE_BASE | /u01/app/oracle/ | /u01/app/oracle/ |
|ORACLE_HOME |$ORACLE_BASE/product/11.2.0/db_1 | $ORACLE_BASE/product/11.2.0/db_1 |
|ORACLE_SID | orcl | |
|闪回区 | 4G | |
|归档 | 开启 | |
---------------------------------------------------------------------------------------------
查看数据库版本
SQL> select * from v$version;
一.Primary 数据库配置及相关操作
1.确认primary库处于归档模式
2.将primary库置为FORCE LOGGING 模式
3.添加STANDBY日志文件
4.创建primary库客户端初始化参数文件
1).创建主库中的pfile
2).备份到backup目录用于创建备库的pfile
3).修改后主库pfile中内容如下
4).通过pfile 重建spfile
5).修改监听配置文件
6).配置tnsnames.ora文件
7).启动数据库,测试
5.rman备份数据库,在闪回区中
二.Standby数据库配置及相关操作
1.创建所需目录(注意OMF管理的文件)
2.复制数据文件到standby库对应的目录
1).拷贝闪回区内容
2).拷贝参数文件
3).拷贝密码文件
4).拷贝监听文件和tns文件
3.修改相应配置
1).修改监听配置文件
2).修改TNS配置文件
3).重启监听服务
4).standby的初始化参数如下
5).通过该pfile 创建spfile
4.恢复数据库
5.启动redo 应用
6.验证
7.切换到只读模式
8.切换到同步模式(不需要停库)
一.Primary 数据库配置及相关操作
1.确认primary库处于归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 2
Next log sequence to archive 4
Current log sequence 4
2.将primary库置为FORCE LOGGING 模式
SQL> alter database force logging;
SQL> select force_logging from v$database;
FOR
---
YES
Database altered.
3.添加STANDBY日志文件
alter database add standby logfile group 4 ('/u01/app/oracle/oradata/orcl/redo04.log') size 50m;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/orcl/redo05.log') size 50m;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/orcl/redo06.log') size 50m;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/orcl/redo07.log') size 50m;
4.创建primary库客户端初始化参数文件
1).创建主库中的pfile
SQL> create pfile from spfile;
File created.
2).备份到backup目录用于创建备库的pfile
[oracle@rac1 dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs
[oracle@rac1 dbs]$ cp ./initorcl.ora /home/oracle/backup/
3).修改后主库pfile中内容如下
orcl.__db_cache_size=327155712
orcl.__java_pool_size=4194304
orcl.__large_pool_size=8388608
orcl.__oracle_base='/u01/app/oracle'
#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=318767104
orcl.__sga_target=469762048
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=121634816
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=786432000
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
#################################################################
#Parameters for Primary Database.
#################################################################
*.DB_NAME='orcl'
*.DB_UNIQUE_NAME=orcl
*.LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcldg)'
*.LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'
*.LOG_ARCHIVE_DEST_2='SERVICE=orcldg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
*.standby_file_management=auto
#################################################################
#Parameters which using for switch over from Primary to Standby.
#################################################################
*.FAL_SERVER=orcldg
*.FAL_CLIENT=orcl
*.DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/orcldg','/u01/app/oracle/oradata/orcl'
*.log_file_name_convert='/u01/app/oracle/oradata/orcldg','/u01/app/oracle/oradata/orcl'
*.standby_archive_dest='/u01/app/oracle/archive_log'
4).通过pfile 重建spfile
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create spfile from pfile='initorcl.ora';
File created.
5).修改监听配置文件
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.241)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
6).配置tnsnames.ora文件
[oracle@rac1 admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.234)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
orcldg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.235)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldg)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
7).启动数据库,测试
[oracle@rac1 admin]$ tnsping orcl
TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 17-NOV-2016 19:22:52
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.50.241)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))
OK (0 msec)
alter database set standby database to maximize availability;
5.rman备份数据库,在闪回区中
backup database plus archivelog;
backup current controlfile for standby;
二.Standby数据库配置及相关操作
1.创建所需目录(注意OMF管理的文件)
show parameter dest
mkdir -p /u01/app/oracle/admin/orcl/adump
mkdir -p /u01/app/oracle/admin/orcl/dpdump
mkdir -p /u01/app/oracle/diag/rdbms/orcl/orcldg/trace
mkdir -p /u01/app/oracle/diag/rdbms/orcl/orcldg/cdump
mkdir -p /u01/app/oracle/flash_recovery_area
mkdir -p /u01/app/oracle/archivelog
mkdir -p /u01/app/oracle/archive_log
mkdir -p /u01/app/oracle/fast_recovery_area
2.复制数据文件到standby库对应的目录
从主数据库服务器上拷贝文件
1).拷贝闪回区内容
scp -r ./* 192.168.20.235:/u01/app/oracle/fast_recovery_area/
2).拷贝参数文件
scp ./* 192.168.20.235:/u01/app/oracle/product/11.2.0/dbhome_1/dbs
3).拷贝密码文件
[oracle@stuaapp01 dbs]$ scp orapworcl 192.168.20.235:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
4).拷贝监听文件和tns文件
scp *.ora 192.168.20.235:/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/
3.修改相应配置
1).修改监听配置文件
[oracle@stuaapp02 admin]$ vi listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.235)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
2).修改TNS配置文件
3).重启监听服务
lsnrctl stop
lsnrctl start
4).standby的初始化参数如下
orcl.__db_cache_size=327155712
orcl.__java_pool_size=4194304
orcl.__large_pool_size=8388608
orcl.__oracle_base='/u01/app/oracle'
#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=318767104
orcl.__sga_target=469762048
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=121634816
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=786432000
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
#################################################################
#Parameters for Standby Database.
#################################################################
*.DB_NAME='orcl'
*.DB_UNIQUE_NAME=orcldg
*.LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcldg)'
*.DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcldg'
*.LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcldg'
*.STANDBY_ARCHIVE_DEST='/u01/app/oracle/archive_log'
*.FAL_SERVER=orcl
*.FAL_CLIENT=orcldg
*.STANDBY_FILE_MANAGEMENT=AUTO
#################################################################
#Parameters which using for switch over from Standby to Primary.
#################################################################
*.LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcldg'
*.LOG_ARCHIVE_DEST_2='SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
5).通过该pfile 创建spfile
SQL> create spfile from pfile= 'initorcldg.ora';
File created.
4恢复数据库
启动备库到nomount
startup nomount
[oracle@dg2 admin]$ rman target sys/oracle@orcl auxiliary /
RMAN> duplicate target database for standby nofilenamecheck;
RMAN> exit
关闭数据库
shutdown immediate
5.启动redo 应用
startup nomount;
alter database mount standby database;
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
6.验证
主库
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/archivelog
Oldest online log sequence 73
Next log sequence to archive 75
Current log sequence 75
备库
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/archivelog
Oldest online log sequence 70
Next log sequence to archive 0
Current log sequence 75
7.切换到只读模式
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database open read only;
Database altered.
8.切换到同步模式(不需要停库)
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
Oracle DataGuard 11g 双机实验的更多相关文章
- Oracle Dataguard Standby Redo Log的两个实验
在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...
- Oracle Grid control 11g及Active DataGuard 11g安装部署
Oracle Grid control 11g及Active DataGuard 11g安装部署(一) 原贴 http://blog.csdn.net/lichangzai/article/detai ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- Oracle Dataguard之switchover
Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间角色转换,主库降为备库,备库升级为主库.而failover则是指主库出现问题时 ...
- Oracle DataGuard搭建(一)
第一次搭建oracle dataguard.学oracle很长时间,却没有完整的搭过dg,说起来让人笑.总得有第一次,而且第一次总是很痛苦的. 数据库版本: Oracle Database 11g E ...
- Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4]
Oracle DataGuard 升级 [11.2.0.1 -> 11.2.0.4] Primary: 11.2.0.1 单机,Site A. Standby: 11.2.0.1 单机,Site ...
- Oracle RAC 11g DG Broker配置和测试
Oracle RAC 11g DG Broker配置和测试 之前在<RHEL6.4 + Oracle 11g DG测试环境快速搭建参考>已经简单说过. 本篇在实验环境中实际配置 环境: R ...
- Oracle dataguard 正常切换和应急切换
oracle dataguard提供异地容灾方案,能有效的防止单点故障和提供高可用技术,这里介绍dataguard正常主备切换和应急切换(应急切换模拟主库出现问题无法还原,备库脱离dataguard接 ...
- 利用rman duplicate重建oracle dataguard standby数据库
问题背景 适用情况: 操作系统: redhat 6.5 数据库: oracle 11g r2 问题描述: failover后原主库无法恢复和启动或者丢失主备关系 优点 不需要对primary数据库停机 ...
随机推荐
- RxJS操作符(二)
一.Observable的性质 三种状态:nex, error, complete 进入到Error状态: ) .filter(val=>{ throw '出错了' }) .take() .re ...
- vue-cli按需加载,懒加载组件
vue来做一个单页面应用,当我们的项目越来越大,组件越来越多的时候,首次启动项目户特别慢,就算做一个加载框,蒙层之类的,体验也不会好,这个时候就需要按需加载 1.什么叫按需加载 所谓按需加载,顾名思义 ...
- 机器学习之--KNN算法简单实现
# # kNN 分类算法 a = np.array([[1,1],[1.2,1.5],[0.3,0.4],[0.2,0.5]]) #构造样本数据 labels = ['A','A','B','B'] ...
- CentOS下安装yum源的流程和操作
一般公司都用Linux来搭建服务器,Linux安装软件时能够用yum安装依赖包是一件非常简单而幸福的事情,因为你只需一个简单的安装命令yum install []即可安装相应的软件,yum工具会自动的 ...
- django——文本编辑器
在博客项目中,为了支持用户的在线编辑博客,我们选用了kindeditor这个强大的编辑器. 以下是对kindeditor的简介,以及在Django中引入这个编辑器的方法:) 1.KindEditor是 ...
- SVN服务器搭建及使用
.SVN(全称Subversion)是优秀的版本控制工具,与微软的TFS相比,有如下优势:开源(免费),支持多种操作系统. 本次我搭建的服务器采用:VisualSVN-Server-3.6.1-x64 ...
- 什么是Hash?Hash有哪些特性?
Hash 把任意长度的输入通过散列算法变换成固定长度的输出 Hash的特性: 输入域无穷,输出域有限.例如:有无穷多个(在工程中可以具体到多少个,例如1000)输入参数经过hash函数映射后得到有限的 ...
- Oracle 触发器 trigger
触发器: 当用户登录/退出或者操作某个数据对象或者进行DDL(建表,建view)引起某个储存过程的值的变化,把这个隐含被调用的过程,称为触发器. 语法 CREATE OR REPLACE TRIGGE ...
- eclipse部分常用快捷键
-------------eclipse常用快捷键------------- 1.alt+?或alt+/:自动补全代码或者提示代码 2.ctrl+o:快速outline视图 3.ctrl+shift+ ...
- Linux下卸载Oracle 11g
第一种方法: 使用oracle自带的runInstaller 卸载 [oracle@VM_0_14_centos deinstall]$ cd $ORACLE_HOME [oracle@VM_0_14 ...