最近集团在做灾备方案,用于Oracle的高可用性,在不影响主库性能的前提下,我们选择使用DG的"最大性能"模式。
DG是Oracle数据库自带的数据同步功能,其基本原理是将日志文件从主库传输到备库,然后在备库上应用这些日志文件,从而使备库与主库保持同步。
DataGuard提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。
现将Dataguard配置过程给大家做以分享
1.主库开启归档模式
2.alter database force logging;
3.添加standby logfile
alter database add standby logfile '/data/oracle/oradata/orcl/standby01.log' size 50M;
alter database add standby logfile '/data/oracle/oradata/orcl/standby02.log' size 50M;
alter database add standby logfile '/data/oracle/oradata/orcl/standby03.log' size 50M;
4.配置log_archive_config
alter system set log_archive_config='dg_config=(orcl,dgorcl)';
alter system set log_archive_dest_1='location=/data/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl';
alter system set log_archive_dest_2 ='service=dgorcl async valid_for=(online_logfile,primary_role) db_unique_name=dgorcl';
5.编辑主库tnsnames.ora文件,将standby实例加进去
DGORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dgorcl)
)
)
6.编辑主库listener.ora文件,将standby静态注册进去
# listener.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /data/oracle
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = dgorcl)
(ORACLE_HOME = /data/oracle/product/11.2.0/db_1)
(SID_NAME = dgorcl)
)
)
7.重启监听
lsnrctl stop
lsnrctl start
8.创建standby库密码文件
cd $ORACLE_HOME/dbs
cp orapworcl orapwdgorcl
9.创建standby的初始化参数文件
cd $ORACLE_HOME/dbs
echo DB_NAME=dgorcl>initdgorcl.ora
10.创建standby库相应的目录
mkdir $ORACLE_BASE/admin/dgorcl
mkdir $ORACLE_BASE/admin/dgorcl/adump
mkdir $ORACLE_BASE/admin/dgorcl/dpdump
mkdir $ORACLE_BASE/admin/dgorcl/pfile
11.创建standby数据文件存放位置
mkdir $ORACLE_BASE/oradata/dgorcl
12.使用standby pfile启动至nomount状态
12.使用rman以auxiliary方式连接standby数据库
export ORACLE_SID=orcl
rman target / auxiliary sys@dgorcl
13.rman 创建standby数据库
run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert 'orcl','dgorcl'
set db_unique_name='dgorcl'
set db_file_name_convert='/orcl/','/dgorcl/'
set control_files='/data/oracle/oradata/dgorcl/dgorcl.ctl'
set log_archive_max_processes='5'
set fal_client='dgorcl'
set fal_server='orcl'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(orcl,dgorcl)'
set log_archive_dest_2='service=orcl async valid_for=(online_logfile,primary_role) db_unique_name=orcl' ;
}
14.standby库日志恢复开启
alter database recover managed standby database disconnect from session;
到此已完成Phyical Dataguard的相关配置,并为之后调整DG到ADG,做logical dataguard,做报表查询分担主库压力和实现读写分离做准备。
- oracle DataGuard 主从 踩过坑的
一.主机描述 dbprimary: 192.168.1.57 主机名称db1 dbstandby: 192.168.1.58 主机名成db2 SID: orcl 二.配置tns,配置好的文 ...
- Oracle Dataguard之物理standby的基本配置
尽管网上有很多Oracle Dataguard的配置教程,但不难发现,很多采用的是rman duplicate这种方法,尽管此种方法较为简便.但在某种程度上,却也误导了初学者,虽说也能配置成功,但只知 ...
- Oracle dataguard 正常切换和应急切换
oracle dataguard提供异地容灾方案,能有效的防止单点故障和提供高可用技术,这里介绍dataguard正常主备切换和应急切换(应急切换模拟主库出现问题无法还原,备库脱离dataguard接 ...
- Oracle Dataguard之failover
Oracle Dataguard中,角色转换包含两类:Switchover和Failover.上文<Oracle Dataguard之switchover>中,我们已经谈过了switcho ...
- Oracle Dataguard之switchover
Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间角色转换,主库降为备库,备库升级为主库.而failover则是指主库出现问题时 ...
- Oracle Dataguard之Real-Time Apply
Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...
- Oracle DataGuard 物理Standby 搭建(上)
物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...
- Oracle DataGuard搭建(一)
第一次搭建oracle dataguard.学oracle很长时间,却没有完整的搭过dg,说起来让人笑.总得有第一次,而且第一次总是很痛苦的. 数据库版本: Oracle Database 11g E ...
- Oracle DataGuard数据备份方案详解
Oracle DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备 ...
随机推荐
- IO流(四)__流的操作规律总结
流的操作规律: 1.明确源和目的 源:InputStream Reader 目的:OutputStream Writer 2.明确数据是否是纯文本数据 源:是纯文本:Reader 否:InputStr ...
- letter-spacing
letter-spacing:3px的意思就是字母之间的间距是3px:
- textillate.js 文字动画
textillate.js是一款强大的文字插件,若配合animate.css.fittext.lettering一起使用,这样做出来的文字特效很完美. 在线实例 实例演示 使用方法 <div i ...
- Google Web Designer – 创建引人入胜的 HTML5 网站
Google Web Designer 可以帮助你创建引人入胜,互动的基于 HTML5 的设计和动画,可以在任何设备上运行.如果你喜欢自己动手,设计背后的所有的代码都是可以手工编辑的. 虽然可视化工具 ...
- ThinkPHP3.2 G函数代码及 使用方法
ThinkPHP3.2 G函数代码及 使用方法 代码: // 内存是否可调用 define('MEMORY_LIMIT_ON',function_exists('memory_get_usage')) ...
- Eclipse Plug-in Hello world
这一篇就简单说下一个hello world插件工程创建过程. 1.创建一个Plug-in Project 2.填写project name 3.第二个确认框勾上,然后直接下一步 ...
- .Net资源总结
源码文档见官方群(以下为7.4更新内容) 逆天工具 CDN 资源库 国内 Bootstrap中文网开源项目免费 CDN 服务 360网站卫士常用前端公共库CDN服务 百度静态资源公共库 新浪云计算CD ...
- ASP.NET MVC Bootstrap极速开发框架
前言 每次新开发项目都要从头开始设计?有木有一个通用的快速开发框架?并且得是ASP.NET MVC And Bootstrap?数据库不要手工创建?框架对未来业务支持的扩展性好?这么简单的功能还需要 ...
- php示例代码之empty函数
1 2 3 4 5 6 7 8 9 10 11 <?php $testVar=0; if(empty($testVar)) { echo 'msg:true'; } ...
- git之一
1.Git是什么Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 ...