征询standby热备数据库的创建步骤?
可以直接发到[email protected]

解决方案 »

  1.   

    http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=143036
      

  2.   

    转摘,但忘了出处,请作者包含:创建一个standby database的全过程 
    OS:windows 2000 advanced server SP2 
    Oracle:8.1.7.4 
    假定主库与备用库不在同一个主机上,目录结构相同,并且配置一个自管理备用库(managed standby database): 
    主库 备库 
    主机IP 192.168.1.20 192.168.1.30 
    主机名 PrimDB StbyDB 
    SID Orcl Orcl 
    数据库服务名 Orcl Orcl 
    一 创建一个主库的数据文件备份:用冷备份方式,备份到e:\shared\back 
    二 创建备用库的控制文件:冷备份之后,打开主库 
    SQL> connect internal/oracle as sysdba; 
    SQL>startup pfile=d:\oracle\admin\orcl\init.ora; 
    SQL>alter database create standby controlfile as ‘e:\shared\back\stby_ctl.ctl’; 
    三 通过网络复制备份的数据文件和备用控制文件到备库主机 
    四 配置主库的tnsnames.ora文件,添加备库别名为stby1,即下面内容: 
    stby1=(description= 
    (address= 
    (protocol=tcp) 
    (port=1523) 
    (host=192.168.1.30)) 
    (connect_data= 
    (SID=orcl))) 
    五 配置备用库的listener.ora文件,添加监听服务standby_listener,在相应的节里添加有关的内容。如果原文件内已有,则修改之。 
    standby_listener节: 
    (address_list= 
    (address= 
    (protocol=tcp) 
    (port=1523) 
    (host=192.168.1.30) 
    ) ) 
    SID_list_standby_listener节: 
    (sid_list= 
    (sid_desc= 
    (sid_name=orcl) 
    (oracle_home=d:\oracle\ora81) 
    ) ) 
    这个文件中只能有这两节,不能有多个组,虽然可以定义监听的名字不同,但在启动监听服务的时候,都只启动一个监听服务。 
    六 重新启动备库监听服务,以使更改生效: 
    DOS>lsnrctl # 启动监听服务管理程序 
    LSNRCTL>status # 查看监听服务状态 
    LSNRCTL>stop # 停止监听服务 
    LSNRCTL>start # 启动监听服务 
    也可以在管理工具的服务管理里停止和启动服务。 
    七 配置主库的初始化参数文件init.ora,修改归档目的地。本地归档只归档到一个目录e:\log。添加以下内容: 
    # 定义本地归档路径,强制归档,重试时间2秒 
    log_archive_dest_1 = “location=e:\log\ mandatory reopen=2” 
    log_archive_dest_state_1 = enable 
    # 定义归档到备用库,强制归档,重试时间15秒。 
    # 如果定义为可选状态(optional),那么在归档失败后不会再次尝试归档的。定义 
    # 为madatory状态后,如果本次归档失败,则在归档下一个日志时会再次尝试 
    # 重传上一个未成功归档的日志。 
    log_archive_dest_2 = “service=stby1 mandatory reopen=15” 
    log_archive_dest_2 = enable 
    # 定义必须成功归档的日志数,只需要本地成功归档即可 
    log_archive_min_succeed_dest = 1 
    八 使主库修改后的参数生效。以下操作是在未重启主库时使用。如果修改主库初始化参数文件后重新启动了主库,则可以不使用下列命令。下列命令只对当前实例有效。 
    SQL>alter system set log_archive_dest_1 = “location=e:\log mandatory reopen=2”; 
    SQL>alter system set log_archive_dest_state_1 = enabl; 
    SQL>alter system set log_archive_dest_2 = “service=stby1 mandatory reopen=30”; 
    SQL>alter system set log_archive_dest_2 = enable; 
    SQL>alter system set log_archive_min_succeed_dest = 1; 
    九 配置备用库的初始化参数文件:将主库的初始化参数文件复制到备库,删除原有的日志归档目录项,并添加以下内容: 
    log_archive_dest = e:\log 
    log_archive_trace = 6 #定义日志跟踪层次 
    standby_archive_dest = e:\log 
    # 更改控制文件名 
    control_files = (“d:\oracle\oradata\orcl\stby_ctl.ctl”) 
    十 启动备用库 
    将从主库复制过来的数据文件、控制文件复制到相应的位置,然后在备库上操作(此时备库处于关闭状态): 
    SQL>connect internal/oracle as sysdba 
    SQL>startup nomount 
    SQL>alter database mount standby database 
    十一 如果有日志序列的缺失,则先将主库的日志复制到备库日志目录,进行手工恢复 
    SQL>recover automatic standby database; 
    或者: 
    SQL>recover standby database until cancel; 
    查看日志序列是否有缺失的SQL语句: 
    SQL>SELECT high.thread#, "LowGap#", "HighGap#" 
    FROM 

    SELECT thread#, MIN(sequence#)-1 "HighGap#" 
    FROM 
    ( SELECT a.thread#, a.sequence# 
    FROM 
    v$archived_log a, 
    ( SELECT thread#, MAX(next_change#) gap1 
    FROM v$log_history 
    GROUP BY thread# 
    ) b 
    WHERE a.thread# = b.thread# 
    AND a.next_change# > b.gap1 

    GROUP BY thread# 
    ) high, 

    SELECT thread#, MIN(sequence#) "LowGap#" 
    FROM 
    ( SELECT thread#, sequence# 
    FROM v$log_history, v$datafile 
    WHERE checkpoint_change# <= next_change# 
    AND checkpoint_change# >= first_change# 

    GROUP BY thread# 
    ) low 
    WHERE low.thread# = high.thread# ; 
    如果备库有日志序列缺失,则同一个thread#的LowGap# 与 HighGap# 不等。如果没有日志序列缺失,那么选出空值或者是LowGap# 与 HighGap# 相同。 
    十二 将备库置于自管理模式 
    SQL>recover managed standby database; 
    此时,SQLPLUS窗口停止响应,直到取消备库自管理模式。要取消备库的自管理模式的命令: 
    SQL>recover managed standby database cancel; 
    (续下)
      

  3.   

    偶也要,谢谢~
    [email protected]
      

  4.   

    如果是oracle9i 可用data guard broker 很方便的!
      

  5.   

    给我也发一份,谢谢!
    [email protected]
      

  6.   

    me too,谢谢!
    [email protected]
      

  7.   

    如果是oracle9i 可用data guard broker 很方便的!
    -------------------------------------------
    data guard broker 在哪里啊?没看到啊,我用的是9.2.0.1
      

  8.   

    给我一份:[email protected]谢谢!
      

  9.   

    [强烈推荐] 相关 standby database 的技术总结 
    http://211.99.196.144:8090/forum1/frontshow/dispbbs.jsp?boardid=109&id=4549保存之后,就可以慢慢看了. :-)