概述
创建一个standby database的全过程
作者:fals
实施环境:
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:sharedback
二 创建备用库的控制文件:
冷备份之后,打开主库
SQL> connect internal/oracle as sysdba;
SQL>startup pfile=d:oracleadminorclinit.ora;
SQL>alter database create standby controlfile as ‘e:sharedbackstby_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:oracleora81)
) )
这个文件中只能有这两节,不能有多个组,虽然可以定义监听的名字不同,但在启动监听服务的时候,都只启动一个监听服务。
六 重新启动备库监听服务,以使更改生效:
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:oracleoradataorclstby_ctl.ctl”)
十 启动备用库
将从主库复制过来的数据文件、控制文件复制到相应的位置,然后在备库上操作(此时备库处于关闭状态):
SQL>connect internal/oracle as sysdba
SQL>startup nomount
SQL>alter database mount standby database
十一 手工恢复
如果有日志序列的缺失,则先将主库的日志复制到备库日志目录,进行手工恢复
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/95530/viewspace-795427/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/95530/viewspace-795427/
最后
以上就是飘逸店员为你收集整理的创建一个standby database的全过程的全部内容,希望文章能够帮你解决创建一个standby database的全过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复