最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle11gDataGuard使用duplicatefromactivedatabase创建standby

来源:懂视网 责编:小采 时间:2020-11-09 16:15:36
文档

Oracle11gDataGuard使用duplicatefromactivedatabase创建standby

Oracle11gDataGuard使用duplicatefromactivedatabase创建standby:用这种方式来搭建 DG ,主库的停机时间很少,只需要重启一下,使参数生效。也可以用这种方法进行 DB 迁移。 DG 搭建好,然后把备库激活就可以了。这样整个迁移中宕机时间也比较短。 Oracle 11g 的 pyhsical standby 支持 open read only 下
推荐度:
导读Oracle11gDataGuard使用duplicatefromactivedatabase创建standby:用这种方式来搭建 DG ,主库的停机时间很少,只需要重启一下,使参数生效。也可以用这种方法进行 DB 迁移。 DG 搭建好,然后把备库激活就可以了。这样整个迁移中宕机时间也比较短。 Oracle 11g 的 pyhsical standby 支持 open read only 下

用这种方式来搭建 DG ,主库的停机时间很少,只需要重启一下,使参数生效。也可以用这种方法进行 DB 迁移。 DG 搭建好,然后把备库激活就可以了。这样整个迁移中宕机时间也比较短。 Oracle 11g 的 pyhsical standby 支持 open read only 下的 apply 和 Real-

用这种方式来搭建DG ,主库的停机时间很少,只需要重启一下,使参数生效。也可以用这种方法进行DB迁移。DG搭建好,然后把备库激活就可以了。 这样整个迁移中宕机时间也比较短。


Oracle 11g的pyhsical standby 支持open read only 下的apply和Real-time query。 因此就有了physical standby 稳定和logical standby 的报表查询功能。

Oracle: 11.2.0.1

OS: redhat 5.5

Primary IP: 192.168.2.42

DB_NAME=sanfu

Standby IP: 192.168.2.43

DB_NAME=sanfu

一. Primary 端操作:

1. 设置归档模式

这个生产库都是这种模式。

SQL> archive log list;

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> archive log list;

2. Primary 设置force logging

SQL> alter database force logging;

SQL> select force_logging from v$database;

FORCE_LOG

---------

YES

3. 配置Oracle Net

在Primary 库和Standby 都要修改。也可以使用netca 和netmgr命令配置。

注意:修改完后记得重启listener。

Listener.ora

[oracle@qs-dmm-rh1 admin]$ cat listener.ora

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost6.localdomain6)(PORT = 1521))

)

)

ADR_BASE_LISTENER = /u01/app/oracle

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

(SID_NAME = orcl)

)

)

-- 配置静态注册

tnsname.ora

[oracle@qs-dmm-rh1 admin]$ cat tnsnames.ora

sanfus =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

sanfup =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

4. 添加data guard 参数

创建pfile, 添加如下文件:

SQL> create pfile from spfile;

*.db_name='orcl'

*.db_unique_name='sanfup'

*.log_archive_config='dg_config=(sanfup,sanfus)'

*.log_archive_dest_1='location=/u01/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=sanfup'

*.log_archive_dest_2='service=sanfus reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=sanfus'

*.log_archive_dest_state_1=enable

*.log_archive_dest_state_2=enable

*.standby_file_management='auto'

*.fal_server='sanfus'

*.fal_client='sanfup'

注意:

在Oracle 11g的Data Guard中,standby_archive_dest参数已经被取消了。

Standby归档文件的存放位置按如下规则来进行:

(1)当LOG_ARCHIVE_DEST_n设置了valid_for=(all_logfiles,all_roles),那么在不定义standby_archive_dest参数时,Oracle就会选择LOG_ARCHIVE_DEST_n参数作为归档目标。

(2)如果在第一步设置的同时,又独立设置LOG_ARCHIVE_DEST_n参数为 valid_for=(standby_logfile,*) 属性,那么当compatible参数大于10.0的时候,会自动的选择任意一个LOG_ARCHIVE_DEST_n的值。

(3)如果LOG_ARCHIVE_DEST_n 没有设置的话,默认位置是:

$ORACLE_HOME/dbs.

不过valid_for参数的默认值就是all_logfiles和all_roles. 所以只要设置了本地的归档位置,远程的归档文件也会放到这个目录下面。

5. 用新pfile重启主库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> create spfile from pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora';

File created.

SQL> startup

ORACLE instance started.

Total System Global Area 422670336 bytes

Fixed Size 1336960 bytes

Variable Size 310380928 bytes

Database Buffers 104857600 bytes

Redo Buffers 6094848 bytes

Database mounted.

Database opened.

SQL>

二. Standby 端设置:

1. 创建相关目录结构

[oracle@qs-dmm-rh2 trace]$ mkdir -p /u01/app/oracle/oradata/dave

--这里我们创建的目录和Target 库不同,我们在参数文件里需要转换一下。

2. 创建standby的口令文件

[oracle@qs-dmm-rh2 trace]$ orapwd file=?/dbs/orapwdave password=oracle

3. 创建standby的初始化参数:

*.compatible='11.2.0.4.0'

*db_name=orcl

*.control_files='/u01/app/oracle/oradata/dave/control01.ctl', '/u01/app/oracle/oradata/dave/control02.ctl',

'/u01/app/oracle/oradata/dave/control03.ctl'

*.db_unique_name='sanfus'

*.log_archive_config='dg_config=(sanfup,sanfus)'

*.log_archive_dest_1='location=/u01/archivelog valid_for=(standby_logfile, standby_role) db_unique_name=sanfus'

*.log_archive_dest_2='service=sanfup reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=sanfup'

*.log_archive_dest_state_1=enable

*.log_archive_dest_state_2=enable

*.standby_file_management='auto'

*.fal_server='sanfup'

*.fal_client='sanfus'

*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/dave'

*.db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/dave'

4. 用pfile 将standby 启动到nomount状态:

SQL> startup nomount pfile=?/dbs/initorcl.ora

ORACLE instance started.

Total System Global Area 146472960 bytes

Fixed Size 1335080 bytes

Variable Size 92274904 bytes

Database Buffers 50331648 bytes

Redo Buffers 2531328 bytes

5. 开始duplicate

[oracle@qs-dmm-rh2 dbs]$ rman target sys/oracle@sanfup auxiliary sys/oracle@sanfus

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Mar 8 16:10:25 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (DBID=1272955137)

connected to auxiliary database: ORCL (not mounted)

RMAN> duplicate target database for standby from active database;

Starting Duplicate Db at 08-MAR-11

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=20 device type=DISK

contents of Memory Script:

{

backup as copy reuse

targetfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl' auxiliary format

'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl' ;

--用duplicate 创建standby 时会复制口令文件

}

executing Memory Script

Starting backup at 08-MAR-11

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=45 device type=DISK

Finished backup at 08-MAR-11

contents of Memory Script:

{

backup as copy current controlfile for standby auxiliary format '/u01/app/oracle/oradata/dave/control01.ctl';

restore clone controlfile to '/u01/app/oracle/oradata/dave/control02.ctl' from

'/u01/app/oracle/oradata/dave/control01.ctl';

restore clone controlfile to '/u01

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Oracle11gDataGuard使用duplicatefromactivedatabase创建standby

Oracle11gDataGuard使用duplicatefromactivedatabase创建standby:用这种方式来搭建 DG ,主库的停机时间很少,只需要重启一下,使参数生效。也可以用这种方法进行 DB 迁移。 DG 搭建好,然后把备库激活就可以了。这样整个迁移中宕机时间也比较短。 Oracle 11g 的 pyhsical standby 支持 open read only 下
推荐度:
标签: 使用 st oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top