oracle archive log 归档日志

本文详细介绍了Oracle数据库中归档参数的配置与使用方法,包括log_archive_dest系列参数的设置及状态含义,如何确保数据安全及正确配置归档路径。

查看和归档相关的参数:

SQL> show parameter archive

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

archive_lag_target integer 0

log_archive_dest string

log_archive_dest_1 string LOCATION=D:oracleoradataarc

log_archive_dest_10 string

log_archive_dest_2 string

log_archive_dest_3 string

log_archive_dest_4 string

log_archive_dest_5 string

log_archive_dest_6 string

log_archive_dest_7 string

log_archive_dest_8 string

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_9 string

log_archive_dest_state_1 string enable

log_archive_dest_state_10 string enable

log_archive_dest_state_2 string enable

log_archive_dest_state_3 string enable

log_archive_dest_state_4 string enable

log_archive_dest_state_5 string enable

log_archive_dest_state_6 string enable

log_archive_dest_state_7 string enable

log_archive_dest_state_8 string enable

log_archive_dest_state_9 string enable

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

log_archive_duplex_dest string

log_archive_format string arch_%S.arc

log_archive_max_processes integer 2

log_archive_min_succeed_dest integer 1

log_archive_start boolean TRUE

log_archive_trace integer 0

remote_archive_enable string true

standby_archive_dest string %ORACLE_HOME%RDBMS

SQL>

log_archive_dest,log_archive_dest_n 这两个参数是不能同时设置的,在企业版或者9i的版本里面基本上都启用log_archive_dest_n这个参数,它指明了归档的位置,为了能够更安全的保证数据的不丢失,一般采用保存两份以上的文件作为备份用。

比如一个设置在本地:

log_archive_log_dest_1=’LOCATION=d:oracleoradatearch’

另一个设置在远程的灾备系统中:

log_archive_log_dest_2=’service=backup_db’

service这个参数是通过oraclenet service进行连接服务的,backup_dbtnsmane.ora中配置的远程的数据库服务名,此时一般是standby数据库,对应的数据库的控制文件应该和主库一致,数据文件的路径如果不同需要在初始化参数文件中指定转化的路径。

可以根据需要设置归档路径是否必须要归档成功,设置如下:

Alter system set log_archive_log_dest_1=’location=d: oracleoradatearch mandatory reopen=100’ scope=spfile;

其中mandatory 是必须要归档成功的,不成功会报错,默认是optional,optional的意思是已经归档成功的路径大于等于log_archive_min_succeed_dest的值时,设置为optional的归档路径归档失败时不会出错,即可以允许出现此路径的归档不成功。Reopen是指arcn进程最小多长时间(单位:秒)去重新打开对应的归档路径当失败的时候。Reopen参数如果设置为零则是说要关闭reopen的操作,也就是说当发生错误后不再尝试去打开归档的路径。这时出现错误,归档日志丢失,需要手工的处理。

采用net service这样的设置时,系统会(remote file server RFS进程)自动地将日志传输到归档目的,但是有时候也会出现错误需要手工将日志拷贝到对应的归档目标路径。

SQL> select DEST_NAME,STATUS,SCHEDULE,DESTINATION,LOG_SEQUENCE,REOPEN_SECS from v$archive_dest;

DEST_NAME STATUS SCHEDULE DESTINATION LOG_SEQUENCE REOPEN_SECS

-------------------- --------- -------- -------------------- ------------ -----------

LOG_ARCHIVE_DEST_1 VALID ACTIVE D:oracleoradataarc 3 300

LOG_ARCHIVE_DEST_2 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_3 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_4 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_5 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_6 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_7 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_8 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_9 INACTIVE INACTIVE 0 0

LOG_ARCHIVE_DEST_10 INACTIVE INACTIVE 0 0

已选择10行。

Statusvalid表示已经被设置使用了,其状态有多种如图表1DESTINATION归档路径,LOG_SEQUENCE是最后归档的日志的序列号,REOPEN_SECS失败后多少秒重新归档。

STATUS

Valid

Enabled

Active

Meaning

VALID

True

True

True

The user has properly initialized the destination, which is available for archiving.

INACTIVE

False

n/a

n/a

The user has not provided or has deleted the destination information.

ERROR

True

True

False

An error occurred creating or writing to the destination file; refer to error data.

FULL

True

True

False

Destination is full (no disk space).

DEFERRED

True

False

True

The user manually and temporarily disabled the destination.

DISABLED

True

False

False

The user manually and temporarily disabled the destination following an error; refer to error data.

BAD PARAM

n/a

n/a

n/a

A parameter error occurred; refer to error data. Usually this state is only seen when the LOG_ARCHIVE_START initialization parameter is not set.

图表1

log_archive_destlog_archive_duplex_dest 这是一组的,但是此时只能备份到本地的目录。

Log_archive_dest=’ d:oracleoradatearch’

Log_archive_duplex_dest=’ e:oracleoradatearch’

log_archive_dest_state_1表示该归档的路径是否使用,此参数可以动态的将归档位置置为可用和非可用。

Alter system set log_archive_dest_state_1=defer;

此时就将暂时停止向log_archive_dest_1这个归档位置归档日志,这个命令执行有个前提条件是满足可用的归档路进要大于等于log_archive_min_succeed_dest的值。当值执行如下命令让其可以再使用时,必须将缺失的命令补全,否则会有日志丢失。Alter system set log_archive_dest_state_1=enable;log_archive_dest_state_1参数的值有ENABLE,DEFER ALTERNATE.alternate参数其默认状态是defered,当一切正常时和defer的作用一样,当其他的归档的路径有问题时就会变为enable状态。

log_archive_format此参数是说明归档日志的命名的格式,此格式很重要的,好的命名格式可以方便的查找需要的日志,例如:log_archive_format=arch_%S.arc,此时归档日志会以redo日志的序列号命名。rac环境,可以使用log_archive_format=arch_%t_%S.arc这样会好一些,可以知道那个进程产生的。

数据库设置归档的步骤:

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> create pfile from spfile;

文件已创建。

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 319888364 bytes

Fixed Size 453612 bytes

Variable Size 285212672 bytes

Database Buffers 33554432 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

SQL> alter database archivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> alter system set log_archive_start=true scope=spfile;

系统已更改。

SQL> alter system set log_archive_dest_1=’location= D:oracleoradataarc ‘ scope=spfile;

系统已更改。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup;

ORACLE 例程已经启动。

SQL> archive log list;

数据库日志模式 存档模式

自动存档 启用

存档终点 D:oracleoradataarc

最早的概要日志序列 30

下一个存档日志序列 32

当前日志序列 32

SQL>

[@more@]

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

转载于:http://blog.itpub.net/7312700/viewspace-1001942/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值