这是最好的时代,这是最坏的时代,这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬;人们面前有着各样事物,人们面前一无所有;人们正在直登天堂;人们正在直下地狱。
我也要与时俱进了,被itpub2.0牵着尾巴,拼命的奔跑,不停的灌水...
Windows环境下的Oracle Data Guard安装和配置
上一篇 /
下一篇 2008-02-13 17:29:52
/ 个人分类:数据库专区
操作环境:Windows 2003企业版+ Serveice pack 2数据库:Oracle 9.2.0.1主库SID:dbguardIP: 192.168.159.133从库SID:dbguardIP: 192.168.159.131
其实网络上有很多关于data guard的安装配置资料,不过真正做起来还是会遇到很多问题的;在小杨的帮忙下,总算搞定了。
ITPUB个人空间9h.i:L6? t&J!y,Roracle安装采用OMF结构
1.主从库均Install Oracle 9i,且只选择安装软件,不创建数据库
2.在主库上使用DBCA,创建dbguard实例
3.创建测试环境,创建test表空间和test用户以及test表和简单的几条记录
SQL> create table test 2(ID integer, 3Name varchar2(20) 4); 表已创建。 SQL> insert into test values(1,'a'); 已创建1行。 SQL> insert into test values(2,'b'); 已创建1行。 SQL> commit; 提交完成。 SQL> select * from test; ID NAME ---------- -------------------- 1 a 2 b |
4.修改数据库为归档方式
SQL*Plus: Release 9.2.0.1.0 - Production on星期二10月9 20:02:24 2007 Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved. SQL> connect sys/wbq as sysdba; SQL> startup mount; SQL> alter database archivelog; SQL> alter system set log_archive_dest_1='E:ORACLEora92databasearchive' scope=both; SQL> alter system set log_archive_dest_2='service=standby' scope=both; SQL> alter system set log_archive_start=true scope=spfile; SQL> alter database open; SQL> archive log list; 数据库日志模式存档模式 自动存档启用 存档终点e:oracleoradataarchive 最早的概要日志序列1 下一个存档日志序列2 当前日志序列2 SQL> show parameter archive NAMETYPEVALUE ------------------------------------ ----------- ------------------------------ archive_lag_targetinteger0 log_archive_deststring log_archive_dest_1stringlocation=e:oracleoradataarchive log_archive_dest_2stringservice=standby log_archive_duplex_deststring log_archive_formatstringARC%S.%T log_archive_max_processesinteger2 log_archive_min_succeed_destinteger1 log_archive_startbooleanTRUE log_archive_traceinteger0 remote_archive_enablestringtrue standby_archive_deststring%ORACLE_HOME%RDBMS SQL> shutdown immediate; |
5.创建standby控制文件和便于修改的pfile
SQL> alter database force logging; 数据库已更改。 SQL> select name,force_logging from v$database; NAMEFOR --------- --- DBGUARDYES SQL> create pfile=' E:oracleadmindbguardpfilepfile.ora' from spfile; 文件已创建。 SQL> alter database create standby controlfile as 'e:oraclecontrol01.ctl'; |
6.确定需要复制相应的数据文件、日志文件等,并关闭数据库
SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- E:ORACLEORADATADBGUARDSYSTEM01.DBF E:ORACLEORADATADBGUARDUNDOTBS01.DBF E:ORACLEORADATADBGUARDCWMLITE01.DBF E:ORACLEORADATADBGUARDDRSYS01.DBF E:ORACLEORADATADBGUARDEXAMPLE01.DBF E:ORACLEORADATADBGUARDINDX01.DBF E:ORACLEORADATADBGUARDODM01.DBF E:ORACLEORADATADBGUARDTOOLS01.DBF E:ORACLEORADATADBGUARDUSERS01.DBF E:ORACLEORADATADBGUARDXDB01.DBF E:ORACLEORADATADBGUARDTEST.ORA 已选择11行。 SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- E:ORACLEORADATADBGUARDREDO03.LOG E:ORACLEORADATADBGUARDREDO02.LOG E:ORACLEORADATADBGUARDREDO01.LOG SQL>shutdown immediate |
7.创建standby服务器相应的Oracle目录,并把主库文件复制到standby机器的指定目录下
Mkdir E:oracleadmindbguardbdump Mkdir E:oracleadmindbguardcdump Mkdir E:oracleadmindbguardcreate Mkdir E:oracleadmindbguardpfile Mkdir E:oracleadmindbguardudump Mkdir D:oracleoradatadbguard Mkdir D:oracleoradatadbguardarchive |
8.创建dbguard的window服务
Oradim –NEW –SID dbguard –STARDMODE manual |
复制通过主库创建的standby控制文件,并分别复制为control02.ctl,control03.ctl,并拷贝到相应的目录下
复制通过主库创建的参数文件并加以修改,添加以下信息
*.standby_archive_dest='E:oracleoradataarchive' *.fal_server='primary' *.fal_client='satndby' *.standby_file_management=auto *.lock_name_space='dbguard' |
9.创建密码文件
C:>orapwd file=E:oracleora92DATABASEPWDdbguard.ORA password=test |
10.配置主从服务器的listener.ora
--standby从库为以下信息;主库修改为192.168.159.133 LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.159.131)(PORT = 1521)) ) ) ) |
11.分别配置主从服务器的tnsname.ora保持一致
STANDBY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.159.131)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dbguard) ) ) PRIMARY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.159.133)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dbguard) ) ) |
12.重新启动lsn侦听,并进行侦听查看主从机是否能够监听
Lsnrctl stop Lsnrctl start Tnsping standby Tnsping primary |
13..启动物理Standby数据库
SQL> conn sys/test@dbguard as sysdba 已连接到空闲例程。 SQL> startup nomount; ORACLE例程已经启动。 Total System Global Area101784276 bytes Fixed Size453332 bytes Variable Size75497472 bytes Database Buffers25165824 bytes Redo Buffers667648 bytes SQL> create spfile from pfile; 文件已创建。 SQL> ALTER DATABASE MOUNT STANDBY DATABASE; 数据库已更改。 |
14.在Standby数据库上,初始化Log Apply服务
SQL> alter database recover managed standby database disconnect from session; 数据库已更改 |
15.安装完的的验证
在primary上 SQL> select sequence#,first_time,next_time from v$archived_log; SEQUENCE# FIRST_TIME NEXT_TIME ---------- ---------- ---------- 3 xxxx-xx-xx xxxx-xx-xx 在standby上 SQL> select sequence#,first_time,next_time from v$archived_log; 未选定行 |
在primary上 SQL> alter system archive log current; 系统已更改。 SQL> select sequence#,first_time,next_time from v$archived_log; SEQUENCE# FIRST_TIME NEXT_TIME ---------- ---------- ---------- xxxx-xx-xx xxxx-xx-xx |
在standby上 SQL> select sequence#,first_time,next_time from v$archived_log; SEQUENCE# FIRST_TIME NEXT_TIME ---------- ---------- ---------- xxxx-xx-xxxxxx-xx-xx xx |
SQL> select sequence#,applied from v$archived_log; SEQUENCE# APP ---------- --- 5 YES --Yes即OK |
在standby上 SQL> select process,status from v$managed_standby; PROCESS STATUS ------- ------------ ARCHCONNECTED ARCHCONNECTED MRP0WAIT_FOR_LOG RFSRECEIVING RFSRECEIVING |
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: