中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
Oracle10G Physical Standby Database笔记
作者:未知 时间:2005-07-27 23:38 出处:CSDN 责编:chinaitpower
              摘要:Oracle10G Physical Standby Database笔记

试验环境
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

 

配置步骤
首先,装好primarystandby上的oracle,建SID同为dgtest的库,所有设置完全相同。然后停止shutdown两台上的oracle,将primary上的所有数据文件,控制文件,redo文件和password文件都copystandby机器的相应位置。(还可以利用热备,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 databasearchivelog模式
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     ----
primarystandby的数据文件路径不一致时使用
LOG_FILE_NAME_CONVERT    ----
primarystandby的数据文件路径不一致时使用
LOCK_NAME_SPACE           ----当主数据库和备用数据在同一台机上时设为备用数据库的SID

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

6.      设置primary databasestandby databasetnsnames.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 databaserecover 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

2.      SQL>alter database commit to switchover to physical standby;

3.      SQL>shutdowm immediate;

4.      SQL>startup mount;

standby

1.      SQL> select switchover_status from v$database

    switchover_status的值入股是To primary,可以直接switchover,如果是sessions active   
   
则需要在switchover的命令后面加上with session shutdown

2.      SQL>alter database commit to switchover to primary;

3.      SQL>shutdown immediate;

4.      SQL>startup;

要想顺利的实现switchover,最好在每台server上都同时设置好primarystandby的一些初始化参数,虽然其中一些参数只有在primary或者standby其中之一上起作用
  

Failover

standby

1.      SQL>alter database recover managed standby database finish;
 or SQL>alter database recover managed standby database finish skip standby logfile;

2.      SQL>alter database commit to switchover to primary;

3.      SQL>shutdown immediate;

4.      SQL>startup;

 

相关视图

   v$archive_dest

v$archive_dest_status
   v$log_history
   v$archvied_log
   v$managed_standby
   v$archive_gap

 

常见问题

1.      日志无法传送
  SQL>select dest_name,status,error from v$archive_dest;
 
察看相应的归档路径的状态是否valid,否则根据error信息进行处理

2.      无法使用alter database重命名data file
standby上,当设置standby_file_managementauto时,不允许下列操作
alter database rename
alter database add/drop logfile
alter database add/drop standby logfile member
alter database create datafile as

3.      switchover失败
SQL>alter database commit to switchover to physical standby
ORA-01093:alter database close only permitted with no session connected
察看引起该错误的活动session
SQL>
select sid,process,program from v$session where type='USER' and
    sid<>(select distinct sid from v$mystat);
断开该session,或者使用如下命令来做switchover
SQL>lter database commit to switchover to physical standby with session shutdown;


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有