设定:
1.每个standby redo log file 至少要和primary database的redo log 一样大,为了方便管理,Oracle 建议主备库的redo log 设置成一样的大小。
SQL> SELECT GROUP#, BYTES/1024/1024 M FROM V$LOG;
2.Standby redo log group 至少要比primary database的redo log group 多一组。 可以在primary 库查询v$log视图,来确定主库有多少组redo log groups。
公式:nx+1 (n为日志组数,x为节点数)
注意:(Oracle 建议在primary 库也创建standby redo log,这样在进行switchover 之后就可以立即接收redo data。 )
创建:
SQL>alter database add standby logfile thread 1 group 5 size 50m,group 6 size 50m,group 7 size 50m;(rac)
SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘xxxxxxx‘) SIZE 500M; (one node)
注意:当主库添加了redo log group,那么也必须在备库添加一个对应的standby redo log group。 否则standby database 可能在主库进行switch log 后不同步,shutdown。
删除:
SQL> alter database drop standby logfile group X;
查看:
在standby 库执行执行如下SQL 查询每个standby redo log 大小和每组的成员:
SQL> SELECT GROUP#, BYTES/1024/1024 M FROM V$STANDBY_LOG;
归档位置:
在日志接收中,需要注意的是归档日志会被放在什么位置:
1) 如果配置了STANDBY_ARCHIVE_DEST 参数,则使用该参数指定的目录。
2) 如果某个LOG_ARCHIVE_DEST_n 参数明确定义了VALID_FOR=(STANDBY_LOGFILE,*)选项,则使用这个参数指定的目录。
4) 如果STANDBY_ARCHIVE_DEST 和 LOG_ARCHIVE_DEST_n 参数都没有配置,使用缺省的STANDBY_ARCHIVE_DEST参数值,这个缺省值是$ORACLE_HOME/dbs/arc.
1)设置Standby Redo Log 归档到FRA(fast recovery area)
1. 设置 LOG_ARCHIVE_DEST_n 参数的LOCATION 属性等于USE_DB_RECOVERY_FILE_DEST。
2. 设置LOG_ARCHIVE_DEST_n 参数的VALID_FOR 属性允许进行归档。
valid_for=(all_logfiles,all_roles)
2)设置Standby Redo Log 归档到本地文件系统
设置步骤如下:
1. 设置 LOG_ARCHIVE_DEST_n 参数的LOCATION 属性。
2. 设置LOG_ARCHIVE_DEST_n 参数的VALID_FOR 属性允许进行归档。
示例:
LOG_ARCHIVE_DEST_2 = ‘LOCATION = /disk2/archive
VALID_FOR=(STANDBY_LOGFILE,STANDBY_ROLE)‘
LOG_ARCHIVE_DEST_STATE_2=ENABLE
VALID_FOR=(STANDBY_LOGFILE,STANDBY_ROLE)‘