zoukankan      html  css  js  c++  java
  • oracle归档日志

    原创转载请注明地址

    归档日志:非活动的重做日志,用来保存所有的重做历史记录。

    什么时候写归档日志:当数据库处于archivelog模式并重做日志切换的时候,后台进程ARCH会启动将重做日志的内容完整的保存到归档日志中。

    日志操作模式:

             NOARCHIVELOG模式不保留重做日志记录的历史,只能保护例程失败不能保护介质失败。

                       特点:

                       LGWR进程写日志时候覆盖原先的重做日志内容

                       如果日志内容被覆盖,只能恢复到过去完整备份的点

                       执行数据库备份时候,必须关闭数据库

                       执行备份时候,必须备份所有数据文件和控制文件

             ARCHIVELOG模式保留重做日志记录的历史,不仅能保护例程失败而且可以保护介质失败。

                       特点:

                       出现数据文件丢失损坏,可以防止数据丢失。

                       数据库处于open状态的时候,也可以备份数据库

                       出现数据文件损坏的时候可以在Open状态下进行恢复

                       执行数据库恢复的时候,可以进行不完整恢复,基于(SCN,时间点,日志序列号)等等

    选择:如果数据库用于生产环境并且数据变化频繁应该采用ARCHIVELOG模式

            

    查看数据库的日志模式

             SQL> SELECT LOG_MODE FROM V$DATABASE;

             LOG_MODE

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

             ARCHIVELOG

    显示归档日志信息:

             SQL> archive log list

             Database log mode        Archive Mode

             Automatic archival         Enabled

             Archive destination        USE_DB_RECOVERY_FILE_DEST

             Oldest online log sequence     18

             Next log sequence to archive   20

             Current log sequence             20

             SQL> col name format a40

             SQL> select name,sequence#,first_change# from v$archived_log;--显示归档日志信息

             NAME                                              SEQUENCE#          FIRST_CHANGE#

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

             /home/oracle_11/app/flash_recovery_area/ 13            989430

             ORCL/archivelog/2014_03_07/o1_mf_1_13_9k

             m0lbfq_.arc

             /home/oracle_11/app/flash_recovery_area/ 14         1017107

             ORCL/archivelog/2014_04_24/o1_mf_1_14_9o

             l713oz_.arc

             /home/oracle_11/app/flash_recovery_area/ 15         1049472

             ORCL/archivelog/2014_04_28/o1_mf_1_15_9o

             wmkc6r_.arc

             NAME                                              SEQUENCE#          FIRST_CHANGE#

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

             /home/oracle_11/app/flash_recovery_area/ 16         1073533

             ORCL/archivelog/2014_04_29/o1_mf_1_16_9o

             z8143l_.arc

             /home/oracle_11/app/flash_recovery_area/ 17         1098869

             ORCL/archivelog/2014_05_04/o1_mf_1_17_9p

             dcvm77_.arc

             /home/oracle_11/app/flash_recovery_area/ 18         1124400

             ORCL/archivelog/2014_05_05/o1_mf_1_18_9p

             NAME                                              SEQUENCE#          FIRST_CHANGE#

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

             gnc6gx_.arc

             /home/oracle_11/app/flash_recovery_area/ 19         1158501

             ORCL/archivelog/2014_05_05/o1_mf_1_19_9p

             h2d9d9_.arc

             SQL>select destination from v$archive_dest;--归档日志位置

             (注意:oracle10默认是把存档终点设置为USE_DB_RECOVERY_FILE_DEST,所以归档日志默认是保存在oracle系统的闪回恢复区(Flash recovery area)的。

             默认的db_recovery_file_dest是2G,由于归档日志太大,撑满了闪回恢复区,启动数据报ORA-00257错误,

             所以一般建议将存档终点修改为操作系统的适当目录。)

    改变数据库归档模式:

                       SHUTDOWN IMMEDIATE

                       STARTUP MOUNT

                       ALTER DATABASE ARCHIVELOG|NOARCHIVELOG

                       ALTER DATABASE OPEN

    手动归档:

                       ALTER DATABASE ARCHIVELOG MANUAL

                       ALTER SYSTEM ARCHIVELOG ALL|CURRENT

    配置归档日志进程 :ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3(默认进程数目为2,

                                 一般不需要修改该参数,Oracle会根据归档情况自动启动额外的归档进程)

    配置归档日志位置:默认归档日志位于db_recovery_file_dest 缺省为$ORACLE_BASE/flash_recovey_area

                        配置1-2个:

                            ALTER SYSTEM SET LOG_ARCHIVE_DEST='路径';

                                ALTER SYSTEM SET LOG_ARCHIVE_duplex_DEST='路径';

                        配置多个:

                                 ALTER SYSTEM SET LOG_ARCHIVE_DEST='';

                                 ALTER SYSTEM SET LOG_ARCHIVE_duplex_DEST='';

                                 ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='location=路径'

                                 ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='location=路径'

                                 ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='location=路径'

                                 ALTER SYSTEM SET LOG_ARCHIVE_DEST_4='service=standby'

                       ( 对于远程归档位置,SERVICE选项需要指定远程数据库的网络服务名(在tnsnames.ora文件中配置))

    归档日志命名格式

                设置LOG_ARCHIVE_FORMAT参数,Unix下的缺省设置为LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf

                    %s: 日志序列号:

                    %S: 日志序列号(带有前导)

                    %t: 重做线程编号.

                    %T: 重做线程编号(带有前导)

                    %a: 活动ID号

                    %d: 数据库ID号

                    %r RESETLOGS的ID值.

                  alter system set log_archive_format = 'arch_%t_%s_%r.arc';

  • 相关阅读:
    Java职业生涯规划
    Java类加载器总结
    Java字节流与字符流的区别
    Java堆和栈的区别
    详解Java类的生命周期
    Java编程常见问题汇总
    Java总结输入流输出流
    Java NIO:浅析I/O模型
    perl 处理文件路径的一些模块
    Delphi第三方控件安装卸载指南
  • 原文地址:https://www.cnblogs.com/xuzhiwei/p/3710479.html
Copyright © 2011-2022 走看看