Oracle10g Data Guard 安装笔记.docx

上传人:b****6 文档编号:4687655 上传时间:2022-12-07 格式:DOCX 页数:17 大小:21.33KB
下载 相关 举报
Oracle10g Data Guard 安装笔记.docx_第1页
第1页 / 共17页
Oracle10g Data Guard 安装笔记.docx_第2页
第2页 / 共17页
Oracle10g Data Guard 安装笔记.docx_第3页
第3页 / 共17页
Oracle10g Data Guard 安装笔记.docx_第4页
第4页 / 共17页
Oracle10g Data Guard 安装笔记.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Oracle10g Data Guard 安装笔记.docx

《Oracle10g Data Guard 安装笔记.docx》由会员分享,可在线阅读,更多相关《Oracle10g Data Guard 安装笔记.docx(17页珍藏版)》请在冰豆网上搜索。

Oracle10g Data Guard 安装笔记.docx

Oracle10gDataGuard安装笔记

Oracle10gDataGuard安装笔记

一、DataGuard概念:

1、DataGuard三种模式:

Maximumprotection:

零数据丢失。

发生事务时需要同时向主数据库和备用数据写重做日志。

为了保证数据不丢失,如果有一个事务发现不能向备用数据写重做日志,那么主数据库会自动关闭。

Maximumavailability:

在保证主数据库可用的情况下最大程度上保证数据的不丢失。

同Maximumprotection一样也是同时向主和备用数据库写重做日志。

与Maximumprotection不同的时当发现不能向备用数据库写重做日志时不会关闭数据库,而是采用Maximumperformance的模式管理直到修复故障。

当发生第二次错误时至少要能够将重做日志写入到一个备用数据库中才能保证零数据丢失。

(多备用库的情况下。

如果是一个备用库发生一次错误就会丢失数据)

Maximumperformance:

Oracle默认采用这种方式。

在不影响主库的性能的情况下最大程度上保证数据不丢失。

由于前两种方式要同时向主和备库写重做日志这就会给系统的性能带来负面影响。

当事务提交时会立即将数据写入到本地的联机日志中。

主库的重做数据流至少要写入到一个从库中,但是这个并不是与主库同时发生的。

如果采用了足够的带宽的话,这种模式提供的数据保护保证最大的可用性,同时对主库的性能影响最小。

2、DataGuard工作原理:

从设计原理上来讲,standbydatabase是为primarydatabase建立的备份,因此具有redundancedata,也是相对于database来说的highavailability;

standbydatabase为primarydatabase做的备份,是通过primarydatabase不断产生出的archivedlogfiles来实现的。

primarydatabase处于archivemode的状态,持续送出archivedlogfiles给standbydatabase,而standbydatabase则处于recoverymode,持续applyprimarydatabase的archivedlogfiles.

(图1:

RedoApply与LGWRASYNC)

为了完成上述过程,必须具备以下的条件:

(1)如果primarydatabase和standbydatabase是运行在不同的服务器上面,那么这两台服务器必须有相同version和release的操作系统;必须有相同version,release和patch的oracleRDBMS系统。

(2)Primarydatabase必需处于archivelogmode。

(3)Oracle从version8i(8.1.5以后)开始支持primarydatabase可以将arhivedlogfiles自动送到最多一个remotesite(一般即standbydatabaseserver),本地则可多达七个地点。

并且,standbydatabase在mount的状态下,增加了managedrecoverymode,在这种状态下,standbydatabase可以自动立即apply由primarynode送过来的archivedlogfiles。

(4)Oracle从version8i(8.1.5以后)开始支持standbydatabase的mountrecoverymode和databasereadonlymode的转换。

这样方便了系统可以利用standbydatabase产生reports,而不影响用户正常使用primarydatabase。

(5)一旦standbydatabase被activated,即成为primarydatabase,无法再回归standbydatabasemode。

因此primarydatabase出了问题,standbydatabase被actived成为primarydatabase之后,如果需要在原来的primary/standbynode上面重建primary/standbydatabase,两个database都需要重建。

(6)关于启动standbydatabase时与primarydatabase之间的数据丢失问题。

如果primarydatabase在出问题之前如果无法完成logfileswitch的话,两个database之间会相差currenton-lineredologfile中的数据。

oracle9i中的dataguard弥补了这一缺陷。

3、ARCH与LGWR

采用归档日志传送还是联机日志传送,默认是归档进程

是否采用ARCH进程还是LGWR进程,很多时候依赖于保护的方式,下表可以看到在不同的

保护模式下,采用归档进程还是联机日志进程的情况。

最大保护

最大可用

最大性能

进程

LGWR

LGWR

LGWR或ARCH

网络传输模式

SYNC

SYNC

LGWR时设置ASYNC

磁盘写操作

AFFIRM

AFFIRM

NOAFFIRM

备用日志

Yes

物理备用需要

LGWR和物理备用时需要

备用库类型

物理

物理或逻辑

物理或逻辑

4、SYNC与ASYNC和AFFIRM与NOAFFIRM

SYNC与ASYNC决定了网络传输的同步与异步操作,默认ASYNC

AFFIRM与NOAFFIRM决定了归档日志磁盘写的同步与异步操作,默认NOAFFIRM。

这两个参数用来决定不同的保护模式。

网络I/O性质

归档日志磁盘I/O性质

物理备用的性能

保护的级别

SYNC

AFFIRM

Lowest

Highest

SYNC

NOAFFIRM

Low

High

ASYNC

AFFIRM

High

Low

ASYNC

NOAFFIRM

Highest

Lowest

5、DELAY与NODELAY

是否延迟同步,默认不延迟,如果选择DELAY,默认30分钟

SQL>ALTERDATABASERECOVERMANAGEDSTANDBYDATABASENODELAY;

还可以设置在主数据库上

LOG_ARCHIVE_DEST_3=’SERVICE=standbyDELAY=240’

LOG_ARCHIVE_DEST_STATE_3=ENABLE

延迟参数并不影响日志的传送

6、MANDATORY与OPTIONAL

默认是OPTIONAL,如果设置MANDATORY,表示一定要归档成功,否则将引发主数据库

的归档等待。

Oracle建议采用OPTIONAL方式来传送日志。

18

7、REOPEN与NOREOPEN和MAX_FAILURE与

NOMAX_FAILURE

REOPEN与NOREOPEN决定是否重试操作,默认是REOPEN,300秒,表示如果失败后,

最小的重试的时间间隔

Noreopen表示不重试失败操作

MAX_FAILURE与NOMAX_FAILURE表示最大重试次数,默认是NOMAX_FAILURE,表

示一直重试,如果是MAX_FAILURE,则采用MAX_FAILURE=count来决定重试的次数,

如果是MAX_FAILURE,则一定需要在REOPEN模式下

8、ALTERNATE与NOALTERNATE

表示如果归档失败,是否转向新的归档路径,默认是的NOALTERNATE

如采用如下配置

LOG_ARCHIVE_DEST_2=’LOCATION=d:

\bakMANDATORY

ALTERNATE=LOG_ARCHIVE_DEST_3’

LOG_ARCHIVE_DEST_STATE_2=ENABLE

LOG_ARCHIVE_DEST_3=’LOCATION=f:

\bakMANDATORY’

LOG_ARCHIVE_DEST_STATE_3=ALTERNATE那么就是说,如果路径2上归档失败的话,将切换到路径3继续归档。

二、DataGuard实现环境(IP地址视情况而定)

主服务器

备份服务器

操作系统

Windows2003Enterprise

Windows2003Enterprise

Oracle版本

Oracle10.2.0.1.0

Oracle10.2.0.1.0

OracleSID

ERPDB

ERPDB

ORACLE_HOME

E:

\oracle\oradata\erpdb

E:

\oracle\oradata\erpdb

机器名

Bolun(Primary)

Hxbyfwq(Standby)

IP地址

192.168.1.11

192.168.1.19

实现步骤

1.在PrimaryServer上安装Oracle并创建SID为ERPDB的Oracle数据库;

2.在StandbyServer上安装Oracle并创建SID为ERPDB的Oracle数据库;

这一步可以用命令只创建一个名字为ERPDB的Oracle服务名即可,

3.将PrimaryServer上的所有数据文件、redo文件和password文件都copy到StandbyServer机器的相应位置;

E:

\oracle\product\10.2.0\oradata\ERPDB目录下文件

CWMLITE01.DBF

DRSYS01.DBF

EXAMPLE01.DBF

INDX01.DBF

ODM01.DBF

SYSTEM01.DBF

TEMP01.DBF

TOOLS01.DBF

UNDOTBS01.DBF

USERS01.DBF

XDB01.DBF

REDO01.LOG

REDO02.LOG

REDO03.LOG

E:

\oracle\product\10.2.0\db_1\database目录下文件

PWDERPDB.ora(密码文件)

4.修改PrimaryServer的Oraclce初始化参数;

文件位置:

c:

\oracle\admin\erpdb\pfile\下的init初始化参数文件,我们把名字改为initerpdb.ora,这样好记一点;内容如下。

主要配置在#DataGuardNewaddparameters部分。

 

###########################################

#DataGuardNewaddparameters

###########################################

db_unique_name='ERPDB'

#log_archive_config='dg_config=(ERPDB,ERPDB)'

log_archive_dest_1='location=E:

\oracle\product\10.2.0\oradata\archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=ERPDB'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

log_archive_dest_2='SERVICE=standbyLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=ERPDB'

#注:

到StandbyDatabase的数据库连接名

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_MIN_SUCCEED_DEST=2

fal_client='primary'#注:

PrimaryServer连接StandbyServer的数据库连接名

fal_server='standby'#注:

StandbyServer连接PrimaryServer的数据库连接名

standby_archive_dest='e:

\oracle\product\10.2.0\oradata\standbyarchive'

standby_file_management=auto

 

5.设置primarydatabase为archivelog模式

SQL>shutdownimmediate;

SQL>startupmountpfile=’c:

\oracle\admin\erpdb\pfile\initerpdb.ora’;

SQL>alterdatabaseforcelogging;

SQL>alterdatabaseopen:

6.在PrimaryDatabase上创建StandbyDatabase的控制文件

SQL>shutdownimmediate;

SQL>startupmount;

SQL>alterdatabasecreatestandbycontrolfileas'd:

\bak\standbyctl.ctl’

SQL>alterdatabaseopen;

然后将该controlfile复制到StandbySevers的对应位置,原来的控制文件已经不需要了;

7.修改StandbyDatabase的初始化参数

拷贝PrimaryDatabase上的初始化参数文件到StandbyDatabase上对应位置,然后修改为以下内容:

CONTROL_FILES='c:

\oracle\oradata\pstest\control01.ctl’

###########################################

#newaddexclusive

###########################################

db_unique_name='ERPDB'

#log_archive_config='dg_config=(ERPDB,ERPDB)'

log_archive_dest_1='location=E:

\oracle\product\10.2.0\oradata\archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=ERPDB'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

log_archive_dest_2='SERVICE=primaryLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=ERPDB'

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_MIN_SUCCEED_DEST=2

fal_client='standby'

fal_server='primary'

standby_archive_dest='e:

\oracle\product\10.2.0\oradata\standbyarchive'

standby_file_management=auto

###########################################

具体参数的说明请参考oracle在线文档。

8.设置PrimaryDatabase和StandbyDatabase的tnsnames.ora

文件位于:

E:

\oracle\product\10.2.0\db_1\NETWORK\ADMIN

Primarydatabase

#tnsnames.oraNetworkConfigurationFile:

E:

\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora

#GeneratedbyOracleconfigurationtools.

primary=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.11)(PORT=1521))

(CONNECT_DATA=

(SERVICE_NAME=erpdb)

ERTPROC_CONNECTION_DATA=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCI))

(CONNECT_DATA=

(SID=PLSExtProc)

(PRESENTATION=RO)

standby=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.19)(PORT=1521))

(CONNECT_DATA=

(SERVICE_NAME=ERPDB)

StandbyDatabase

#tnsnames.oraNetworkConfigurationFile:

E:

\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora

#GeneratedbyOracleconfigurationtools.

primary=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.11)(PORT=1521))

(CONNECT_DATA=

(SERVICE_NAME=erpdb)

ERTPROC_CONNECTION_DATA=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCI))

(CONNECT_DATA=

(SID=PLSExtProc)

(PRESENTATION=RO)

standby=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=hxbyfwq)(PORT=1521))

(CONNECT_DATA=

(SERVICE_NAME=ERPDB)

接Oracle10gDataGuard安装笔记

(二)

listener.ora文件

Primarydatabase

#listener.oraNetworkConfigurationFile:

E:

\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora

#GeneratedbyOracleconfigurationtools.

LISTENER=

(DESCRIPTION_LIST=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=bolun)(PORT=1521))

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=PLSExtProc)

(ORACLE_HOME=E:

\oracle\product\10.2.0\db_1)

(PROGRAM=extproc)

(SID_DESC=

(GLOBAL_DBNAME=erpdb)

(ORACLE_HOME=E:

\oracle\product\10.2.0\db_1)

(SID_NAME=erpdb)

LISTENERDB=

(DESCRIPTION_LIST=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.11)(PORT=1522))

SID_LIST_LISTENERDB=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=erpdb)

(ORACLE_HOME=E:

\oracle\product\10.2.0\db_1)

(SID_NAME=erpdb)

StandbyDatabase

#listener.oraNetworkConfigurationFile:

E:

\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora

#GeneratedbyOracleconfigurationtools.

LISTENER=

(DESCRIPTION_LIST=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=hxbyfwq)(PORT=1521))

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=PLSExtProc)

(ORACLE_HOME=E:

\oracle\product\10.2.0\db_1)

(PROGRAM=extproc)

(SID_DESC=

(GLOBAL_DBNAME=erpdb)

(ORACLE_HOME=E:

\oracle\product\10.2.0\db_1)

(SID_NAME=erpdb)

LISTENERDB=

(DESCRIPTION_LIST=

(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=hxbyfwq)(PORT=1522))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1