Oracle 9i DataGuard<学习笔记>

文档资料资料:a96653.pdf (Data Guard Concepts and Administration)

一.Oracle DataGuard
能为企业数据提供高可用性,数据保护和灾难恢复.最多支持9个standby Database,对standby数据库位置没有严格的限制,和Primary Database即可位于同一个主机上,也可位于不同主机上.

按此在新窗口打开图片
Primary Database:
主数据库,为应用程序提供后台访问.即可以是单实例数据库也可以是RAC(多实例)数据库.

Standby Database:备数据库,是主数据库的物理拷贝,一旦创建后DataGuard将自动维护从数据库,并接受主数据库生成的归档日志(恢复),共有两种Standby,如下:
Physical standby database
直接从主库接受归档日志,并做基于block的物理恢复.和8i中的standby区别不大
Logical standby database
从主库中接受归档日志后通过logmnr技术解析成sql语句,再做基于sql的同步,此为9i的新特性

DataGuard Services
Log Transport Services
日志传输服务将redo数据从主库传输给从库,并执行数据库保护模式.
Log Apply Services
日志应用服务,将主库的redo数据恢复到从库中,以保证主从库之间的同步
Role Management Services
角色管理服务,控制数据库中主从角色的切换,两种切换方式: switchover和failover,前者切换时没有数据丢失,主要用于系统维护时,后者主要用于主库发生灾难错误时使用,可通过设置DataGuard保证没有数据丢失.

DataGuard Broker
对DataGuard系统进行集中管理的工具,同时提供了对于standby维护的图形化界面

Database Protection Modes
数据保护模式,在9iR2中,主库可设置为以下三种模式:
Maximum protection 
保证从库和主库数据完全一样,做到zero data loss,事务同时在主从两边提交完成,才算事务完成,如从库发生故障,则主库也立即宕机,这种方式下具有最高的保护等级,但对主库性能影响很大,要求告诉的网络连接.
Maximum availability
如果和从库的连接正常,运行方式同Maximum protection,事务也是主从库同时提交,如果从库和主库失去联系,则主库自动切换到Maximum performance,保证主库有最大的可有性.
Maximum performance
主库把归档的archive log通过arch进程传递给从库,在这种方式下,主库运行性能最高,但是不能保证数据不丢失,且丢失的数据受redo log的大小影响.

二.Standby Database Directory Structure Considerations(备库目录结构讨论)

按此在新窗口打开图片
同一系统(主机)中,不同的目录结构:
1.必须设置LOCK_NAME_SPACE初始化参数
2.必须在控制文件中手动修改数据文件和日志文件路径,对于Physical standby datafiles可以用DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT初始化参数来设置自动修改.
3.无法实现系统的灾难恢复,但能通过switchover进行数据库计划维护.

在不同系统(主机),有相同的目录结构:
1.不需要修改备库控制文件中的数据文件和日志文件路径.
2.使用不同的物理介质存放数据库,为数据库提供多一重的保障.

在不同系统(主机),不同的目录结构:
1.必须在控制文件中手动修改数据文件和日志文件路径,对于Physical standby datafiles可以用DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT初始化参数来设置自动修改.
2.使用不同的物理介质存放数据库,为数据库提供多一重的保障.

三.Creating a Physical Standby Database
主库上的准备工作
1.开启forced logging模式(alter database force logging;)
2.开启归档模式和设置归档路径(alter system set log_archive_dest_1='LOCATION=/u02/oradata/archive' scope=both;)

创建备用数据库
1.验证主库的数据文件(select * from v$datafile),关闭数据库,并拷贝到备库目录,再重启主库.
2.为备库创建控制文件(alter database create standby controlfile as '目标路径';)
3.为备库创建参数文件(create pfile='目标路径' from spfile;)
4.修改生成的备库参数文件
按此在新窗口打开图片
按此在新窗口打开图片
db_name:不需要修改,和主数据库保持一致.
compatible:不需要修改,和主数据库保持一致,9.2.0.1
control_files:修改指向备库的控制文件
log_archive_start:不需要修改
standby_archive_dest:指向备库的归档日志目录(从主库接收归档日志)
db_file_name_convert:在目录结构改变时需要设置,格式为('主库数据文件路径','从库数据文件路径')
log_file_name_convert:在目录结构改变时需要设置,格式为('主库日志文件路径','从库日志文件路径')
log_archive_dest_1:应指向从库的归档日志目录
standby_file_management:设置为AUTO
remote_archive_enable:设置为TURE( 测试中发现加上这条就无法生成spfile,可能是系统默认值不要设置)
instance_name:应该修改为从库的数据库实例名(如在同一主机时,备库肯定无法和主库相同,肯定要修改)
lock_name_space:设置为备库实例名
5.创建windows服务(oradim -NEW -SID 备库实例名 -STARTMODE manual)
6.使用Net Manager配置监听进程
7.设置备库的Dead Connection Detection(在SQLNET.ORA中添加SQLNET.EXPIRE_TIME=2)
8.在主从数据库上设置TNSName连接指向
9.创建备库SPfile(由修改过的Pfile生成)create spfile from Pfile='备库路径';
10.启动physical standby database
    startup nomount; 
    alter database mount standby database;
11.初始化Log Apply Services(alter database recover managed standby database disconnect from session;)
12.在主库上设置到备库的归档(在主库上操作)
    alter system set log_archive_dest_2='SERVICE=备库实例名' scope=both;
    alter system set log_archive_dest_state_2=enable scope=both;

验证physical standby database
当创建了物理备份数据库和设置日志传输服务,可在备份数据库上验证修改是否生效
1.查询现有归档日志(select name,applied from v$archived_log ;)
2.在主库上归档当前日志(alter system archive log current;)
3.验证新日志是否接收到(同步骤1)
4.验证是否新的归档Redo日志已经被应用(select name,applied from v$archived_log ;)

注:对于传递过来的归档日志,要定期到备库上执行recover standby database;来应用归档日志(查询applied显示为YES)
也可以运行recover managed standby database;来自动运行( 光标停留在下一行,连SQL都没显示,这是正常现象),然后恢复进程 每15秒查询一次是否有新的归档日志并运行.另外 可用recover managed standby database cancel;取消备库的自管理模式

在主库崩溃后,从库恢复为主库( 此过程是不可逆的)
alter database activate standby database;
alter database mount;
alter database open;

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

转载于:http://blog.itpub.net/370491/viewspace-214969/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值