(转)Oracle Data Guard配置
data guard配置的条件
1、在主库和从库的所有机器上必须安装同一个版本的Oracle企业版。
2、主库必须运行在归档模式下。
3、主库和从库的操作系统必须一样(允许版本不同),从库可以使用与主库不同的目录结构。
4、主从库硬件系统的体系结构必须相同。比如:主库运行在64位的Sun Sparc系统上,如果从库是32位的Linux Intel系统就不允许。主从库硬件的配置可以不同,比如:CPU数量、内存大小、存储配置等。
5、主从库可以是单实例的数据库,也可以是多实例的RAC数据库。
6、每个主从库必须有它自己的控制文件。
7、如果把主从库放在了一个系统里,则必须调整初始化参数。
8、只要使用data guard配置就要保持主库是FORCE LOGGING模式,如果在主库上使用了no logging操作不生成日志,因此数据也不会传递到从库。
9、管理主从库的用户必须具有SYSDBA权限。
主库:win2003 server ora9i(9.2.0.1.0)192.168.3.135主机名:data580 SID:PRIMARY
从库:win2003server ora9i(9.2.0.1.0)192.168.3.136主机名:data380 SID:STANDBY
1、主库和从库的Oracle安装的时候都选择相同的安装路径E:oracleora92;并且先不要安装数据库,即在安装过程中“数据库配置”一项下面选择“只安装软件”;
2、在主库上使用DBCA(Database Configuration Assistant)建一个数据库,SID设为PRIMARY;
3、设置主库归档路径为e:oracleora92databaseArchive:
Sql>alter system set log_archive_dest_1='LOCATION=e:oracleora92databaseArchive MANDATORY' scope=both;
4、将主库实例、数据库关闭,然后启动实例,但不打开数据库,只启动到数据库挂载模式:
Sql>shutdown immediate; Sql>startup mount;
5、将主库设置成归档状态和自动归档模式:
Sql>alter database archivelog;
Sql>alter system set log_archive_start=true scope=spfile;
6、在主库上面创建从库的控制文件standby.ctl:
Sql>alter database create standby controlfile as 'e:oracleoradatastandby.ctl';
7、在主库上面创建从库的初始化参数文件standby.ora(将其拷贝回从库后转换成从库的spfile):
Sql>create pfile='e:oracleoradatastandby.ora' from spfile;
8、查看主库的数据文件及其的位置:Sql>select name from v$datafile;记下查询结果中的数据文件的位置。
9、关闭实例:
Sql>shutdown immediate;
10、将第6步中的standby.ctl、第7步中的standby.ora和第8步骤中的数据文件、还有E:oracleoradataPRIMARY路径下面的联机日志文件(REDO.LOG)、E:oracleora92database里面的口令文件PWDPRIMARY.ora备份出来,拷贝到从库中;在从库中创建路径E:oracleoradataPRIMARY,存放standby.ctl、数据文件、联机日志文件;创建路径
E:oracleadminPRIMARY,在里面创建空文件夹bdump、cdump、udump、create、pfile;将standby.ora放到E盘根目录下面;将口令文件PWDPRIMARY.ora更名为PWDSTANDBY.ora,放到从库的E:oracleora92database下面。
11、回到主库,启动主库实例和数据库:
Sql>startup
12、转回到从库,手动创建服务OracleServiceSTANDBY:
oradim -new -sid STANDBY -startmode manual
设置环境变量:在环境变量的“Administrator的用户变量”一栏里面新建一个值,变量名为ORACLE_SID,变量值为STANDBY(服务名)。
13、创建从库监听器OracleOraHome92TNSListener:进入Net Configuration Assistant,使用“监听程序配置”来创建从库的监听器,同时会在E:oracleora92networkadmin下面生成listener.ora文件;
14、配置本地NET服务名:进入Net Configuration Assistant,使用“本地NET服务名配置”来配置,同时会在E:oracleora92networkadmin下面生成tnsnames.ora文件;
15、配置主从库的tnsnames.ora,都将里面的内容设置成如下内容:
STANDBY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.136)(PORT =1521)) ) (CONNECT_DATA = (SERVICE_NAME = PRIMARY) ) )
PRIMARY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.135)(PORT =1521)) ) (CONNECT_DATA = (SERVICE_NAME = PRIMARY) ) )
16、修改E根目录下面的初始化参数文件standby.ora,里面的全部内容如下(删除了原来的control_files参数,将instance_name改成了STANDBY,最后面的7行粗体部分是新添加的内容):
*.aq_tm_processes=1
*.background_dump_dest='e:oracleadminPRIMARYbdump'
*.compatible='9.2.0.0.0'
*.core_dump_dest='e:oracleadminPRIMARYcdump'
*.db_block_size=8192
*.db_cache_size=728760320
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='PRIMARY'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=PRIMARYXDB)','(PROTOCOL=TCP)'
*.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='STANDBY'
*.java_pool_size=20971520
*.job_queue_processes=10
*.large_pool_size=143654912
*.log_archive_dest_1='LOCATION=e:oracleora92databaseArchive MANDATORY'
*.log_archive_start=TRUE
*.open_cursors=300
*.pga_aggregate_target=324009984
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=242221056
*.sort_area_size=52428800
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='e:oracleadminPRIMARYudump'
*.standby_file_management=AUTO
*.remote_archive_enable=TRUE
*.lock_name_space='standby'
*.fal_server='primary'
*.fal_client='standby'
*.standby_archive_dest='e:oracleora92databaseArchive'
*.control_files='e:oracleoradataprimarySTANDBY.CTL'
17、进入sqlplus将standby.ora创建成从库的spfile:
Sql>create spfile from pfile='e:standby.ora';
18、启动从库的实例,并且将从库设置成standby模式:
Sql>startup nomount; Sql>alter database mount standby database;
19、在从库启动日志应用服务:
Sql>alter database recover managed standby database disconnect from session;
20、转到主库,启动到物理从库的归档:
Sql>ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=PRIMARY' SCOPE=BOTH;
Sql>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;
21、校验Data Guard的运转:
主库,归档当前日志:
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
从库,校验归档日志是否正常接收:
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
从库,查看新的归档日志是否正常用于恢复:
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP --------- ---
8 YES
9 YES
10 YES
11 YES
如果都是像以上那样的内容,都是YES的话,那就成功了。也可以分别查看主从库的E:oracleora92databasearchive文件夹里面的内容,如果从库的和主库的内容一致,就算data guard配置成功了。
22、这个时候从库只是将日志文件拿过来存放起来,但并没有执行日志文件,所以在主库上所做的操作无法在从库上得到结果,即无法在从库上查询数据。要在从库上查询数据,要执行以下语句:在从库上用sysdba用户连接
Sql>alter database recover managed standby database disconnect from session ;
Sql>alter database recover managed standby database cancel ;
Sql>alter database open read only ;
查询数据即可。查询完成以后,需要恢复从库为恢复模式。
Sql>alter database recover managed standby database disconnect from session ;
这个功能的可以用来查询前一天(或者前若干时间)以前的数据,比如报表之类的,因为今天只能查询昨天以前的报表,对数据的同步性的要求不是那么严格。查询完后一定要将从库设回恢复模式。
(转)Oracle Data Guard配置的更多相关文章
- Oracle Data Guard配置
Oracle Data Guard 的配置在网上有很多资料,但是没有一个完整的,配置下来多少有些问题.在踩了各种坑之后,自己终于配置成功,就想把这过程记录下来. 1 测试环境 主数据库:windo ...
- oracle data guard配置dg_broker
https://community.oracle.com/docs/DOC-1007327 本文主要包括以下内容: 1. 配置dg broker,需要完成以下几个工作: 在主备库配置静态监听注册,注 ...
- Oracle Data Guard的配置
概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...
- Oracle Data Guard 重要配置参数
Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务.对于Oracle DG的配 ...
- Oracle Data Guard
DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...
- (转)Oracle Data Guard学习
一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...
- Oracle data guard学习
Oracle data guard学习:三思笔记 Data guard 1data guard结构: data guard是一个集合,由一个primary数据库(生产数据库)和一个或多个standby ...
- Oracle data guard 10g 搭建
Oracle data guard 10g 搭建 1系统常规参数检查 硬盘 [root@localhost ~]# df -h 内核 [root@localhost ~]# uname -a [roo ...
- 一步一步搭建 Oracle Data Guard
前言 为什么要写前言,因为我要吐槽一下.作为一个Java后端,搭建Oracle Data Guard真的是一件,嗯,既不专业也不擅长的事情,然而,为什么还是要我来弄? 因为DBA出差了,我们这边急着要 ...
随机推荐
- android ids.xml资源的使用
ids.xml文件例子: XML file saved at res/values/ids.xml: 使用方式: 一:
- tesseract-ocr图片识别开源工具
tesseract-ocr图片识别开源工具 今天看同事的ppt,提到了图片识别,又tesseract-ocr,觉得不错,试一下,如果效果好可以用来做验证码的识别 http://code.google. ...
- #翻译# 深入JavaScript的Unicode难题(上)
退一步说, JavaScript处理Unicode时有些怪异. 这篇文章会说明JS在Unicode上令人痛苦的部分, 然后提供解决方案, 并说明在未来的ECMAScript6中是如何改善这些问题的. ...
- DLL模块:C++在VS下创建、调用dll
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...
- 从此走上一条iOS程序猿不归路。。。
新的城市,新的生活!前不久刚刚结束了苦逼的面试找工作之旅,期间也小有收货,如今正处年底工作闲暇之余,将前一阵子陆陆续续的总结整理了一下,本人菜鸟程序猿一只,水平有限,本文总结的知识不算深入,比较浅显, ...
- 【Ruby on Rails学习二】在线学习资料的整理
由于工作任务重,时间紧,没有太多学习的时间,大致找了些在线学习资料,这里做个整理,希望对同样准备学习的朋友有帮助 在线文档类: Ruby on Rails 实战圣经 使用 Rails 4.2 及 R ...
- (各个公司面试原题)在线做了一套CC++综合測试题,也来測一下你的水平吧(二)
刚才把最后的10道题又看了下.也发上来吧. 以下给出试题.和我对题目的一些理解 前10道题地址 (各个公司面试原题)在线做了一套CC++综合測试题.也来測一下你的水平吧(一) 11.设已经有A,B,C ...
- Baidu与Google地图API初探
前天周六,有个好友过来玩,他说想在他的站点中加入地图导航模块,但不知道选择哪个第三方Map API 在网上查了下Baidu.Google.QQ和MapBar等4种Map API(都是採用JS开放API ...
- bootstrap前端开发框架,未来发展趋势
http://v3.bootcss.com/getting-started/Bootstrap 起步 CSS 组件 JavaScript插件 定制 关于 CSS 设置全局CSS样式,基本的HTML元素 ...
- Android ListView 滚动的N种方法
Android 里面让ListView滚动有N种方法,这儿列举三种: 我的需求是通过按键让Listview滚动起来,当然这些按键不是通过Android标识接口传输过来的,所以不能通过监听按键事件来实现 ...