演示-物理standby的创建过程

Primary:
主机: jabdw1241
SID: O01DMS0
DB_UNIQUE_NAME: O01DMS0
Standby:
主机: jabdw1242
SID: O01DMS0
DB_UNIQUE_NAME: O01DMS0DR

1. Primary的配置和操作
1) 确认primary处于归档模式
PRIMARY>archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            H:\INTEL_ARCH\O01DMS0
Oldest online log sequence     468
Next log sequence to archive   470
Current log sequence           470
2) 确认primary处于force logging模式
PRIMARY>select force_logging from v$database;

FOR
---
NO
结果为NO,通过下面语句把数据库设为force logging:
PRIMARY>alter database force logging;

Database altered.

3) 配置primary的参数
增加以下必须参数:
*.db_unique_name=O01DMS0
*.log_archive_config='DG_CONFIG=(O01DMS0,O01DMS0DR)'
*.log_archive_dest_2='service=O01DMS0DR ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=O01DMS0DR'
*.log_archive_dest_state_2=defer
以下参数虽然不是必须的,但在角色切换中有用,建议配置:
*.fal_server=O01DMS0DR
*.fal_client=O01DMS0
*.standby_file_management=auto
重建spfile启动primary:
PRIMARY>shutdown immediate;
PRIMARY>create spfile from pfile;

File created.

PRIMARY>startup
4) 创建standby的控制文件
PRIMARY>alter database create standby controlfile as 'H:\CONTROL01.O01DMS0';

Database altered.

5) 创建password file
C:\Documents and Settings\a105024>orapwd file=G:\Oracle\Ora102\database\PWDO01DMS0.ora password=oracle entries=30

6) 复制相关文件到standby服务器
查出primary端的所有数据文件:
PRIMARY>select name from v$datafile;

NAME
-----------------------------------------------

I:\INTEL_DATA\O01DMS0\SYSTEM01.O01DMS0
I:\INTEL_DATA\O01DMS0\UNDOTBS01.O01DMS0
I:\INTEL_DATA\O01DMS0\USERS01.O01DMS0
I:\INTEL_DATA\O01DMS0\SECURITY_D.O01DMS0
K:\INTEL_INDEX\O01DMS0\SECURITY_I.O01DMS0
I:\INTEL_DATA\O01DMS0\SYSAUX01.O01DMS0
I:\INTEL_DATA\O01DMS0\STREAMS_TBS.DBF
I:\INTEL_DATA\O01DMS0\DMS01.O01DMS0
I:\INTEL_DATA\O01DMS0\UNDOTBS02.O01DMS0

关闭数据库:
PRIMARY>shutdown immediate;

把上面的所有数据文件拷贝到standby服务器对应的目录下。

再把刚生成的控制文件拷贝到standby服务器对应的目录下,注意控制文件要复制三份,且要修改文件名。

最后再把pfile和password file拷贝到standby服务器对应的目录下。

注意:online 和 archived redo log不需要复制。

启动数据库:
PRIMARY>startup

2. Standby的配置和操作
1) 创建OracleService
C:\Documents and Settings\a105024>oradim -new -sid O01DMS0
Instance created.
2) 修改standby参数
打开刚刚从primary复制过来的pfile,修改以下参数:
*.db_unique_name=O01DMS0DR
*.log_archive_dest_2='service=O01DMS0 ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=O01DMS0'
*.log_archive_dest_state_2=enable
*.fal_server=O01DMS0
*.fal_client=O01DMS0DR
创建spfile:
STANDBY> create spfile from pfile;

File created.

3) 启动数据库至mount状态
注意:在启动至mount之前,一定要仔细检查参数文件和控制文件中指定的目录和文件都已在standby服务器存在。
STANDBY>startup mount;
ORACLE instance started.

Total System Global Area  629145600 bytes
Fixed Size                  1296652 bytes
Variable Size             339740404 bytes
Database Buffers          251658240 bytes
Redo Buffers               36450304 bytes
Database mounted.

3. 配置primary和standby的通讯
1) standby listener 的配置
DRO01DMS0 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = JABDW1242)(PORT = 1521))
  )

SID_LIST_DRO01DMS0 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = O01DMS0)
      (ORACLE_HOME = G:\Oracle\ora102)
      (SID_NAME = O01DMS0)
    )
  )
通过lsnrctl启动listener
2) primary tnsnames 的配置
O01DMS0DR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = jabdw1242)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = O01DMS0)
    )
  )
测试primary是否能连standby:
C:\Documents and Settings\a105024>tnsping O01DMS0DR

TNS Ping Utility for 32-bit Windows: Version 10.2.0.4.0 - Production on 18-OCT-2
011 02:49:47

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:
G:\Oracle\Ora102\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = jabdw1242)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = O01DMS0)))
OK (40 msec)

3) standby tnsnames 配置

O01DMS0 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = jabdw1241)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = O01DMS0)
    )
  )
测试standby是否能连primary:
C:\Documents and Settings\a105024>tnsping O01DMS0

TNS Ping Utility for 32-bit Windows: Version 10.2.0.4.0 - Production on 18-OCT-2
011 02:54:32

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:
G:\oracle\ora102\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = jabdw1241)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = O01DMS0)))
OK (50 msec)

4. 检验同步
1) 接收归档日志
在primary端查询当前最大的归档日志:
PRIMARY>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
           475

在standby端查询已传过来的归档日志:
STANDBY>select sequence#, applied from v$archived_log;

 SEQUENCE# APP
---------- ---
       470 NO
       471 NO
       472 NO
       473 NO
       474 NO
       475 NO
2) 启动redo apply
STANDBY>alter database recover managed standby database disconnect from session;

Database altered.

STANDBY>select sequence#, applied from v$archived_log;

 SEQUENCE# APP
---------- ---
       470 YES
       471 YES
       472 YES
       473 YES
       474 YES
       475 YES

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26277071/viewspace-709336/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26277071/viewspace-709336/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值