`

oracle 10g dataguard搭建步骤

 
阅读更多

一、主库操作

1、修改主库属性:

alter system force logging;

##查看状态

select FORCE_LOGGING from v$database;

2、修改数据库为归档模式:

archive log list;

shutdown immediate;

startup mount;

alter database archivelog;(alter database noarchivelog;关掉归档模式)

archive log list;

 

3、添加standby logfile(也可以不加)

为主数据库添加"备用联机日志文件",这里要保证备日志文件与主库联机日志文件相同大小。

    添加备用日志文件是规则:

        备用日志最少应该比redo log 多一个。推荐的备重做日志数依赖于主数据库上的线程数。

        (每线程日志文件最大数目 + 1 ) * 线程数

      alter database add standby logfile 

 

        group 4('/oracle2/app/oracle/oradata/std_redo04a.log','/oracle2/app/oracle/oradata/std_redo04b.log')size 50m,

 

        group 5('/oracle2/app/oracle/oradata/std_redo05a.log','/oracle2/app/oracle/oradata/std_redo05b.log')size 50m,

        group 6('/oracle2/app/oracle/oradata/std_redo06a.log','/oracle2/app/oracle/oradata/std_redo06b.log')size 50m,

        group 7('/oracle2/app/oracle/oradata/std_redo07a.log','/oracle2/app/oracle/oradata/std_redo08b.dbf')size 50m;

 

 

否则备库在应用时报如下信息:

RFS[1]: No standby redo logfiles created

RFS[1]: Archived Log: '/oracle2/arch/1_30_633287861.dbf'

 

在主库添加完standby logfile后,当主库切换后备库后会自动使用备库的redo logfile,具体应用信息如下:

RFS[1]: Successfully opened standby log 4:'/oracle2/app/oracle/oradata/10g/redo04.log'

RFS[1]: Successfully opened standby log 4: '/oracle2/app/oracle/oradata/10g/redo04.log'

 

4、修改主库参数文件:

10g.__db_cache_size=1207959552

10g.__java_pool_size=16777216

10g.__large_pool_size=16777216

10g.__shared_pool_size=352321536

10g.__streams_pool_size=0

*.audit_file_dest='/oracle2/app/oracle/admin/10g/adump'

*.background_dump_dest='/oracle2/app/oracle/admin/10g/bdump'

*.compatible='10.2.0.3.0'

*.control_files='/oracle2/app/oracle/oradata/10g/control01.ctl','/oracle2/app/oracle/oradata/10g/control02.ctl','/oracle2/app/oracle/oradata/10g/control03.ctl'

*.core_dump_dest='/oracle2/app/oracle/admin/10g/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='10g'

*.DB_UNIQUE_NAME='10gpri'     ###必须 定义每个数据库的唯一标识

*.log_archive_config='DG_CONFIG=(10gpri,10gstandby)'        ###必须

*.log_archive_dest_1='location=/oracle2/arch/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)' DB_UNIQUE_NAME='10gpri'        ###必须  本地的归档路径

*.LOG_ARCHIVE_DEST_2='SERVICE=10gstandby arch ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=10gstandby'               ###必须(远程服务器端的归档日志)

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE

*.LOG_ARCHIVE_DEST_STATE_2=ENABLE

*.FAL_SERVER=10gpri       ###定义FAL服务器的Oracle Net服务的名称*.FAL_CLIENT=10gstandby    ### 定义备数据库的Oracle Net服务名     (这两个参数在主库可有可无,但备库必须有)   

*.db_recovery_file_dest='/oracle2/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=10gXDB)'

*.job_queue_processes=10

*.open_cursors=300

*.pga_aggregate_target=1707081728

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=1610612736

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/oracle2/app/oracle/admin/10g/udump'

*.STANDBY_FILE_MANAGEMENT=AUTO        ###设置为AUTO,使得当数据文件添加到主数据库或者从主数据库删除的时候,对应的修改能够在备用数据库中自动执行.

5、用pfile启动,再重新创建spfile.

shutdown immediate;

startup pfile='./pfile.pra';

create spfile from pfile='./pfile.ora';

shutdown immediate;

startup;

 

6、在主库创建密码文件、以及控制文件。

orapwd file=orapw10gstandby.ora password=change_on_install entries=10

alter database create standby database controlfile '/tmp/standby.ctl';

 

7、TNS信息如下:

主库

10g=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.169.1.204)(PORT = 1921))

    )

    (CONNECT_DATA =

      (SID = 10g)

    )

  )

 

10gpri=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.169.1.224)(PORT = 1921))

    )

    (CONNECT_DATA =

      (SID = 10g)

    )

  )  

 

 

10gstandby =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.169.1.204)(PORT = 1921))

    )

    (CONNECT_DATA =

      (SID = 10g)

    )

  )   

 

8、对主库进行全库备份

run {

allocate channel t1 type disk;

allocate channel t2 type disk;

backup database format '/tmp/full_%s';

release channel t1;

release channel t2;

}

 

 

 

二、备库操作如下:

1、依照主库的数据文件位置,在备库上创建相应的目录结构(最好与主库一致);

mkdir -p /oracle/app/oracle/oradata/....

 

2、通过FTP把在主库创建的密码文件、standby controlfile、full backup database文件到备库主机上。

 

3、备份的参数文件内容:

10g.__db_cache_size=1207959552

10g.__java_pool_size=16777216

10g.__large_pool_size=16777216

10g.__shared_pool_size=352321536

10g.__streams_pool_size=0

*.audit_file_dest='/oracle2/app/oracle/admin/10g/adump'

*.background_dump_dest='/oracle2/app/oracle/admin/10g/bdump'

*.compatible='10.2.0.3.0'

*.control_files='/oracle2/app/oracle/oradata/10g/control01.ctl','/oracle2/app/oracle/oradata/10g/control02.ctl','/oracle2/app/oracle/oradata/10g/control03.ctl'

*.core_dump_dest='/oracle2/app/oracle/admin/10g/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='10g'

*.DB_UNIQUE_NAME='10gstandby' ##

*.log_archive_config='DG_CONFIG=(10gpri,10gstandby)'   ##

*.log_archive_dest_1='location=/oracle2/arch/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)'DB_UNIQUE_NAME='10gstandby'    ##

*.LOG_ARCHIVE_DEST_2='SERVICE=10gpri -arch ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=10gpri'       ##

*.LOG_ARCHIVE_DEST_STATE_1=ENABLE

*.LOG_ARCHIVE_DEST_STATE_2=ENABLE

*.FAL_SERVER=10gstandby                              ##

*.FAL_CLIENT=10gpri                                              

 

##*.db_recovery_file_dest='/oracle2/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=10gXDB)'

*.job_queue_processes=10

*.open_cursors=300

*.pga_aggregate_target=1707081728

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=1610612736

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/oracle2/app/oracle/admin/10g/udump'

*.STANDBY_FILE_MANAGEMENT=AUTO               ##

 

4、分别对备库进行全库恢复,并启动到standby database mount状态下。

用PFILE文件起动到nomount状态下,恢复控制文件;起动到mount状态下,然后再恢复全库。

5、TNS信息如下:

10g=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.169.1.204)(PORT = 1921))

    )

    (CONNECT_DATA =

      (SID = 10g)

    )

  )

 

10gpri=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.169.1.224)(PORT = 1921))

    )

    (CONNECT_DATA =

      (SID = 10g)

    )

  )  

 

 10gstandby =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST =192.169.1.204)(PORT = 1921))

    )

    (CONNECT_DATA =

      (SID = 10g)

    )

  )   

用TNSPING 对方是否通。

6、修改备库处于应用归档状态

alter database recover managed standby database disconnect fromsession;  

 

如果主库从不过来归档,可以通过在主库侧手工修改参数如下:

ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE=MEMORY;

ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=MEMORY;

 

7、测试

通过在主库执行alter system switch logfile;切换日志可以观察到备库会自动应用通过主库传过来的日志。

 

三、切换测试

1、在主库端

select switchover_stats from v$database;

如果是to standby  表可以正常切换.

直接执行ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

否则执行: ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBYWITH SESSION SHUTDOWN;

 

shutdown immediate;

startup nomount;

alter database mount standby database;

 

2、在备库

在备库

SELECT SWITCHOVER_STATUS FROM V$DATABASE; 

如果是to_primary  表可以正常切换.

执行:ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

否则执行: ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITHSESSION SHUTDOWN;

 

shutdown immediate;

startup;

 

然后观察主备库日志,如果正常的话会看到备库会自动应用日志.

 

转载:http://bbs.chinaunix.net/thread-998901-1-1.html

 

另荐:小步老师oracle dataguard快速搭建视频:http://www.boobooke.com/v/bbk3476/


分享到:
评论

相关推荐

    ORACLE 11G 搭建DATAGUARD步骤.pdf

    ORACLE 11G 搭建Data Guard 的步骤涉及一系列配置过程,目的是为了确保数据库的高可用性和数据的安全备份。Data Guard 是Oracle数据库的一个组件,它能够提供一个或多个辅助数据库(standby databases)来实现数据...

    ORACLE 11G 搭建DATAGUARD步骤

    ORACLE 11G 搭建 DATAGUARD 步骤 ORACLE 11G 搭建 DATAGUARD 需要在主机 1 和主机 2 上安装数据库软件,并进行相关配置。 DATAGUARD 是一个高可用性解决方案,可以在主机 2 上实时地复制主机 1 上的数据库,从而...

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

    通过以上步骤,我们完成了Oracle 10g环境中物理Standby数据库的搭建。这个过程中,重点在于保证硬件一致性、正确配置数据库参数、数据库升级以及监听器设置,以确保主备数据库之间的高效、安全数据同步。

    Oracle 19c DataGuard搭建以及使用dg_broker管理.docx

    搭建 DataGuard 需要完成以下步骤: 1. 环境配置:包括主库添加 Standby log、修改文件转换参数、开启 force_logging/闪回/归档等。 2. 主库修改文件转换参数:包括修改文件转换参数,以确保数据的一致性。 3. 主库...

    ORACLE11G搭建DATAGUARD步骤

    在介绍Oracle 11g搭建DataGuard步骤的知识点之前,我们先简要了解DataGuard的定义。Oracle DataGuard是一项提供数据保护、灾难恢复、以及高可用性的解决方案,它是通过在不同的数据库之间创建一个或多个备用数据库来...

    2020年生产环境windows2012r2+oracle 11.2.0.4+psu+dataguard搭建步骤.docx

    Oracle 数据库搭建与 DataGuard 配置 ...搭建 Oracle 数据库和配置 DataGuard 需要进行项目调研规划、环境准备、DataGuard 配置和日常检查与测试等步骤。通过这些步骤,可以确保数据库的安全和高可用性,满足业务需求。

    (完整word版)ORACLE11G搭建DATAGUARD步骤.doc

    ORACLE 11G 搭建 DATAGUARD 步骤 DATAGUARD 是一种高可用性解决方案,旨在确保数据库的连续性和可用性。以下是 ORACLE 11G 搭建 DATAGUARD 步骤的详细知识点: 安装环境 在主机 1 上安装数据库软件,并建立监听...

    (可参考)ORACLE 12C DATAGUARD环境搭建和主从切换.docx

    ### Oracle 12c DataGuard 环境搭建与主从切换详解 #### 环境概述 本文档旨在提供一份详细的Oracle 12c DataGuard环境搭建与主从切换的指南,适用于Linux操作系统下的Oracle 12c单实例部署场景。通过本文档的学习...

    ORACLE 11G DATAGUARD架构搭建流程与详细步骤

    本文主要介绍了在RedHat Linux操作系统环境下部署Oracle 11g RAC DataGuard的方法,涵盖了从准备阶段(如安装软件、创建监听器)到最终完成物理Standby数据库配置的一系列具体操作,包括但不限于配置归档日志、调整...

    Oracle 11 Dg 一主两备的搭建步骤.docx

    redhat 7.6 oracle 11.0.2.4 DataGuard 搭建详细步骤

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

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

    ORACLE11G搭建DATAGUARD步骤.pdf

    以下是对搭建 Oracle 11g Data Guard 的详细步骤的概述: 1. **环境准备** - 在两台主机上分别安装相同版本的 Oracle 11g 数据库软件,例如主机1(dg1)和主机2(db2)。 - 主机1上需要建立监听和数据库实例,...

    Oracle dataguard实施步骤

    Oracle Dataguard 实施步骤详解 Oracle Dataguard 是 Oracle 数据库的一种高可用性解决方案,通过在备库(Standby)上维护一份主库(Primary)的副本,实现数据的实时同步和灾难恢复。本文将详细介绍 Oracle ...

    Oracle_11G_DataGuard配置

    通过以上步骤的详细介绍,我们可以了解到构建一个可靠的Oracle 11g DataGuard环境所需的具体步骤和技术细节。正确配置DataGuard不仅能够提高数据库的可用性和容错能力,还能在发生灾难性事件时提供快速的数据恢复...

    Oracle_DataGuard的搭建

    以下是如何在SUSE 11操作系统上搭建Oracle DataGuard的详细步骤: 1. **系统准备与软件安装**: - 首先,你需要在SUSE 11系统上安装必要的软件包,包括`gcc`,`libaio-devel`和`libstdc++`。这些是构建和运行...

Global site tag (gtag.js) - Google Analytics