学习piner前辈的dg后的笔记

Oracle 9i备用数据库配置使用

ALTER DATABASE FORCE LOGGING;

*.log_archive_dest_2='service=dbstandby'

 

*.standby_file_management=AUTO

*.remote_archive_enable=TRUE

*.standby_archive_dest='/u01/oradata/pretty/archive'

*.fal_server='DBPRIMARY'

*.fal_client='DBSTANDBY'

 

mkdir -p $ORACLE_BASE/admin/pretty/adump

mkdir -p $ORACLE_BASE/admin/pretty/cdump

mkdir -p $ORACLE_BASE/admin/pretty/bdump

mkdir -p $ORACLE_BASE/admin/pretty/udump

 

backup database format='/rmanback/database_%U_%s.bak';

sql "Alter System Archive Log Current";

backup filesperset 10 ArchiveLog all format='/rmanback/archive_%U_%s.bak';

$scp *.bak 192.168.0.100:/rmanback

alter database create standby controlfile as '/rmanback/ctontrl01.ctl

scp control01.ctl 192.168.0.100:/u01/oradata/pretty/control01.ctl

startup nomount

alter database mount standby database;

 

restore database;

restore archivelog all;

recover automatic standby database;

alter database recover managed standby database disconnect from session;

alter database recover managed standby database cancel;

采用Arch 进程传送归档日志的最大性能模式

在默认情况下,Data guard就是最大性能模式,所以不需要采用其它额外的配置,我们只需

要修改主数据库的第二个归档路径即可。

SQL>alter system set log_archive_dest_2='SERVICE=dbstandby REOPEN=300' scope=both;

SQL>alter system set log_archive_dest_state_2=enable scope=both;

SQL>alter system archive log current;

其中reopen表示了如果发生归档失败后,第二次重复的时间间隔(秒),这种方式是从8i

来一直采用的一种方式,具有比较稳定,不影响数据库的性能,如果发生网络失败等原因,

主数据库不会因为远程归档不成功而停下来。

采用Lgwr进程传递联日志机的最大性能模式

关于LGWR传递RedoStandby Redo Log

Data Guard除了以上传统的Arch日志传送过程外,还可以采用联机日志的传送,在备用端

建议创建一组备用日志,并保持与主数据库备用日志相同大小,而且最好比主数据库的联

机日志多一组以上。如果采用联机日志传送,但是不在备用端创建备用日志的话,联机日志将自动写到备用端的归档日志中。

在备用日志或者当前正在归档的日志中的内容是不能马上被应用的,必须当归档完成后才

MRPn进程应用到备用数据库,所以说,恢复不是连续的,但是,传送过程可以是连续

的,在备用日志或当前归档日志中的内容,如果有需要,可以最终被指定应用到备用数据

库。如果在Rac 环境下,Standby 上的redo 被所有instances LGWR 一起使用. 而没有按

instances 分开。如果在创建数据库或者控制文件的时候,MAXLOGFILES参数指定过小,将影响到备用日志的创建,这种情况下,必须重新创建控制文件才能解决相应问题。

创建Standby Redo Log

在决定采用redo日志传送之前,先在备用数据库上创建备用日志

SQL>alter database add standby logfile

'/u01/oracle/oradata/tbdb/stdy_redo01.log' size 100m; 或者

SQL>alter database add standby LOGFILE

GROUP 4 ('/u01/oracle/oradata/tbdb/stdy_redo04.log') SIZE 102400K,

SQL>alter database add standby LOGFILE

GROUP 5 ('/u01/oracle/oradata/tbdb/stdy_redo05.log') SIZE 102400K,

SQL>alter database add standby LOGFILE

GROUP 6 ('/u01/oracle/oradata/tbdb/stdy_redo06.log') SIZE 102400K,

SQL>alter database add standby LOGFILE

GROUP 7 ('/u01/oracle/oradata/tbdb/stdy_redo07.log') SIZE 102400K,

修改主库的归档路径

同前面介绍的用ARCH 进程传递archived log相比,只面作以下更改:

SQL>alter system set LOG_ARCHIVE_DEST_2=SERVICE=dbstandby LGWR cope=both

备用日志的信息可以通过视图

V$STANDBY_LOG V$LOGFILE 获得

LGWR 直接将log buffer 中的事务数据异步(async 缺省)通过net8 传递给从库,从库的RFS

进程接收Redo data, 并写到Standby Redo Log, 然后,当主库发生log switch时,从库的ARC0,ARC1进程将redo log写到archived log file 中,一旦archived log 可用,MRP0

上将归档日志应用到数据文件及控制文件中。如果想最终应用备用日志中的日志,可以用命令(见失败切换过程)

alter database recover managed standby database finish;

决定归档的一些参数说明

ARCHLGWR

采用归档日志传送还是联机日志传送,默认是归档进程

是否采用ARCH进程还是LGWR进程,很多时候依赖于保护的方式,下表可以看到在不同的

保护模式下,采用归档进程还是联机日志进程的情况。

SYNCASYNC AFFIRM NOAFFIRM

SYNCASYNC决定了网络传输的同步与异步操作,默认ASYNC

AFFIRMNOAFFIRM决定了归档日志磁盘写的同步与异步操作,默认NOAFFIRM

这两个参数用来决定不同的保护模式。

DELAY NODELAY

是否延迟同步,默认不延迟,如果选择DELAY,默认30 分钟 如

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;

还可以设置在主数据库上

LOG_ARCHIVE_DEST_3=SERVICE=stby1 DELAY=240

LOG_ARCHIVE_DEST_STATE_3=ENABLE

延迟参数并不影响日志的传送

MANDATORY OPTIONAL

默认是OPTIONAL,如果设置MANDATORY,表示一定要归档成功,否则将引发主数据库

的归档等待。Oracle建议采用OPTIONAL方式来传送日志.

REOPEN NOREOPEN MAX_FAILURE NOMAX_FAILURE

REOPEN NOREOPEN 决定是否重试操作,默认是REOPEN300 秒,表示如果失败后,

最小的重试的时间间隔 Noreopen表示不重试失败操作

MAX_FAILURE NOMAX_FAILURE 表示最大重试次数,默认是NOMAX_FAILURE,表

示一直重试,如果是MAX_FAILURE,则采用MAX_FAILURE=count 来决定重试的次数,

如果是MAX_FAILURE,则一定需要在REOPEN模式下

ALTERNATE NOALTERNATE

表示如果归档失败,是否转向新的归档路径,默认是的NO ALTERNATE 如采用如下配置

LOG_ARCHIVE_DEST_2=LOCATION=/disk1 MANDATORY

ALTERNATE=LOG_ARCHIVE_DEST_3

LOG_ARCHIVE_DEST_STATE_2=ENABLE

LOG_ARCHIVE_DEST_3=LOCATION=/disk2 MANDATORY

LOG_ARCHIVE_DEST_STATE_3=ALTERNATE

那么就是说,如果路径2 上归档失败的话,将切换到路径3 继续归档

验证备用服务器是否工作

SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, APPLIED

FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

或者查看alert日志文件,如有如下内容表示正在恢复,而且在等待下一个日志

其它的备用数据库相关视图还有 V$MANAGED_STANDBY

(Physical Standby Databases Only) 会纪录当前从库的一些进程情况和进程的process id,如

rfs,mrp

V$ARCHIVE_GAP 这里面会纪录当前从库

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

转载于:http://blog.itpub.net/11364208/viewspace-310410/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值