|操作系统 | 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 双机实验的更多相关文章

  1. Oracle Dataguard Standby Redo Log的两个实验

    在Data Guard环境中,Standby Redo Log是一个比较特殊的日志类型.从最新的DG安装指导中,都推荐在Primary和Standby端,都配置Standby Redo Log. 简单 ...

  2. Oracle Grid control 11g及Active DataGuard 11g安装部署

    Oracle Grid control 11g及Active DataGuard 11g安装部署(一) 原贴 http://blog.csdn.net/lichangzai/article/detai ...

  3. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  4. Oracle Dataguard之switchover

    Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间角色转换,主库降为备库,备库升级为主库.而failover则是指主库出现问题时 ...

  5. Oracle DataGuard搭建(一)

    第一次搭建oracle dataguard.学oracle很长时间,却没有完整的搭过dg,说起来让人笑.总得有第一次,而且第一次总是很痛苦的. 数据库版本: Oracle Database 11g E ...

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

  7. Oracle RAC 11g DG Broker配置和测试

    Oracle RAC 11g DG Broker配置和测试 之前在<RHEL6.4 + Oracle 11g DG测试环境快速搭建参考>已经简单说过. 本篇在实验环境中实际配置 环境: R ...

  8. Oracle dataguard 正常切换和应急切换

    oracle dataguard提供异地容灾方案,能有效的防止单点故障和提供高可用技术,这里介绍dataguard正常主备切换和应急切换(应急切换模拟主库出现问题无法还原,备库脱离dataguard接 ...

  9. 利用rman duplicate重建oracle dataguard standby数据库

    问题背景 适用情况: 操作系统: redhat 6.5 数据库: oracle 11g r2 问题描述: failover后原主库无法恢复和启动或者丢失主备关系 优点 不需要对primary数据库停机 ...

随机推荐

  1. git操作:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (警告:远程主机标识已更改!)

    问题背景: 前几日,把云服务器系统由centos改成Ubuntu之后,重新搭建的git服务器环境. 问题描述: 从本机不能clone远程git仓库. 报错如下: @@@@@@@@@@@@@@@@@@@ ...

  2. Python 求点到直线的垂足

    Python 求点到直线的垂足 在已知一个点,和一条已知两个点的直线的情况下 运算公式参考链接:https://www.cnblogs.com/mazhenyu/p/3508735.html def ...

  3. 对Spring运用的一些思考

    最近使用spring总是遇到启动时启动不起来,或者启动起来一会就服务就关闭掉. 停下来想想不是spring不好复杂,而是我对它掌握不够,再有就是使用要尽量规范 使用配置文件,dao.manager.s ...

  4. 读取gzmt.csv文件,计算均值及概率

    问题: 读取gzmt.csv文件所有数据,选取收盘价格(倒数第二列),计算20天均值,权重取成交量(选做:时间权重为半衰期为15天):将该均值修剪为超过600的都设置为1000,并打印出该均值超过55 ...

  5. phantomjs 中文文档

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

  6. asp.net MVC jsonp跨域获取数据

    public class JsonpResult : JsonResult { object _data = null; public JsonpResult() { } public JsonpRe ...

  7. 30、进程的基础理论,并发(multiprocessing模块)

    我们之前基于tcp所做的通信都只能一个一个链接只有关闭当前链接时才能去链接下一个通信,这显然与现实情况不合.今天我们将来学一个新的概念进程,来做一个python多进程的并发编程.还会贴一个用json序 ...

  8. [LeetCode] Design Circular Queue 设计环形队列

    Design your implementation of the circular queue. The circular queue is a linear data structure in w ...

  9. Java 中的字符串与 []byte 字节数组

    一.字符串 1.比较 String.HashSet.List 中的 contains 方法 其中, String.List 都使用了 indexOf 方法,本质是遍历,时间效率为 O(n).而 Has ...

  10. CentOS6.5yum配置本地源

    进入repos.d目录 cd /etc/yum.repos.d 创建临时文件夹repo.bak(文件夹名随意起 使用root权限) 将以下文件移到repo.bak文件夹(以防备用) -rw-r--r- ...