经过多次实践,参阅网上N多文章……最后还是配不成,可能本人悟性太低,无法体会高手的笔记。最终还是在前辈的帮助下完成。特用最平实的手法记录下来,以便如吾辈菜鸟能

看得懂。

运行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 
从库:win2003 server ora9i(9.2.0.1.0) 192.168.3.136 主机名:data380 SID:STANDBY 
1、主库和从库的Oracle 安装的时候都选择相同的安装路径 E:\oracle\ora92 ;并且先不要安装数据库,即在安装过程中“数据库配置”一项下面选择“只安装软件”; 
2、在主库上使用DBCA(Database Configuration Assistant)建一个数据库,SID设为PRIMARY; 
3、设置主库归档路径为e:\oracle\ora92\database\Archive :
   Sql>alter system set log_archive_dest_1='LOCATION=e:\oracle\ora92\database\Archive 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:\oracle\oradata\standby.ctl'; 
7、在主库上面创建从库的初始化参数文件standby.ora(将其拷贝回从库后转换成从库的 spfile): 
   Sql>create pfile='e:\oracle\oradata\standby.ora' from spfile; 
8、查看主库的数据文件及其的位置: Sql>select name from v$datafile; 记下查询结果中的数据文件的位置。 
9、关闭实例: 
   Sql>shutdown immediate; 
10、将第6步中的standby.ctl、第7步中的standby.ora和第8步骤中的数据文件、还有E:\oracle\oradata\PRIMARY路径下面的联机日志文件(REDO.LOG)、E:\oracle\ora92\database里面的口令文件PWDPRIMARY.ora备份出来,拷贝到从库中;在从库中创建路径E:\oracle\oradata\PRIMARY ,存放standby.ctl、数据文件、联机日志文件;创建路径

E:\oracle\admin\PRIMARY ,在里面创建空文件夹bdump、cdump、udump、create、pfile ;将standby.ora 放到E盘根目录下面;将口令文件PWDPRIMARY.ora更名为PWDSTANDBY.ora ,放到从库的E:\oracle\ora92\database下面。 
11、回到主库,启动主库实例和数据库: 
   Sql>startup 
12、转回到从库,手动创建服务OracleServiceSTANDBY: 
    oradim -new -sid STANDBY -startmode manual
    设置环境变量:在环境变量的“Administrator的用户变量”一栏里面新建一个值,变量名为ORACLE_SID ,变量值为STANDBY(服务名)。 
13、创建从库监听器OracleOraHome92TNSListener:进入Net Configuration Assistant ,使用“监听程序配置”来创建从库的监听器,同时会在E:\oracle\ora92\network\admin下面生成listener.ora文件; 
14、配置本地NET服务名:进入Net Configuration Assistant ,使用“本地NET服务名配置”来配置,同时会在E:\oracle\ora92\network\admin下面生成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:\oracle\admin\PRIMARY\bdump' 
*.compatible='9.2.0.0.0' 
*.core_dump_dest='e:\oracle\admin\PRIMARY\cdump' 
*.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:\oracle\ora92\database\Archive 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:\oracle\admin\PRIMARY\udump' 
*.standby_file_management=AUTO 
*.remote_archive_enable=TRUE 
*.lock_name_space='standby' 
*.fal_server='primary' 
*.fal_client='standby' 
*.standby_archive_dest='e:\oracle\ora92\database\Archive' 
*.control_files='e:\oracle\oradata\primary\STANDBY.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:\oracle\ora92\database\archive文件夹里面的内容,如果从库的和主库的内容一致,就算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 DATAGURARD配置手记的更多相关文章

  1. oracle odbc配置

    oracle odbc配置 Win7 64位 下安装oracle odbc 不能使用控制面板中 “管理工具”->“数据源(OBDC)”中安装数据源. 而要在“ 运行” 中输入  C:\Windo ...

  2. SDE+ORACLE优化配置

    原文 SDE+ORACLE优化配置 SDE的性能取决于: 首先操作系统的性能:其次是Oracle的性能,再次是SDE的性能. 第一:操作系统,无非是内存.CPU.带宽等. 可以有待提高的地方:第一.硬 ...

  3. FastDFS、nginx配置手记

    第一部分   FastDFS介绍 1.FastDFS是什么 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能 ...

  4. ThinkPHP pdo连接Oracle的配置写法,提示报错

    'DB_TYPE' => 'pdo', // 数据库类型 'DB_USER' => 'user101', // username 'DB_PWD' => 'zb~!@#$%', // ...

  5. Oracle数据库配置方式二--使用Net Manager配置数据库

    在Oracle安装配置中使用Net Configuration配置了数据库,今天给大家介绍第二种配置方式,Net Manager配置. 先找到我们的Net Manager的快捷方式,如下面截图

  6. Oracle 客户端配置笔记

    1.右击桌面的我的电脑 -> 高级 -> 环境变量,新建 1) 变量名:ORACLE_HOME 变量值:D:\app\instantclient_11_2 2) 变量名:TNS_ADMIN ...

  7. Oracle安装配置流程

    Oracle安装流程 第一次自己动手安装oracle,之前对oracle安装配置一窍不通,最后最终弄好.总结下. 1.  安装oracle10gserver端 2.  安装oracle10gclien ...

  8. oracle 网络配置 及 pl/sql 连接配置

    oracle网络配置有三个文件,它们都在D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 这个文件夹下面,有sqlnet.ora.l ...

  9. PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释

    PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...

随机推荐

  1. jsp日期控件My97DatePicker的使用

    My97DatePicker是一款非常灵活好用的日期控件.使用非常简单. 1.下载My97DatePicker组件包 2.将My97DatePicker包放在项目WebContent目录下 3.在页面 ...

  2. String Subtraction

    Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the ...

  3. 1043. Is It a Binary Search Tree

    http://www.patest.cn/contests/pat-a-practise/1043 #include <stdio.h> #include <vector> u ...

  4. Only the original thread that created a view hierarchy can touch its views

    在调试软件的时候出现如下的错误: 01-05 20:53:36.492: E/ZZShip(2043): android.view.ViewRootImpl$CalledFromWrongThread ...

  5. android/IOS各平台分享链接/跳转链接配置说明(备用)

    Android: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 微信/朋友圈 //设置 ...

  6. shell复习笔记----查找与替换

    查找文档 以grep 程序查找文本(匹配文本 matching text)相当方便.传统上有三种程序可以用来查找整个文本文件. grep 最早的文本匹配程序.其最简单的方式就是使用固定字符串 $ wh ...

  7. 1071: [SCOI2007]组队 - BZOJ

    Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有 ...

  8. 【扩展欧几里得】Codevs 1200: [noip2012]同余方程

    Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. Input Description 输入只有一行,包含两个正整数 a, b,用 一个 空格隔开. Outpu ...

  9. python参考手册--第2章词汇和语法约定

    1.续行符\ 三引号.().{}.[]中的内容不需要续行符 2.空格缩进 优选空格作为缩进,不要用tab,这是因为不同操作系统下tab对应的空格不一样,而python是通过严格的空格来控制语句块的. ...

  10. 李洪强iOS开发之使用CycleScrollView实现轮播图

    01 导入头文件,并且定义CycleScrollView属性 02 初始化,设置frame并且添加到collectionView上 03 调用方法并且设置轮播的图片