打印本文 打印本文 关闭窗口 关闭窗口
Oracle10G Physical Standby Database笔记
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1519  更新时间:2009/4/22 22:03:46  文章录入:mintao  责任编辑:mintao

试验环境
primary server:

 windows2000 server + oracle 10.0.1.0.2

 ORACLE_SID:dgtest

 ORACLE_HOME: D:\oracle\product\10.1.0\db_1
standby server:

windows XP pro + oracle 10.0.1.0.2
ORACLE_SID:dgtest
ORACLE_HOME: D:\oracle\product\10.1.0\db_1

 

配置步骤
首先,装好primary和standby上的oracle,建SID同为dgtest的库,所有设置完全相同。然后停止shutdown两台上的oracle,将primary上的所有数据文件,控制文件,redo文件和password文件都copy到standby机器的相应位置。(还可以利用热备,rman等来建立初始standby库),这样,我们就拥有了两台完全一样的oracle server

 

1.      在primary database上设置force logging
SQL>alter database force logging;

2.      修改primary databse的初始化参数
DB_UNIQUE_NAME=’primary’
CONTROL_FILES=''''d:\oracle\product\oradata\control01.ctl'''',''''d:\oracle\product\oradata\control02.ctl'''',''''d:\oracle\product\oradata\control03.ctl''''
LOG_ARCHIVE_DEST_1= ''''LOCATION= d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= ''''SERVICE=standby''''
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=''''arc%s%t%r.arc''''
FAL_SERVER=standby
FAL_CLIENT=primary
STANDBY_FILE_MANAGEMENT=AUTO
LOCK_NAME_SPACE           ----这是当主数据库和备用数据在同一台机上时要设该参数,设为备用数据库的SID

3.      设置primary database为archivelog模式
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open:

4.      在primary database上创建standby database的控制文件
SQL>shutdown immedaite;
SQL>startup mount;
SQL>alter database create standby controlfile as ‘d:\oracle\product\oradata\controlstandby.ctl’
SQL>alter database open;
然后将该controlfile复制到standby server的对应位置

5.      修改standby databse的初始化参数
DB_UNIQUE_NAME=’standby’
CONTROL_FILES=''''d:\oracle\product\oradata\controlstandby.ctl''''
LOG_ARCHIVE_DEST_1= ''''LOCATION= d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= ''''SERVICE=primary''''
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
STANDBY_ARCHIVE_DEST=’ d:\oracle\product\arch’

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=primary
FAL_CLIENT=standby
STANDBY_FILE_MANAGEMENT=AUTO
DB_FILE_NAME_CONVERT     ----当primary和standby的数据文件路径不一致时使用
LOG_FILE_NAME_CONVERT    ----当primary和standby的数据文件路径不一致时使用
LOCK_NAME_SPACE           ----当主数据库和备用数据在同一台机上时设为备用数据库的SID

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

6.      设置primary database和standby database的tnsnames.ora
primary =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = primary_server)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dgtest)
    )
  )

standby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = standby_server)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dgtest)
    )
  )

7.      启动standby database
SQL>startup nomount pfile=’d:\oracle\product\initdgtest.ora’
SQL>alter database mount standby database;

8.      启动primary database
SQL>startup pfile=’d:\oracle\product\initdgtest.ora’

9.      启动standby database到recover manage模式
SQL>alter database recover managed standby database disconnect from session;

 

Switchover

在primary上

1.      SQL>select switchover_status from v$database
 switchover_status的值入股是To standby,可以直接switchover,如果是sessions active,   
 则需要在switchover的命令后面加上with session shutdown

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口