• 如何检查oracle的归档空间是否满了?


    如何检查oracle的归档空间是否满了?

    关于如何检查归档空间是否慢了,大多数人会去先检查放归档的目录的磁盘空间是否满了,通过该归档目录空余情况来判断归档空间是否满了,但我觉得这个方法不一定代表实际情况,你看到的可能是一个表面现象。

    默认情况下我们在dbca建库时,会把归档放在$ORACLE_HOME/ flash_recovery_area  下,并且oracle默认给FRA配置的大为2g

    这里需要足以两个参数:

    db_recovery_file_dest                    string      /oracle/flash_recovery_area
    db_recovery_file_dest_size           big integer 2G

    这里总结一句,如果db_recovery_file_dest 下的存放的归档大小达到db_recovery_file_dest_size 即使该目录下仍然有磁盘空间剩余,oracle也不会去写。

    这里我建议按照如下步骤去确定:归档空间是否满了?

    1.首先从系统层面确定归档目录存放的磁盘空间情况:

    [oracle@localhost bdump]$ df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup00-LogVol00 26G   12G   14G  46%      /
    /dev/sda2                                          19G   16G  2.8G  85%     /oracle
    /dev/sda1                                          99M   24M   71M  25%     /boot
    tmpfs                                                978M  508M  470M  52%  /dev/shm

    2. 确定归档存放目录,归档存放目录大小

    SQL> archive log list; 
    Database log mode              Archive Mode
    Automatic archival             Enabled
    Archive destination            USE_DB_RECOVERY_FILE_DEST  -------这里默认使用的是DB_RECOVERY_FILE_DEST 
    Oldest online log sequence     17
    Next log sequence to archive   20
    Current log sequence           20

    ----也可以按照以下方式查询归档放置的地方

    SQL> show parameter db_         

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    db_keep_cache_size                   big integer 0
    db_name                                     string      lixora
    db_recovery_file_dest                string      /oracle/flash_recovery_area
    db_recovery_file_dest_size           big integer 2G
    db_recycle_cache_size                big integer 0
    db_unique_name                       string      lixora

    -----这里可以看到闪回恢复区里的空间使用情况:
    SQL> select * From v$flash_recovery_area_usage;

    FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
    ------------ ------------------ ------------------------- ---------------
    CONTROLFILE                   0                         0               0
    ONLINELOG                  4.88                         0               1
    ARCHIVELOG                76.05                         0              47
    BACKUPPIECE                 3.1                         0               3
    IMAGECOPY                     0                         0               0
    FLASHBACKLOG                  0                         0               0

    6 rows selected.


    ------注意这一步才是真正查看归档空间的实际使用情况:
    SQL> select * from v$recovery_file_dest;

    NAME                                         SPACE_LIMIT                     SPACE_USED         SPACE_RECLAIMABLE        NUMBER_OF_FILES
    -----------                                       ----------                                 -----------------                   ---- ---------------              -------------------
    /oracle/flash_recovery_area              2147483648                      1804771840                 0                                         51

    但是还是在系统层面去查看磁盘空间。

  • 相关阅读:
    C++ linux 共享内存的学习
    C++11 result_of 学习
    C++线程池 基于Cpp98的实现 学习2 未完待续
    Piecewise Smooth Subdivision Surfaces with Normal Control 未完待续
    C++线程池 基于C的实现 学习1
    C++ 标准函数 。abort & typeid
    线段树(区间更新, 区间查询 ,线段染色)
    bfs(标记整个棋盘)
    stringstream流分割空格
    lcm与gcd
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3395374.html
Copyright © 2020-2023  润新知