ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 学习piner前辈的dg后的笔记

学习piner前辈的dg后的笔记

原创 Linux操作系统 作者:qkhhfqp 时间:2008-05-26 21:51:39 0 删除 编辑

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传递Redo和Standby 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;

决定归档的一些参数说明

ARCH与LGWR

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

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

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

SYNC与ASYNC 和AFFIRM 与NOAFFIRM

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

AFFIRM与NOAFFIRM决定了归档日志磁盘写的同步与异步操作,默认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 决定是否重试操作,默认是REOPEN,300 秒,表示如果失败后,

最小的重试的时间间隔 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博客 ” ,链接:https://blog.itpub.net/11364208/viewspace-310410/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-19

  • 博文量
    53
  • 访问量
    38255