• 技术文章 >数据库 >mysql教程

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

    2016-06-07 17:32:54原创512

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

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

    默认情况下我们在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

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

    相关阅读:

    Oracle 11G RAC 修改归档模式

    Oracle手工完全恢复案例(归档模式)

    Oracle手工恢复案例(非归档模式)

    Oracle归档模式设置的相关指令与简要说明

    Oracle 10g 归档模式下备份脚本

    linux

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:ORA-01403: 未找到任何数据 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • hive和mysql的区别有哪些• mysql数据库的超级管理员名称是什么• mysql怎么连接数据库• mysql事务隔离级别有哪些• count(*)为什么很慢?原因分析
    1/1

    PHP中文网