查看和归档相关的参数:
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这个参数是通过oracle的net service进行连接服务的,backup_db是tnsmane.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行。
Status为valid表示已经被设置使用了,其状态有多种如图表1,DESTINATION归档路径,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_dest和log_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/
本文详细介绍了Oracle数据库中归档参数的配置与使用方法,包括log_archive_dest系列参数的设置及状态含义,如何确保数据安全及正确配置归档路径。
896

被折叠的 条评论
为什么被折叠?



