ORACLE DATAGURARD配置手记
经过多次实践,参阅网上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配置手记的更多相关文章
- oracle odbc配置
oracle odbc配置 Win7 64位 下安装oracle odbc 不能使用控制面板中 “管理工具”->“数据源(OBDC)”中安装数据源. 而要在“ 运行” 中输入 C:\Windo ...
- SDE+ORACLE优化配置
原文 SDE+ORACLE优化配置 SDE的性能取决于: 首先操作系统的性能:其次是Oracle的性能,再次是SDE的性能. 第一:操作系统,无非是内存.CPU.带宽等. 可以有待提高的地方:第一.硬 ...
- FastDFS、nginx配置手记
第一部分 FastDFS介绍 1.FastDFS是什么 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能 ...
- ThinkPHP pdo连接Oracle的配置写法,提示报错
'DB_TYPE' => 'pdo', // 数据库类型 'DB_USER' => 'user101', // username 'DB_PWD' => 'zb~!@#$%', // ...
- Oracle数据库配置方式二--使用Net Manager配置数据库
在Oracle安装配置中使用Net Configuration配置了数据库,今天给大家介绍第二种配置方式,Net Manager配置. 先找到我们的Net Manager的快捷方式,如下面截图
- Oracle 客户端配置笔记
1.右击桌面的我的电脑 -> 高级 -> 环境变量,新建 1) 变量名:ORACLE_HOME 变量值:D:\app\instantclient_11_2 2) 变量名:TNS_ADMIN ...
- Oracle安装配置流程
Oracle安装流程 第一次自己动手安装oracle,之前对oracle安装配置一窍不通,最后最终弄好.总结下. 1. 安装oracle10gserver端 2. 安装oracle10gclien ...
- oracle 网络配置 及 pl/sql 连接配置
oracle网络配置有三个文件,它们都在D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 这个文件夹下面,有sqlnet.ora.l ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
随机推荐
- jsp日期控件My97DatePicker的使用
My97DatePicker是一款非常灵活好用的日期控件.使用非常简单. 1.下载My97DatePicker组件包 2.将My97DatePicker包放在项目WebContent目录下 3.在页面 ...
- String Subtraction
Given two strings S1 and S2, S = S1 - S2 is defined to be the remaining string after taking all the ...
- 1043. Is It a Binary Search Tree
http://www.patest.cn/contests/pat-a-practise/1043 #include <stdio.h> #include <vector> u ...
- 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 ...
- android/IOS各平台分享链接/跳转链接配置说明(备用)
Android: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 微信/朋友圈 //设置 ...
- shell复习笔记----查找与替换
查找文档 以grep 程序查找文本(匹配文本 matching text)相当方便.传统上有三种程序可以用来查找整个文本文件. grep 最早的文本匹配程序.其最简单的方式就是使用固定字符串 $ wh ...
- 1071: [SCOI2007]组队 - BZOJ
Description NBA每年都有球员选秀环节.通常用速度和身高两项数据来衡量一个篮球运动员的基本素质.假如一支球队里速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有 ...
- 【扩展欧几里得】Codevs 1200: [noip2012]同余方程
Description 求关于 x 同余方程 ax ≡ 1 (mod b)的最小正整数解. Input Description 输入只有一行,包含两个正整数 a, b,用 一个 空格隔开. Outpu ...
- python参考手册--第2章词汇和语法约定
1.续行符\ 三引号.().{}.[]中的内容不需要续行符 2.空格缩进 优选空格作为缩进,不要用tab,这是因为不同操作系统下tab对应的空格不一样,而python是通过严格的空格来控制语句块的. ...
- 李洪强iOS开发之使用CycleScrollView实现轮播图
01 导入头文件,并且定义CycleScrollView属性 02 初始化,设置frame并且添加到collectionView上 03 调用方法并且设置轮播的图片