DataGuard实战1
DataGuard实战1
-------------------------------------------2013/10/27
一.Primary数据库的配置及操作
1. 确定主库处于归档日志模式。
SQL> archive log list;
2. 将主库设置成force logging模式。
SQL> alter database force logging;
3. 创建standby数据库控制文件。
SQL> alter database create standby controlfile as ‘/u01/august01.ctl’;
--一定要生成standby的控制文件,不能直接用主库的控制文件。不然会抱错,提示该控制文件不是一个standby控制文件。
4. 修改primary数据库的参数文件。
例如:[Oracle@localhost dbs]$ cat initaugust.ora
august.__db_cache_size=92274688
august.__java_pool_size=4194304
august.__large_pool_size=4194304
august.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
august.__pga_aggregate_target=146800640
august.__sga_target=276824064
august.__shared_io_pool_size=0
august.__shared_pool_size=163577856
august.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/august/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/august/august/control01.ctl','/u01/app/oracle/flash_recovery_area/august/august/control02.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_name='august'
*.db_unique_name=augustpri
*.log_archive_config='dg_config=(augustpri,augustdg)'
*.log_archive_dest_1='location=/u01/app/oracle/flash_recovery_area/august/arch valid_for=(all_logfiles,all_roles) db_unique_name=augustpri'
--这里是本地存放日志的地方
*.log_archive_dest_2='service=augustdg lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=augustdg' --这是设置将日志传给standby数据库,service和db_unique_name设置为备库的。
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.remote_login_passwordfile=exclusive
*.fal_server=augustdg
*.fal_client=augustpri
*.standby_file_management=auto
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area/august'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=augustXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=420478976
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
5. 关闭数据库,重新由pfile生成新的spfile
SQL> shutdown immediate;
SQL> create spfile from pfile; / SQL> create spfile from pfile=’/**/**/init_name.ora’;
6. 使用rman备份数据库,并传输到目标数据库。
RMAN> backup database include current controlfile for standby plus archivelog;
*7. 创建standby log文件。
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database add standby logfile
group 4 ('/opt/oracle/oradata/fost/std_redo04.log') size 50m,
group 5 ('/opt/oracle/oradata/fost/std_redo05.log') size 50m,
group 6 ('/opt/oracle/oradata/fost/std_redo06.log') size 50m,
group 7 ('/opt/oracle/oradata/fost/std_redo07.log') size 50m;
SQL> alter database open;
8. 将数据库密码文件传输到standby数据库,如果之前有,而且密码一致就可以不传输。
二. Standby数据库的配置及操作。
1. 将primary数据库的参数文件拷贝到standby数据库,或者直接手动修改。
例如:[Oracle@localhost dbs]$ cat initaugust.ora
august.__db_cache_size=79691776
august.__java_pool_size=4194304
august.__large_pool_size=4194304
august.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
august.__pga_aggregate_target=159383552
august.__sga_target=264241152
august.__shared_io_pool_size=0
august.__shared_pool_size=163577856
august.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/august/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/august/august/control01.ctl','/u01/app/oracle/flash_recovery_area/august/august/control02.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_domain=''
*.db_name='august'
*.db_unique_name=augustdg
*.log_archive_config='dg_config=(augustpri,augustdg)'
*.log_archive_dest_1='location=/u01/app/oracle/flash_recovery_area/august/arch valid_for=(all_logfiles,all_roles) db_unique_name=augustdg' --这里应该是接受到主库传输的日志归档后的地方。
*.log_archive_dest_2='service=augustpri lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=augustpri' --这里设置为将日志传给Primary库的配置,其中service和db_unique_name都应该设置Primary数据对应的值。
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.remote_login_passwordfile=exclusive
*.fal_server=augustpri
*.fal_client=augustdg
*.standby_file_management=auto
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area/august'
*.db_recovery_file_dest_size=4039114752
*.db_unique_name='AUGUSTDG'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=augustXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=420478976
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
2. 利用此参数文件启动实例到nomount下,并生成spfile文件。
RMAN> startup nomount;
RMAN> sql 'create spfile from pfile';
3. 将Primary生成的standby控制文件,复制到standby数据库中对应的目录中。
4. 根据参数文件,创建相应的目录,然后利用rman备份数据restore并恢复数据库。
5. 在数据库mount状态下,打开recover模式。
SQL> alter database recover managend standby database disconnect from session;
*5。在standby数据库中创建standby log文件。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> alter database add standby logfile
group 4 ('/opt/oracle/oradata/fost/std_redo04.log') size 50m,
group 5 ('/opt/oracle/oradata/fost/std_redo05.log') size 50m,
group 6 ('/opt/oracle/oradata/fost/std_redo06.log') size 50m,
group 7 ('/opt/oracle/oradata/fost/std_redo07.log') size 50m;
SQL> shutdown immediate;
SQL> startup mount;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
至此DataGuard搭建成功!
三. 相关设置
1. 查看Primary数据库角色及保护模式。
SQL> select database_role,protection_mode,protection_level from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
2. 修改为最大可用性模式并验证。
SQL> alter database set standby database to maximize availability;
Database altered.
SQL> select database_role,protection_mode,protection_level from v$database;
DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
PRIMARY MAXIMUM AVAILABILITY RESYNCHRONIZATION
注意:如果发现dataguard 搭建后,日志并没有传输到备机,没有同步。那么通过视图v$arch_dest查看错误信息 select dest_id,error from v$arch_dest; 也可以通过trace file查看详细错误信息。
相关链接:
http://www.5ienet.com/note/html/dg/physical-standby-created-step.shtml
http://www.5ienet.com/note/html/dg/physical-standby-created-script.shtml
http://www.5ienet.com/note/html/dg/physical-standby-role-switch.shtml
DataGuard实战1的更多相关文章
- 实战dataguard主从切换
前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据:另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动 ...
- Oracle dataguard failover 实战
Oracle dataguard failover 实战 操作步骤 备库: SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINIS ...
- Oracle DBA从小白到入职实战应用
现如今Oracle依然是RDBMS的王者,在技术上和战略上,Oracle仍然一路高歌猛进,并且全面引领行业迈入了云时代,伴随着12cR2即将在2016年正式发布,学习Oracle之路依旧任重道远,目前 ...
- 【DG】[三思笔记]一步一步学DataGuard
[DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...
- oracle dataguard主从切换
前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据:另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动 ...
- OCP培训 Oracle 12c/18c/19c OCP认证实战培训【送OCP优惠名额】
一.OCP培训 Oracle 12c/18c/19c OCP认证全套实战培训[送OCP优惠名额],本课程内容 课程目标: 为满足想参加Oracle OCP考证的学员,风哥设计的一套比较全面OCP实战培 ...
- SSH实战 · 唯唯乐购项目(上)
前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...
- GitHub实战系列汇总篇
基础: 1.GitHub实战系列~1.环境部署+创建第一个文件 2015-12-9 http://www.cnblogs.com/dunitian/p/5034624.html 2.GitHub实战系 ...
- MySQL 系列(四)主从复制、备份恢复方案生产环境实战
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
随机推荐
- C#设置WebBrowser默认浏览器
由于VS的WebBrowser控件的默认浏览器是IE7,好多网页兼容性不是很好,所以要修改下默认浏览器. 设置前: 设置后: 在WebBrowser界面加载时执行以下方法,设置浏览器. /// ...
- ASP.NET Core Web 资源打包与压缩
本文将介绍使用的打包和压缩的优点,以及如何在ASP.NET Core应用程序中使用这些功能. 概述 在ASP.Net中可以使用打包与压缩这两种技术来提高Web应用程序页面加载的性能.通过减少从服务器请 ...
- Button动态样式取代xml
还在为 textview以及button 的各种样式而烦恼的童鞋们请往这里看~~~~ 一次性解决 textview以及button的样式,再也不用写xml了!!! 全部动态预设置,拒绝堆代码,拒绝xm ...
- vijos1080题解
题目: 对于一个递归函数w(a,b,c) 如果a<=0 or b<=0 or c<=0就返回值1. 如果a>20 or b>20 or c>20就返回w(20,20 ...
- ARP欺骗分析
(作者原创,欲转载请说明出处)1.arp介绍 arp:地址解析协议;将IP地址映射为MAC地址.2.为什么要有arp 平时上网我们都知道要有一个IP地址才能上网,那arp用来干嘛的呢?如果 ...
- HDU 3829 Cat VS Dog / NBUT 1305 Cat VS Dog(二分图最大匹配)
HDU 3829 Cat VS Dog / NBUT 1305 Cat VS Dog(二分图最大匹配) Description The zoo have N cats and M dogs, toda ...
- 一步一步学Vue (一)
vue应该是前端主流框架中的集成大成者,它吸取了knockout,angular,react设置avalon的经验,支持各种模式写法,入门很简单,从本章开始,会记录学习vue中的点点滴滴,以笔记的形式 ...
- nopCommerce 3.9 大波浪系列 之 汉化-中文语言
一.导入语言包 nop官网下载中文语言文件,下载后是一个xml文件. 打开xml文件我们可以看到LocaleResource节点Name属性为资源名称,Value节点为资源值. 后台[Confignu ...
- spring加载异常
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' ...
- salesforce零基础学习(七十七)队列的实现以及应用
队列和栈简单的区别为栈是后进先出,队列是先进先出.队列也是特殊的线性表,所以队列也分为顺序存储结构和链式存储结构.本篇主要描述顺序存储结构. 我们先假定一个队列里有5个元素,当我们添加新元素时,添加到 ...