背景简介:
1)select force_logging from v$database; --确保主库开启force logging
2)archive log list; --确保主库为归档模式
3)在单实例主库添加standby redo,好处是做switchover时无需再添加stanbyredo,而且备库使用此全备后也会自动创建standby redo而无需再手动添加,一般standby redo比正常redo多一组即可,每组member个数随意,一般1个即可。
RAC备库:
1)在两节点按正常步骤安装RAC,但不建库,需要提前建好+DATA磁盘组。
2)为节点1添加数据库和实例:
srvctl add database -d orcl_st -n orcl -o $ORACLE_HOME -s open -a "DATA,FRA" -r physical_standby
srvctl add instance -d orcl_st -i orcl1 -n node1
2.参数文件:
主库采用在线修改的方式:
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orcl_st)' scope=both sid='*';
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' scope=both sid='*';
alter system set LOG_ARCHIVE_DEST_2='SERVICE=orcl_st reopen=120 lgwr async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_st' scope=both sid='*';
alter system set fal_server=orcl_st scope=both sid='*';
alter system set db_file_name_convert='/oradata/orcl/datafile','+data/orcl/datafile','/oradata/orcl/tempfile','+data/orcl/TEMPFILE' scope=spfile sid='*';
alter system set log_file_name_convert='/oradata/orcl/onlinelog','+data/orcl/ONLINELOG' scope=spfile sid='*';
alter system set standby_file_management=AUTO scope=both sid='*';
注意这里log_file_name_convert并没有将db_recovery_file_dest下的路径也一并映射,这是因为主库闪回区内的onlinelog将会被自动映射为备库闪回区的相关位置。
如果数据文件较为散乱,则需要将所有数据文件的路径全部映射至'+data/orcl/datafile',方便管理。
备库修改参数文件:
*.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump' --此目录需提前创建
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.cluster_database=true
*.control_files='+DATA/orcl/controlfile/control01.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_unique_name='orcl_st'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=5218762752
*.diagnostic_dest='/u01/app/oracle'
*.fal_server='ORCL'
*.log_archive_config='DG_CONFIG=(orcl,orcl_st)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl_st'
*.log_archive_dest_2='service=orcl reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_state_2='enable'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=1073741824
*.open_cursors=500
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_manager_plan=''
*.standby_file_management='AUTO'
orcl1.instance_name=orcl1
orcl1.instance_number=1
orcl1.undo_tablespace='UNDOTBS1'
orcl1.thread=1
orcl1.local_listener='(address=(protocol=TCP)(HOST=192.168.100.103)(PORT=1521))' --这里填写节点1的VIP
*.remote_listener='(address=(protocol=TCP)(HOST=192.168.100.105)(PORT=1521))' --这里填写RAC的scanip
修改完毕后改名为initorcl1.ora并将之放在$ORACLE_HOME/dbs目录下。
3.修改tnsnames.ora文件
修改单实例主库的tnsnames.ora文件如下,并将之拷贝到备库所有节点。
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) ORCL_ST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.101 )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
( SID = orcl1)
)
)
4.密码文件
将单实例主库的密码文件orapw<$ORACLE_SID>拷贝至备库所有节点,并改名为orapworcl1和orapworcl2
5.在主库做数据库全备并拷贝至备库节点1。(略)
在做这一步之前确保主库的备份计划已被停止,或rman中ARCHIVELOG DELETION POLICY被设置为applied on standby;
6.待备份传送至备库之后,在主库做standby控制文件的备份
backup current controlfile for standby format 'xxx';
7.将备份的standby控制文件拷贝至备库节点1。
8.使用备库参数文件将节点1实例启动至nomount状态。
startup nomount;
9.在备库节点1使用RMAN还原stanby控制文件。
restore standby controlfile from 'xxx'; --这里xxx路径为第7步中standby控制文件的位置。
alter database mount;
10.在备库注册备份集并恢复数据文件。
catalog start with 'xxx'; --这里填写备份所在的目录路径。
恢复备份:
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
allocate channel c6 type disk;
allocate channel c7 type disk;
allocate channel c8 type disk;
set newname for datafile 1 to '+DATA/orcl/datafile/system01.dbf';
set newname for datafile 2 to '+DATA/orcl/datafile/sysaux01.dbf';
set newname for datafile 3 to '+DATA/orcl/datafile/undotbs101.dbf';
set newname for datafile 4 to '+DATA/orcl/datafile/users01.dbf';
...
--主库有多少个数据文件,在这里写多少行,格式为:
--set newname for datafile file_id to 'file_name';
restore database;
switch datafile all;
}
11.以上操作完成后,在备库节点1开启监听。
netca或者netmgr都可以,pmon进程会自动将节点1的实例注册至监听,默认的service_name为db_unique_name,本例中为orcl_st。
12.在备库开启MRP进程(此时为mount状态)
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;;
取消MRP的语句为:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
13.观察备库节点1的alert日志,获知同步进度。
14.待追增量完毕后,取消MRP进程,打开备库,重启MRP进程。
以上就是搭建单实例到RAC的DataGuard的完整步骤,后期还需要做switch over、修改db_unique_name以及修改scanip和添加节点的操作,此外还要设置合适的备份及归档清除计划,步骤较繁琐,在这里不再详述。
DataGuard 单实例到RAC搭建的更多相关文章
-
Oracle - 通过dg,完成单实例到rac的迁移
一.概述 本文将介绍如何给单实例搭建一个rac dg,以及如何对其进行角色转换,完成从单实例到rac的迁移.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库(已有数据库实例 ...
-
Oracle 归档开启切换和归档日志删除(单实例和RAC)
Oracle默认安装后,是没有开启归档模式的,需要手动开启. 开启归档--单实例如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再s ...
-
oracle ogg 单实例单向简单搭建测试(oracle-oracle)
昨天突然接到消息说有一个线上的ogg出现了问题,看是否能修复,由于ogg以前玩的少,所以就加急搞了个测试环境,练习了一把 环境 db1,db2(单实例)ip: 1*,1*sid: orcl,ogg1o ...
-
Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)
Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库) 规划: 主: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG1 ipaddress:19 ...
-
CENTOS6.6上搭建单实例ORACLE12C
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 自己在centos6.6上搭建的单实例oracle12c 由 ...
-
【RAC】将单实例备份集恢复为rac数据库
[RAC]将单实例备份集恢复为rac数据库 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...
-
Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复
Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...
-
oracle rac与单实例DG切换
1.主库查看状态(RAC库) SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHO ...
-
搭建rac对单实例的MAA
一:实验环境 系统:redhat 4 三台计算机rac1,rac2,dg. --其中rac为主库,单实例为备库 已在虚拟机里搭建好集群环境(rac1,rac2); dg计算机里还没有建任何数据库(只安 ...
随机推荐
-
【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
视频地址:http://v.qq.com/page/m/8/c/m0150izlt8c.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...
-
WPF 自定义路由事件 与 附加路由事件
为student添加附件事件
-
VS2010+Oracle11+Entity Framework4.1环境搭建及常见问题(转)
一,开场白: 在微软的实体数据模型中存在四种查询方式:SQL字符串:Linq:Linq to SQL:Linq to Entity(ESQL) 对于Linq SQL目前微软虽然仍在支持,但微软已经声明 ...
-
C语言中头文件和cpp文件解析
务必提前预读这里的内容:http://www.cnblogs.com/stemon/p/3999844.html 回到cpp文件与头文件各写什么内容的话题上: 理论上来说cpp文件与头文件里的内容,只 ...
-
ubuntu14.04下部署Tsung
我是在Windows 7下装的虚拟机里部署的Tsung,所以,以下均是在虚拟机下的操作: 1.网络问题必须搞定,见我的另外一篇博文 2.erlang的安装包.Tsung的安装包一一备齐.我用的是tsu ...
-
MyEclipse和tomcat结合编写jsp对于中文乱码的解决方法
一.Java和jsp 中文乱码原因和解决方法: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因有两方面: 第一方面:J ...
-
玩转SpringCloud Spring Cloud 微服务
Spring Cloud 简介 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均 ...
-
Android的事件分发(dispatchTouchEvent),拦截(onInterceptTouchEvent)与处理(onTouchEvent)
在Android中,View的结构是树状的,所以,当触发触摸事件的时候,其事件传递也是从上之下一层层的传递.下面我们结合例子来一点点进行分析. 首先,我们需要了解事件处理中的几个方法: 1.在View ...
-
Jenkins持续集成企业实战系列之两种网站部署的流程-----01
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
-
Google Careers 程序员必修课
quote from : https://www.google.com/about/careers/students/guide-to-technical-development.html Techn ...