`

转:Oracle10g 创建物理DataGuard

阅读更多
转自:http://space.itpub.net/12457158/viewspace-752776 还未验证
1.1 启用force logging模式
在数据库创建成功之后用下面的语句,使主库启用force logging模式

SQL>ALTER DATABASE FORCE LOGGING;

这条语句需要很长时间完成,因为它需要等待那些未记录日志的直接路径写I/O完成

1.2 创建密码文件
如果没有密码文件,则创建它。每个数据库在DataGuard架构中必须用相同的密码文件,并且SYS用户的密码必须相同以保证重做数据在每个系统传输成功。

1.3 配置备用重做日志
最大保护和最大可用模式都需要备用重做日志,并且所有数据库建议使用LGWR ASYNC传输模式。DataGuard从归档重做日志,不如从备用重做日志恢复与应用重做数据多。

在创建备用数据库时,应该规划备用重做日志并创建好重做日志组和日志成员。为了提高可用性,参考在线重做日志的复用方法,复用备用重做日志。

请执行下面步骤配置备用重做日志。

第一步 确保主库和备库的日志文件大小是一致的。
当前备用重做日志的大小必须和当前主库在线重做日志大小完全匹配。
例如,如果主库使用2个在线重做日志组的日志文件大小为200k,那么备用重做日志组的日志文件大小也是200k

第二步 确定合适的重做日志组数
至少地,配置重做日志组比当前主库的在线重做日志组多一组。但是,建议备用重做日志组数不要比线程数高。用下面公式确定适合的在线重做日志组是
(每个线程的日志文件的最大数目+1)* 最大线程数
使用这个公式近可能的降低由于在备库备用重做日志不能分配导致主库实例的LGWR进程被锁死。例如,如果主库每个线程有2个日志文件,有2个线程那么备库需要备用重做日志6组

第三步 验证相关的数据库参数和设置
检查用sql创建数据库时MAXLOGFILES 和 MAXLOGMEMERS的值,不会限制你增加备用重做日志组和成员。只能通过重新创建主库或控制文件,覆盖MAXLOGFILES 和 MAXLOGMEMERS限制制定的值

第四步 创建备用重做日志组
你必须有ALTER DATABASE 系统权限,才能创建新的备用重做日志组和成员。
备库开始用新创建的备用重做数据,在下一时刻,主库会发生日志切换。
例子3-1和例子3-2显示怎样用ALTER DATABASE创建一个新备用重做日志组,变化之处在于ADD STANDBY OGFILE GROUP.

例子3-1 给指定线程添加备用重做日志组
执行下面命令,在物理备库,添加一个新的备用重做日志组,并制定到THREAD 5:
SQL>ALTER DATABASE ADD STANDBY LOGFILE THREAD 5
('','/oracle/dbs') SIZE 100M;
THREAD 仅仅在指定主库添加一组或多组备用重做日志是需要的,如果你不包括THREAD项,并且在RAC集群,DataGuard将在运行时准备各种rac实例自动指定重做日志组到线程

例子-3-2 添加备用重做日志组成员
你在使用GROUP时可以指定数字:
SQL>ALTER DATABASE ADD STANDBY LOGFILE GROUP 10
('/oracle/dbs/logic.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;
用组号可以很容易管理重做日志文件。可是,这组号在1到MAXLOGFILES之间。
不能跳过组号(就是说,不要10,20,30等等)或者你在备用数据库控制文件中将用额外空间


第五步 验证备用重做日志组是否创建成功
验证备用重做日志是被创建并且运行正常,在主库上调用日志切换,在备库查询任一视图V$STANDBY_LOG 视图和V$LOGFILE视图,查看同步情况。例如:
SQL>SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;

GROUP#     THREAD#   SEQUENCE#   ARC   STATUS
-------------    --------------   -------------------   -------  -------------
             3                     1                        16    NO      ACTIVE
             4                     0                          0    YES    UNASSIGNED
             5                     0                          0    YES    UNASSIGNED

1.4 设置主库初始化参数
在主库中,当主库处于主角色时,你定义控制重做传输服务的初始化参数。当主库角色转变为备库角色时,你要添加额外的参数控制重做数据的接收和日志应用服务。例如3-3 显示主库在主角色时的初始化参数。这例子描述DataGuard配置主库位于Chicago,一个物理备库位于Boston。在例子3-3,Chicago数据库在运行中,不管是主角色或备角色,这些参数都是有效的。配置例子使用的名称在下面表格中:
Database                  DB_UNIQUE_NAME          Oracle Net Service Name
Primary                       chicago                                 chicago
Physical standby       boston                                   boston

例子3-3 主库:主角色初始化参数

DB_NAME=chicago
DB_UNIQUE_NAME=chicagoLOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'
LOG_ARCHIVE_DEST_1=
'LOCATION=/arch1/chicago/
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=chicago'
LOG_ARCHIVE_DEST_2=
'SERVICE=boston LGWR ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=boston'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30

这些参数控制重做传输服务怎样传输重做数据到备用系统并且重做数据的归档保存在本地文件系统。注意在这个例子中初始化参数LOG_ARCHIVE_DEST_2指定LGWR进程和异步网络传输传输重做数据。这些推荐设置需要备用重做日志。

例子3-4 显示主库在备角色时需要额外的初始化参数。当主库转变为备角色时这些参数生效。

例子3-4 主库:备角色初始化参数

FAL_SERVER=boston
FAL_CLIENT=chicago
DB_FILE_NAME_CONVERT='boston','chicago'
LOG_FILE_NAME_CONVERT=
'/arch1/boston/','/arch1/chicago/','/arch2/boston/','/arch2/chicago/'
STANDBY_FILE_MANAGEMENT=AUTO

例子3-4中指定的初始化参数解决主库间隙,从一个新主库转换新数据文件和日志文件路径名,当这数据库是备角色时传入的重做数据归档,这些被描述的初始化参数包括主角色和备角色,在角色转换后,不需要修改参数。

1.5 启用归档模式
如果没启用归档模式,执行下面语句主库将启用归档模式并且能自动归档:
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP MOUNT;
SQL>ALTER DATABASE ARCHIVELOG;
SQL>ALTER DATABASE OPEN;

2  创建物理备库步骤说明
本节描述你执行创建一个物理备库的任务

2.1 创建主库数据文件的备份副本
你能用任意主库的备份副本创建物理备库,只要你有需要的归档重做日志文件,Oracle建议你用RMAN,完全恢复数据库。

2.2 创建备库控制文件
如果备份过程你停止主库,那么运行下面的SQL*PLUS语句启动主库:
SQL>STARTUP MOUNT;

这时,创建备库控制文件,并且打开主库提供用户访问,如下面示例所示:
SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/boston.ctl';
SQL>ALTER DATABASE OPEN;

注意:在主库和备库你都不能使用单个控制文件

2.3 准备备库初始化参数
执行下面步骤,创建备库初始化参数文件。
第一步 复制主库参数文件到备库
根据主库SPFILE创建一个文本初始化参数文件(PFILE);一个文本初始化参数文件被拷贝到备库相应位置并修改。例如:
SQL>CREATE PFILE='/tmp/initboston.ora' FROM SPFILE;
之后,在2.5中,修改参数值为适合物理备库的之后, 你将这备份文件转变为SPFILE。

第二步 在物理备库设置初始化参数
虽然在主系统设置的文本初始化参数文件中的大部分初始化参数同样适合物理备库,但是需要做少量的修改。
例子3-5 显示部分备用的初始化参数值被修改为物理备库。粗体字显示的参数值与例子3-3和例子3-4不同。在例子3-5显示Boston数据库的参数在主角色和备角色时都生效。
例子3-5 修改物理备库初始化参数

.
.
.
DB_NAME=chicagoDB_UNIQUE_NAME=bostonLOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'CONTROL_FILES='/arch1/boston/control1.ctl', '/arch2/boston/control2.ctl'DB_FILE_NAME_CONVERT='chicago','boston'LOG_FILE_NAME_CONVERT='/arch1/chicago/','/arch1/boston/','/arch2/chicago/','/arch2/boston/'LOG_ARCHIVE_FORMAT=log%t_%s_%r.arcLOG_ARCHIVE_DEST_1='LOCATION=/arch1/boston/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=boston'LOG_ARCHIVE_DEST_2='SERVICE=chicagoLGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=chicago'LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
STANDBY_FILE_MANAGEMENT=AUTOFAL_SERVER=chicagoFAL_CLIENT=boston.
.
.
注意这个例子假设用LGWR进程传输重做数据到本地和远程(在LOG_ARCHIVE_DEST_2初始化参数中定义)2个目的地。

此外,主库和物理备库确保COMPATIBLE参数值相同。如果值不同,主库重做传输服务不能传输重做数据到物理备库。在DataGuard配置中,COMPATIBLE必须被设置的最小值是9.2.0.1.0,然而,如果你想使用Oracle Database 10g新特性,设置COMPATIBLE参数为10.2.0.0或更高。

使用SHOW PARAMETERS 命令验证是否有其他参数需要修改,它总是一个好的习惯。


2.4 从主库复制文件到备库

2.4.1 创建数据文件备份,见2.1
2.4.2 创建备库控制文件,见2.2
2.4.3 创建初始化参数文件,见2.3

2.5 设置备库需要的环境
执行下面步骤创建一个基于windows平台服务,创建一个密码文件,设置Oracle网络环境,并且创建一个SPFILE。

第一步 创建基于Windows的服务
如果备库运行在windows平台,用ORADIM 创建一个window服务和密码文件。例如:
WINNT>oradim -NEW -SID boston -INTPWD password -STARTMODE manual

第二步 创建密码文件
除了window平台的其他平台,创建密码文件,并设置和主库SYS用户密码相同的SYS用户密码。为了重做传输成功,在DataGuard配置中每个数据库的SYS用户密码必须是相同的。

第三步 配置主库和备库监听
在主库和备库2台服务器上,使用Oracle Net Manager 配置各自数据库的监听。
重启监听,在主库和物理备库上分别执行下面LSNRCTL命令:
lsnrctl stop
lsnrctl start

第四步 创建网络服务名
在主库和备库2台服务器上,主库和备库使用Oracle Net Manager分别创建一个网络服务名被重做传输服务使用。
网络服务名指定的链接描述符必须用你配置主库和备库监听时指定的相同的协议,主机地址,和服务。链接描述符必须指定为专用服务器。

第五步 创建备库服务参数文件
在空闲的物理备库上,用SQL CREATE语句根据在第二步中编辑好的的文本参数文件创建一个物理备库服务器参数文件。例如:
SQL>CREATE SPFILE FROM PFILE='imitboston.ora';

2.6 启动物理备库
执行下面步骤启动物理备库和重做应用。

第一步 启动物理备库
在物理备库上,执行下面SQL语句启动数据库到MOUNT状态:
SQL>STARTUP MOUNT;

第二步 启动重做应用
在物理备库上,执行下面命令启用重做应用:
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
这条语句包括DISCONNECT FORM. SESION 选项是重做应用在后台运行。

第三步 测试归档是否传到备库
在这例子中,在传输重做数据到远程备库不会发生日志切换。当在线重做日志满后,默认会发生日志切换。在主库执行ALTER SYSTEM语句,强制日志切换会导致重做数据立即被传输。

2.7 验证物理备库是否正常运行
在你创建物理备库并设置重做传输服务,你想验证数据库修改被成功的从主库传输到备库。
查看重做数据被物理备库接收,你首先确认归档重做日志文件在备库上,在主库上强制切换一些在线重做日志并归档后,这时检查物理备库。下面步骤显示怎样执行这些任务。

第一步 确认已经存在的归档重做日志
在物理备库,查询V$ARCHIVED_LOG视图确认归档重做日志已经存在。例如:

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
  2  FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# FIRST_TIME         NEXT_TIME
---------- ------------------ ------------------
         8 11-JUL-02 17:50:45 11-JUL-02 17:50:53
         9 11-JUL-02 17:50:53 11-JUL-02 17:50:58
        10 11-JUL-02 17:50:58 11-JUL-02 17:51:03

3 rows selected.


第二步 强制切换当前在线重做日志
在主库,用ALTER SYSTEM SWITCH LOGFILE 语句强制切换并归档当前在线重做日志文件组:
SQL>ALTER SYSTEM SWITCH LOGFILE;

第三步 验证新的重做数据在备库上归档
在备库上,查询V$ARCHIVED_LOG视图验证重做数据和归档被接收:

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
  2>  FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# FIRST_TIME         NEXT_TIME
---------- ------------------ ------------------
         8 11-JUL-02 17:50:45 11-JUL-02 17:50:53
         9 11-JUL-02 17:50:53 11-JUL-02 17:50:58
        10 11-JUL-02 17:50:58 11-JUL-02 17:51:03
        11 11-JUL-02 17:51:03 11-JUL-02 18:34:11
4 rows selected.

这些归档重做日志文件现在可以被物理备库应用。


第四步 验证新归档日志已经被应用
在物理备库上,查询V$ARCHIVED_LOG视图验证归档重做日志文件是否被应用。

SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG
  2  ORDER BY SEQUENCE#;

SEQUENCE# APP
--------- ---
        8 YES
        9 YES
       10 YES
       11 YES

4 rows selected.

3 创建后步骤
在这里描述,物理备库默认运行并能提供最大性能的数据保护级别。下面的描述列表时你可以再物理备库上额外准备的:
3.1更新数据保护模式
3.2启用闪回数据库
分享到:
评论

相关推荐

    linux下oracle 11g R2 dataguard

    在Linux环境下,Oracle 11g R2 Data Guard是一种高可用性和灾难恢复解决方案,它通过在不同的物理或逻辑位置维护一个或多个备用数据库,来保护关键业务数据免受硬件故障、自然灾害或其他潜在的数据丢失风险。...

    Oracle_11G_DataGuard配置

    控制文件包含了数据库的所有元数据信息,是创建物理 Standby 数据库的关键。 - **修改备库pfile**: 需要在备库上创建一个对应的pfile,并配置相关参数以确保与主库兼容。 - **在备库上创建口令文件**: 使用与...

    ORACLE 10G DATAGUARD实战步骤

    以下是对"ORACLE 10G DATAGUARD实战步骤"的详细解释: 1. **环境准备**: - 安装Oracle 10G数据库软件:在主库和备库服务器上都需要安装相同的数据库版本。 - 系统配置:确保网络连接稳定,配置主机名解析,设置...

    一步一步学习DATAGUARD搭建(oracle 10g)

    5. **创建物理Standby数据库**: - 在Standby服务器上创建控制文件,通常通过`CREATE CONTROLFILE REUSE DATABASE`命令来实现。 - 使用`RESTORE DATABASE`和`RECOVER DATABASE UNTIL CUTOFF`命令恢复数据文件和...

    oracle—DataGuard

    - **创建步骤**:包括准备环境、配置归档日志模式、创建物理备用数据库等。 - **角色转换**:通过Switchover或Failover操作实现主备角色互换。 - **逻辑 Standby**:与物理Standby类似,但逻辑Standby可以执行SQL...

    Oracle10g DataGuard远程容灾技术.rar

    Oracle10g DataGuard远程容灾技术是Oracle数据库系统中的一种高级高可用性和灾难恢复解决方案。DataGuard的主要目标是提供数据保护,确保在面临硬件故障、软件错误或自然灾害等不可预知事件时,能够快速恢复业务操作...

    Oracle10g RAC环境下DataGuard备库搭建实例

    Oracle 10g RAC 环境下的 DataGuard 备库搭建实例是一个重要的数据库高可用性和灾难恢复方案。DataGuard 提供了主库和备库之间的实时数据复制,确保在主库出现故障时,备库能够快速接管,保证业务连续性。在 RAC ...

    Oracle 11g R2 to DataGuard实施方案.doc

    在Oracle 11g R2中,DataGuard提供了多种功能,如物理 standby、逻辑 standby、以及快速恢复等特性。 **第一章 配置环境** 1.1 网络拓扑架构图 网络拓扑是DataGuard实施的关键部分,通常包含主数据库(Primary ...

    虚拟机windows2008+oracle11g dataguard

    - 在备节点上创建物理备用数据库,同步与主节点的数据。 - 进行故障切换测试,验证DataGuard功能是否正常工作。 在实际环境中,Oracle DataGuard提供了多种保护模式,如最大保护模式、最大性能模式和最大可用性模式...

    大牛教你配置Oracle 11g Active Dataguard

    Oracle 11g Active Data Guard 是Oracle数据库系统中一种高级的数据保护和灾难恢复技术,它在主数据库运行的同时,创建并维护一个或多个只读的物理 standby 数据库。Active Data Guard 提供了实时的数据保护,使得在...

    oracle11g RAC ASM dataguard配置

    本次配置的目的是为了创建一个由两个节点组成的自动存储管理(ASM)存储方式的Oracle真正应用集群(RAC)数据库,并与一个使用文件系统存储的Oracle单实例数据库形成DATAGUARD物理备库的高可用模式。通过这种方式,...

    ORACLE dataguard创建步骤

    ### ORACLE DataGuard 创建步骤详解 #### 一、前期准备工作 在进行Oracle DataGuard物理Standby数据库的创建之前,确保所有必要的准备工作都已经完成,并且配置正确。这些准备工作分为软件部分和硬件部分。 #####...

    Oracle_Dataguard_11g很好的文档

    ### Oracle DataGuard 11g 知识点详解 #### 一、简介 Oracle DataGuard 技术是一种全面的数据保护解决方案,它通过提供多种数据库复制选项来确保数据的高度可用性和灾难恢复能力。此技术适用于任何企业的核心资产...

    oracle 10g rac dataguard 参考

    在Oracle数据库系统中,RAC允许多台服务器共享同一个数据库,提供并行处理和故障切换能力,而Data Guard则通过创建物理或逻辑备用数据库来确保数据的安全性和业务连续性。 **Oracle 10g RAC详解:** RAC是Oracle的...

    oracle 10g dataguard 详细配置步骤

    在Oracle 10g中,DataGuard是一种高可用性解决方案,它可以创建并维护一个或多个物理、逻辑或快照副本数据库(称为standby数据库),这些副本与主数据库(primary database)同步或异步运行。通过这种方式,即使主...

    (完整版)Oracle-11G-DataGuard配置.doc

    Oracle 11G DataGuard 配置需要经过多个步骤,包括判断 DataGuard 是否安装、网络配置、监听配置、主库前期准备、创建备份库需要的控制文件、备份生产数据库、修改备库 pfile、将控制文件复制到备库、在备库上创建...

    Oracle11G DataGuard相同SID物理Standby搭建手册

    Oracle 11g DataGuard是Oracle数据库系统中的一个强大特性,用于实现高可用性和灾难恢复。...在实际操作中,建议参考《Oracle11G DataGuard相同SID物理Standby搭建手册》中的详细指南,以确保成功实施。

Global site tag (gtag.js) - Google Analytics