ITPub博客

首页 > 数据库 > Oracle > 日志文件和归档日志文件的关系以及如何切换日志

日志文件和归档日志文件的关系以及如何切换日志

原创 Oracle 作者:贺子_DBA时代 时间:2014-08-04 18:03:05 0 删除 编辑

日志文件:就每个数据库而言,要保证其正常运行,至少必须有两个联机重做日志组,要保证安全 至少有两个成员,这两个成员是一样的,归档日志文件是对联机重做日志的归档(可以理解为备份) 可以通过修改参数来控制归档日志文件的生成个数(即可以备份多份)

SYS@ENMOEDU> show parameter arch                #显示带有arch字段的参数

 

NAME                                 TYPE        VALUE

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

archive_lag_target                   integer     0

log_archive_config                   string

log_archive_dest                     string               #改此参数来控制生成归档  日志的个数(可以对同一个redo 生成多个归档)  下面我是做了两个归档  注意要在不同路径下否则会报错。

SYS@ENMOEDU>  alter system set log_archive_dest_1='location=/home/oracle';        #生成的第一个归档

 

System altered.

 

SYS@ENMOEDU>  alter system set log_archive_dest_2='location=/home/oracle/arch';    #第二个归档  

 

SYS@ENMOEDU> alter system archive log current;                 #归档当前日志文件,而且还切换了日志组

之后你在进入上边两个目录下  就会找到那两个一模一样的  归档日志,

SYS@ENMOEDU> select * from v$log;      #查看日志组   以及各组成员个数

 

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC

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

STATUS           FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME

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

         1          1         94   52428800        512          1 YES

ACTIVE                 1539854 04-AUG-14      1539913 04-AUG-14

 

         2          1         95   52428800        512          1 YES

ACTIVE                 1539913 04-AUG-14      1539994 04-AUG-14

 

         3          1         96   52428800        512          1 NO

CURRENT                1539994 04-AUG-14   2.8147E+14

SYS@ENMOEDU> select * from v$logfile;              #查看redo日志路径

 

    GROUP# STATUS  TYPE

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

MEMBER

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

IS_

---

         1         ONLINE

/u01/app/oracle/oradata/ENMOEDU/redo01.log

NO

 

         2         ONLINE

/u01/app/oracle/oradata/ENMOEDU/redo02.log

NO

 

             3         ONLINE

/u01/app/oracle/oradata/ENMOEDU/redo03.log

NO

注意:要想对同一份redo日志文件进行多份归档,必须在不同路径下,否则会报错,但是同一redo组的两个一样的成员,可以是在同一个路径下,

接下来描述日志切换和归档当前的日志文件的区别:

 

强制日志切换和归档当前的重做日志的命令的区别 alter system switch logfile和alter system archive log current的区别 我的理解: 1、alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件,若自动归档打开,就归档当前的重做日志,若自动归档没有打开,就不归档当前重做日志。 ( 切换日志文件,但未必对其进行归档。主要还看自动归档是否打开) 2、alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。 ( 既切换日志文件,又对其进行归档!) 3、主要的区别在于:  ALTER SYSTEM SWITCH LOGFILE对单实例数据库或RAC中的当前实例执行日志切换; 而ALTER SYSTEM ARCHIVE LOG CURRENT会对数据库中的所有实例执行日志切换。

 

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

请登录后发表评论 登录
全部评论
10年数据库管理员从业经历,熟悉Oracle、mysql、tidb、oceanbase、redis、 mongodb 、python等技术栈,持有11g ocm 、mysql 5.7 ocp 、tidb 5.0 ptcp、tidb 6.0 ptca、oceanbase obcp等

注册时间:2014-05-12

  • 博文量
    327
  • 访问量
    2148985