Oracle归档及数据库存储空间查询
---------------------------------------------------------------------------------1、Oracle 归档日志查询及管理开始 --------------------------------------------------------------------------------------------------------------
-- 查看db_recovery_file_dest_size 大小(数据库工具或者 sqlplus / as sysdba 模式执行)
show parameter db_recovery_file_dest_size;
--查看归档空间具体信息(数据库工具或者 sqlplus / as sysdba 模式执行)
SELECT NAME,
ROUND(SPACE_LIMIT/1024/1024/1024,2) TOTAL_GB,
ROUND(SPACE_USED/1024/1024/1024,2) USED_GB,
ROUND((SPACE_LIMIT - SPACE_USED)/1024/1024/1024,2) FREE_GB,
to_char( (SPACE_USED/SPACE_LIMIT*100), 'fm9999999990.00') || '%' USAGE_PERCENTAGE
FROM v$recovery_file_dest;
🔎 v$recovery_file_dest列含义详解
列名 数据类型 含义与说明
NAME VARCHAR2 闪回恢复区(FRA)的完整路径。它可以是文件系统目录(如 /u01/app/oracle/fast_recovery_area)或ASM磁盘组名称(如 +RECO)。
SPACE_LIMIT NUMBER FRA的总空间上限,单位是字节。这个值由参数 DB_RECOVERY_FILE_DEST_SIZE 设定。
SPACE_USED NUMBER FRA中当前已使用的空间总量,单位也是字节。它包括所有不能通过自动管理策略删除的文件(如归档日志,直到它们被备份或过期)。
SPACE_RECLAIMABLE NUMBER 可以回收的空间(单位:字节)。这部分空间由那些可以被安全删除且不影响数据库恢复能力的文件占用,例如已备份到磁带上的RMAN备份文件、过期的归档日志等。
NUMBER_OF_FILES NUMBER FRA中当前存在的文件总数。
--查看是否是归档模式(sqlplus / as sysdba 模式执行)
archive log list;
---------------------------------------------------------------------------------1、Oracle 归档日志查询及管理完成 --------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------2、Oracle 存储空间开始 --------------------------------------------------------------------------------------------------------------
--方式一、通过asmcmd lsdg 命令查看 该命令用于查看Oracle ASM磁盘组的空间概览和状态信息,是管理ASM存储的核心命令
--切换 grid 用户
su - grid
--输入命令查询
asmcmd lsdg
📊 理解输出字段含义
字段 说明
State 磁盘组状态,常见有 MOUNTED(已挂载)、DISMOUNTED(未挂载)
Type 冗余类型:EXTERN(外部冗余,无镜像)、NORMAL(双向镜像)、HIGH(三向镜像)
Total_MB 磁盘组总空间(MB),冗余前的原始容量
Free_MB 磁盘组剩余空间(MB),同样是冗余前的原始容量
Req_mir_free_MB 为在磁盘故障后恢复冗余而必须保留的不可用空间
Usable_file_MB 实际可用的有效空间,计算公式通常为 (Free_MB - Req_mir_free_MB) / 冗余系数
案例:输出结果
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 4194304 1535988 870008 0 870008 0 N DATA/
MOUNTED EXTERN N 512 512 4096 4194304 307188 220668 0 220668 0 N LOG/
属性 DATA 磁盘组 LOG 磁盘组 说明与解读
State (状态) MOUNTED MOUNTED 磁盘组已挂载,数据库可正常使用
Type (冗余类型) EXTERN EXTERN 外部冗余,无镜像。对于EXTERN类型,Free_MB 等于 Usable_file_MB
Total_MB (总空间) 1,535,988 MB 307,188 MB 磁盘组的总原始容量
Free_MB (剩余空间) 870,008 MB 220,668 MB 冗余前的剩余空间,EXTERN冗余下即为实际可用空间
Usable_file_MB (可用文件空间) 870,008 MB 220,668 MB 关键指标:实际可用来存储数据的空间。此值为正且充足,表明存储空间健康
Req_mir_free_MB 0 MB 0 MB 为恢复冗余而保留的空间。EXTERN冗余下无此需求,故为0
Offline_disks (离线磁盘) 0 0 所有磁盘均在线,状态良好
Voting_files (投票文件) N N 投票文件通常存放在专门的磁盘组(如OCR磁盘组),这里没有是正常的
--方式二、通过v$asm_diskgroup 视图查看
select * from v$asm_diskgroup
📊 主要列涵义速查表
列名 数据类型 描述
GROUP_NUMBER NUMBER 磁盘组在集群中的唯一编号,是标识磁盘组的关键字段。
NAME VARCHAR2(30) 磁盘组的名称。
SECTOR_SIZE NUMBER 物理磁盘扇区的大小(以字节为单位)。
BLOCK_SIZE NUMBER ASM元数据块的大小(以字节为单位)。
ALLOCATION_UNIT_SIZE NUMBER 分配单元(AU)的大小(以字节为单位)。AU是ASM中空间分配的基本单位,通常在创建磁盘组时设定(如1MB)。
STATE VARCHAR2(11) 磁盘组相对于当前实例的状态。常见状态包括:CONNECTED(数据库实例正在使用该磁盘组)、DISMOUNTED(磁盘组已卸载)、MOUNTED(磁盘组已挂载,可供数据库客户端使用)等。
TYPE VARCHAR2(6) 磁盘组的冗余类型。可选值有:EXTERN(外部冗余,依赖硬件RAID)、NORMAL(普通冗余,双路镜像)、HIGH(高冗余,三路镜像)。
TOTAL_MB NUMBER 磁盘组的总容量(MB)。
FREE_MB NUMBER 磁盘组中尚未使用的容量(MB)。
REQUIRED_MIRROR_FREE_MB NUMBER 在发生磁盘故障后,为恢复冗余所需保留的可用空间量(MB)。此值考虑了镜像因素。
USABLE_FILE_MB NUMBER 在考虑镜像并确保故障后能恢复冗余的前提下,可以安全使用的可用空间量(MB)。对于EXTERN冗余的磁盘组,此值约等于FREE_MB;对于NORMAL冗余,约等于FREE_MB / 2。
OFFLINE_DISKS NUMBER 当前处于离线状态的磁盘数量。
COMPATIBILITY VARCHAR2(60) ASM实例挂载此磁盘组所需的最低软件版本,即 compatible.asm 属性值。
DATABASE_COMPATIBILITY VARCHAR2(60) 数据库实例使用此磁盘组中的文件所需的最低软件版本,即 compatible.rdbms 属性值。
VOTING_FILES VARCHAR2(1) 指示该磁盘组是否包含表决文件(Voting File)。Y表示包含,N则表示不包含。
--监控空间趋势的实用查询
SELECT name,
STATE, --磁盘组相对于当前实例的状态。常见状态包括:CONNECTED(数据库实例正在使用该磁盘组)、DISMOUNTED(磁盘组已卸载)、MOUNTED(磁盘组已挂载,可供数据库客户端使用)等
TYPE, --磁盘组的冗余类型。可选值有:EXTERN(外部冗余,依赖硬件RAID)、NORMAL(普通冗余,双路镜像)、HIGH(高冗余,三路镜像
ROUND(total_mb / 1024, 2) as 总空间G,
ROUND((total_mb - free_mb) / total_mb * 100, 2) as 空间百分比,
ROUND(free_mb / 1024, 2) as 剩余空间G
FROM v$asm_diskgroup
ORDER BY name;
---------------------------------------------------------------------------------2、Oracle 存储空间完成 --------------------------------------------------------------------------------------------------------------