Windows平台之Oracle 10g DG配置
DataGuard
简称DG
,是一种数据库级别的HA
方案,最主要功能是冗灾、数据保护、故障恢复,DG
是生产数据库的"
事务一致性copy",
创建时,使用生产库的物理copy
,创建完成后,备库会通过生产库传输过来的归档日志(
或重做条目)
自动维护备用数据库。将重做数据应用到备用库。DG
分为"
物理standby"
和"
逻辑standby"
。本实例是采用“物理standby
”。DG
是Oracle
企业版专有特性,因此标准版是没有的。
操作系统 |
主从关系 |
IP地址 |
数据文件路径 |
win2003server |
Primary |
192.168.48.101 |
D:\oracle\product\10.2.0\oradata\dgoracle |
win2003server |
Standby |
192.168.48.102 |
D:\oracle\product\10.2.0\oradata\dgoracle |
注:Primary
与Standby
的数据文件路径可以不一样。
硬件及操作系统要求:
1. 运行于相同的硬件平台,比如都是intelx86
架构的32
位linux
平台
2. 服务器的配置可以不一样,只要有足够的存储数据文件的空间就行
3. primary
与standby
服务器的操作系统必须一致,当然版本可以略有差异,比如一个是AS4,
另一个是AS5
。
Oracle
数据库名称规划:
db_name |
dgoracle |
db_uniqe_name |
dgoracle |
instance_name |
txgj |
service_name |
dgoracle |
oracle_sid |
txgj |
在Primary
与standby
服务器上分别安装好Oracle
数据库,也可以先安装软件,然后在Primary
上建库,然后再将数据文件copy
到standby
上。
DG
配置之路
1. 在Primary
上查看归档
SQL>archive log list
如果未归档,则开启归档
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;
SQL>archive log list;
2.
在Primary
上指定归档日志路径与格式
SQL>
alter system set log_archive_dest_1=’D:\oracle\archlog VALID_FOR=(ALL_LOGFILES,ALL_ROLES)’scope=spfile;
SQL>alter system set log_archive_format=’arch_%t_%s_%r_arc’ scope=spfile;
3.
在Primary
上修改数据库为强制归档模式
SQL>alter database force logging;
SQL>shutdowm immediate;
4.
在Primary
上创建参数文件及standby
控制文件
SQL>startup mount
SQL>create pfile=’D:\oracle\init.ora’ from spfile;
SQL>alter database create standby controlfile as ‘D:\oracle\01.ctl’;
SQL>shutdown immediate;
5.
关闭Standby
库,并将Primary
的数据文件复制并覆盖同名文件,复制刚创建的参数文件与控制文件,将01.ctl
再复制2
份并命名为同名控制文件,然后覆盖安装目录下同名文件。复制Primary
密码文件覆盖standby
安装目录下同名文件。
6.
修改Primary
刚创建的pfile
参数,添加如下内容:
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='standby'
*.FAL_CLIENT='primary'
*.STANDBY_FILE_MANAGEMENT='AUTO'
*.STANDBY_ARCHIVE_DEST='D:\oracle\archstandby'
*.LOG_FILE_NAME_CONVERT=('D:\oracle\product\10.2.0\oradata\dgoracle','D:\oracle\product\10.2.0\oradata\dgoracle')
*.DB_FILE_NAME_CONVERT=('D:\oracle\product\10.2.0\oradata\dgoracle','D:\oracle\product\10.2.0\oradata\dgoracle')
每个参数具体什么意思去Baidu
一下。
7.
修改Standby
参数文件,添加以下内容:
*.log_archive_dest_2='SERVICE=primary LGWR ASYNC'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER=primary
*.FAL_CLIENT=standby
*.STANDBY_ARCHIVE_DEST='D:\oracle\archstandby'
*.STANDBY_FILE_MANAGEMENT=AUTO
*.LOG_FILE_NAME_CONVERT=('D:\oracle\product\10.2.0\oradata\dgoracle','D:\oracle\product\10.2.0\oradata\dgoracle')
*.DB_FILE_NAME_CONVERT=('D:\oracle\product\10.2.0\oradata\dgoracle','D:\oracle\product\10.2.0\oradata\dgoracle')
8.
配置主备库的监听文件
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = f:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME= dgoracle)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = txgj)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.48.101)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
注:蓝色字体为主备库都要添加内容,红色字体则是修改成本机的IP
。
评论暂时关闭