zoukankan      html  css  js  c++  java
  • ORACLE 归档模式

    上午在红帽5上安装ORACLE成功。建库的时候特意未启用归档模式。

    SQL> select name,open_mode,log_mode from v$database;
    
    NAME      OPEN_MODE            LOG_MODE
    --------- -------------------- ------------
    SZPDCORA  READ WRITE           NOARCHIVELOG
    SQL> archive log list
    Database log mode              No Archive Mode
    Automatic archival             Disabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     6
    Current log sequence           8

    可以看到没有启用。

    更改归档模式步骤:

    SQL> shutdown immediate
    SQL> startup nomount
    SQL> alter database mount;
    SQL> alter database archivelog;
    SQL> alter database open;
    
    Database altered.

    再看一下归档模式

    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST
    Oldest online log sequence     6
    Next log sequence to archive   8
    Current log sequence           8
    SQL> select name,open_mode,log_mode from v$database;

    可以看到默认归档日志存放路径在闪回区($ORACLE_BASE/flash_recovery_area)。对于这个路径,ORACLE有一个限制,就是默认只有2G的空间,而且不只是归档日志的默认路径,也是备份文件和闪回日志的默认地址,这样的话归档日志锁使用的空间就达不到2G,在没有设置好这个路径大小的情况下,很多系统都遇到过归档日志满而无法归档导致数据库夯住的问题
    空间不够了,要么更改闪回区大小;要么切换归档日志到其他目录

    SQL> show parameter db_recovery
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest                string      /u01/app/oracle/flash_recovery
                                                     _area
    db_recovery_file_dest_size           big integer 3852M

    可以看到默认闪回区的位置。现在修改为 /u01/app/oracle/archivelogs

    SQL> alter system set log_archive_dest_1='location=/u01/app/archivelogs' scope=both;
    
    System altered.
    
    SQL> archive log list;
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            /u01/app/archivelogs
    Oldest online log sequence     6
    Next log sequence to archive   8
    Current log sequence           8

     OK,手动切换下日志 看看效果

    SQL> alter system switch logfile;
    
    System altered.
    [oracle@localhost archivelogs]$ ls
    1_8_795179693.dbf

    生成1_8_795179693.dbf。默认后缀是dbf
    查看归档日志命名格式:

    SQL> show parameter log_archive_format
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    log_archive_format                   string      %t_%s_%r.dbf

    顺便看一下参数详解:
    %s log sequence number
    %S log sequence number, zero filled
    %t thread number 
    %T thread number, zero filled 线程号,可以理解成是节点号,如果不是RAC环境,%T都是1
    %R 场景号

  • 相关阅读:
    C语言编程如何实现输出一个回型递增的N阶矩阵(螺旋矩阵)
    cookie测试要点
    一个网页怎么开展测试
    web和app区别
    app功能测试
    复习Linux笔记
    学习python
    微信小程序测试流程
    Redis
    记录
  • 原文地址:https://www.cnblogs.com/iImax/p/2707518.html
Copyright © 2011-2022 走看看