官方文档对于V$ASM_DISK的描述是:​​V$ASM_DISK​ displays one row for every disk discovered by the Oracle Automatic Storage Management (Oracle ASM) instance, including disks that are not part of any disk group.翻译过来是:V$ASM_DISK为Oracle ASM实例发现的每个磁盘显示一行,包括不属于任何磁盘组的磁盘。

使用V$ASM_DISK查询磁盘情况。

SQL> set linesize 200
SQL> col name for a20;
SQL> col path for a25;
SQL> col state for a10;
SQL> col header_status for a15;
SQL> select name,path,state,mount_status,header_status from v$asm_disk;

NAME PATH STATE MOUNT_STATUS HEADER_STATUS
-------------------- ------------------------- ---------- --------------------- ---------------
ARCHIVE_0000 /dev/asm_archive NORMAL CACHED MEMBER
DATA_0001 /dev/asm_data1 NORMAL CACHED MEMBER
DATA_0000 /dev/asm_data NORMAL CACHED MEMBER
OCR_0000 /dev/asm_ocr NORMAL CACHED MEMBER

SQL>

V$ASM_DISK的视图结构

SQL> desc v$asm_disk
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP_NUMBER NUMBER
DISK_NUMBER NUMBER
COMPOUND_INDEX NUMBER
INCARNATION NUMBER
MOUNT_STATUS VARCHAR2(7)
HEADER_STATUS VARCHAR2(12)
MODE_STATUS VARCHAR2(7)
STATE VARCHAR2(8)
REDUNDANCY VARCHAR2(7)
LIBRARY VARCHAR2(64)
OS_MB NUMBER
TOTAL_MB NUMBER
FREE_MB NUMBER
HOT_USED_MB NUMBER
COLD_USED_MB NUMBER
NAME VARCHAR2(30)
FAILGROUP VARCHAR2(30)
LABEL VARCHAR2(31)
PATH VARCHAR2(256)
UDID VARCHAR2(64)
PRODUCT VARCHAR2(32)
CREATE_DATE DATE
MOUNT_DATE DATE
REPAIR_TIMER NUMBER
READS NUMBER
WRITES NUMBER
READ_ERRS NUMBER
WRITE_ERRS NUMBER
READ_TIMEOUT NUMBER
WRITE_TIMEOUT NUMBER
READ_TIME NUMBER
WRITE_TIME NUMBER
BYTES_READ NUMBER
BYTES_WRITTEN NUMBER
PREFERRED_READ VARCHAR2(1)
HASH_VALUE NUMBER
HOT_READS NUMBER
HOT_WRITES NUMBER
HOT_BYTES_READ NUMBER
HOT_BYTES_WRITTEN NUMBER
COLD_READS NUMBER
COLD_WRITES NUMBER
COLD_BYTES_READ NUMBER
COLD_BYTES_WRITTEN NUMBER
VOTING_FILE VARCHAR2(1)
SECTOR_SIZE NUMBER
LOGICAL_SECTOR_SIZE NUMBER
FAILGROUP_TYPE VARCHAR2(7)
CON_ID NUMBER
THIN_PROVISION_CAPABLE VARCHAR2(1)
DATA_INTEGRITY_CAPABLE VARCHAR2(1)
SITE_NAME VARCHAR2(30)
SITE_GUID VARCHAR2(33)
FAILGROUP_LABEL VARCHAR2(30)
SITE_LABEL VARCHAR2(30)
SITE_STATUS VARCHAR2(11)

V$ASM_DISK的中文描述。官方文档地址:​​V$ASM_DISK (oracle.com)​

Column

Datatype

Description

​GROUP_NUMBER​

​NUMBER​

包含磁盘的磁盘组的编号(视图的外键)​​V$ASM_DISKGROUP​

​DISK_NUMBER​

​NUMBER​

分配给磁盘组内磁盘的编号

​COMPOUND_INDEX​

​NUMBER​

一个 32 位编号,由高阶 8 位的磁盘组编号和低阶 24 位的磁盘编号组成(用于高效访问视图)

​INCARNATION​

​NUMBER​

磁盘的化身编号

​MOUNT_STATUS​

​VARCHAR2(7)​

磁盘相对于组挂载的每个实例状态:

  • ​MISSING​​- Oracle ASM 元数据指示已知该磁盘是 Oracle ASM 磁盘组的一部分,但在存储系统中未找到具有指示名称的磁盘
  • ​CLOSED​​- 存储系统中存在磁盘,但 Oracle ASM 未访问磁盘
  • ​OPENED​​- 磁盘存在于存储系统中,并且正在由 Oracle ASM 访问。这是数据库实例中属于实例正在使用的磁盘组的磁盘的正常状态。
  • ​CACHED​​- 磁盘存在于存储系统中,并且是 Oracle ASM 实例正在访问的磁盘组的一部分。这是 Oracle ASM 实例中属于已装载磁盘组的磁盘的正常状态。
  • ​IGNORED​​- 磁盘存在于系统中,但由于以下原因之一而被 Oracle ASM 忽略:
  • 系统库检测到该磁盘,但由于 Oracle ASM 库发现了同一磁盘而被忽略
  • Oracle ASM 已确定磁盘标头声明的成员身份不再有效
  • ​CLOSING​​- Oracle ASM 正在关闭此磁盘

​HEADER_STATUS​

​VARCHAR2(12)​

发现时看到的磁盘的每个实例状态:

  • ​UNKNOWN​​- 未读取 Oracle ASM 磁盘标头
  • ​CANDIDATE​​​- 磁盘不是磁盘组的一部分,可以使用以下语句添加到磁盘组​​ALTER DISKGROUP​
  • ​INCOMPATIBLE​​- 磁盘报头中的版本号与 Oracle ASM 软件版本不兼容
  • ​PROVISIONED​​​- 磁盘不是磁盘组的一部分,可以使用语句添加到磁盘组。标头状态与标头状态不同,因为标头状态意味着管理员已执行其他特定于平台的操作,以使磁盘可用于 Oracle ASM。​​ALTER DISKGROUP​​​​PROVISIONED​​​​CANDIDATE​​​​PROVISIONED​
  • ​MEMBER​​​- 磁盘是现有磁盘组的成员。不应尝试将磁盘添加到其他磁盘组。该语句将拒绝此类添加,除非用该选项覆盖。​​ALTER DISKGROUP​​​​FORCE​
  • ​FORMER​​​- 磁盘曾经是磁盘组的一部分,但已从该组中干净利落。可以使用该语句将其添加到新的磁盘组中。​​ALTER DISKGROUP​
  • ​CONFLICT​​- 由于冲突,未挂载 Oracle ASM 磁盘
  • ​FOREIGN​​- 磁盘包含由 Oracle ASM 以外的 Oracle 产品创建的数据。这包括数据文件、日志文件和 OCR 磁盘。

​MODE_STATUS​

​VARCHAR2(7)​

有关允许对磁盘发出哪些类型的 I/O 请求的全局状态:

  • ​ONLINE​​- 磁盘处于联机状态且运行正常。装入磁盘时尝试读取和写入。读取作为磁盘发现的一部分进行尝试。
  • ​OFFLINE​​- 磁盘处于脱机状态,不允许访问数据。不尝试读取和写入。脱机磁盘在逻辑上仍为其磁盘组的一部分。

​STATE​

​VARCHAR2(8)​

磁盘相对于磁盘组的全局状态:

  • ​UNKNOWN​​- Oracle ASM 磁盘状态未知(通常磁盘未挂载)
  • ​NORMAL​​- 磁盘处于联机状态且运行正常
  • ​ADDING​​- 磁盘正在添加到磁盘组,并且正在等待已装载磁盘组的所有实例的验证
  • ​DROPPING​​- 磁盘已手动脱机,磁盘的空间分配或数据访问停止。将开始重新平衡,将数据从磁盘重新定位到磁盘组中的其他磁盘。重新平衡完成后,磁盘将从组中排出。
  • ​HUNG​​- 磁盘删除操作无法继续,因为没有足够的空间从要删除的磁盘重新定位数据
  • ​FORCING​​- 正在从磁盘组中删除磁盘,而不尝试卸载其数据。如果可能,将从冗余副本中恢复数据。

​REDUNDANCY​

​VARCHAR2(7)​

磁盘的硬件冗余:

  • ​UNKNOWN​
  • ​UNPROT​
  • ​MIRROR​
  • ​PARITY​

注意:仅当存在支持返回硬件冗余信息的 ASMLIB 时,此列才有效。此列与磁盘所属磁盘组的冗余无关。

​LIBRARY​

​VARCHAR2(64)​

发现磁盘的库的名称

​OS_MB​

​NUMBER​

主机操作系统报告的磁盘大小(以 MB 为单位)

​TOTAL_MB​

​NUMBER​

磁盘的总容量(以兆字节为单位)

​FREE_MB​

​NUMBER​

磁盘的未使用容量(以 MB 为单位)

​HOT_USED_MB​

​NUMBER​

热点区域中已用兆字节数

​COLD_USED_MB​

​NUMBER​

冷区域中已用兆字节数

​NAME​

​VARCHAR2(30)​

磁盘的名称

​FAILGROUP​

​VARCHAR2(30)​

包含磁盘的故障组的名称

​LABEL​

​VARCHAR2(31)​

发现返回的名称的磁盘标签部分

​PATH​

​VARCHAR2(256)​

发现返回的名称的操作系统路径名部分

​UDID​

​VARCHAR2(64)​

发现返回的名称的唯一设备 ID 部分

​PRODUCT​

​VARCHAR2(32)​

制造商的名称和产品的名称。具有相同产品 ID 的所有磁盘将具有相同的性能和可靠性特征。

​CREATE_DATE​

​DATE​

将磁盘添加到磁盘组的日期和时间

​MOUNT_DATE​

​DATE​

第一个实例挂载磁盘的日期和时间

​REPAIR_TIMER​

​NUMBER​

磁盘自动丢弃(如果未发生故障)的剩余秒数​​0​

​READS​

​NUMBER​

磁盘的 I/O 读取请求总数

​WRITES​

​NUMBER​

磁盘的 I/O 写入请求总数

​READ_ERRS​

​NUMBER​

磁盘的失败 I/O 读取请求总数

​WRITE_ERRS​

​NUMBER​

磁盘的失败 I/O 写入请求总数

​READ_TIMEOUT​

​NUMBER​

超时的读取 I/O 数

​WRITE_TIMEOUT​

​NUMBER​

超时的写入 I/O 数

​READ_TIME​

​NUMBER​

如果初始化参数设置为(如果设置为​​TIMED_STATISTICS​​​​true​​​​0​​​​false​​)

​WRITE_TIME​

​NUMBER​

如果初始化参数设置为(如果设置为​​TIMED_STATISTICS​​​​true​​​​0​​​​false​​)

​BYTES_READ​

​NUMBER​

从磁盘读取的总字节数

​BYTES_WRITTEN​

​NUMBER​

写入磁盘的总字节数

​PREFERRED_READ​

​VARCHAR2(1)​

首选读取失败组的状态:

  • ​U​​- 磁盘组没有首选读取故障组
  • ​Y​​- 磁盘是首选的读取磁盘
  • ​N​​- 磁盘不是首选的读取磁盘

对于具有一个或多个首选读取故障组的磁盘组,如果磁盘位于首选读取故障组之一中,则此列的值为 ;否则就是 。​​Y​​​​N​

​HASH_VALUE​

​NUMBER​

Oracle ASM 磁盘的唯一哈希值,使用 Oracle ASM 磁盘名称(由 中的列指定)和 Oracle ASM 磁盘组名称(由 中的列指定)计算。​​NAME​​​​v$asm_disk​​​​NAME​​​​v$asm_diskgroup​

​HOT_READS​

​NUMBER​

从磁盘上的热区域读取的次数

​HOT_WRITES​

​NUMBER​

对磁盘上热区域的写入次数

​HOT_BYTES_READ​

​NUMBER​

从磁盘上的热区域读取的字节数

​HOT_BYTES_WRITTEN​

​NUMBER​

写入磁盘上热区域的字节数

​COLD_READS​

​NUMBER​

从磁盘上的冷区域读取的次数

​COLD_WRITES​

​NUMBER​

对磁盘上冷区域的写入次数

​COLD_BYTES_READ​

​NUMBER​

从磁盘上的冷区域读取的字节数

​COLD_BYTES_WRITTEN​

​NUMBER​

写入磁盘上冷区域的字节数

​VOTING_FILE​

​VARCHAR2(1)​

指示磁盘是否包含投票文件 (​​Y​​​) (​​N​​)

​SECTOR_SIZE​

​NUMBER​

物理块大小(以字节为单位)

​LOGICAL_SECTOR_SIZE​

​NUMBER​

显示磁盘的逻辑扇区大小值(以字节为单位)。这是磁盘可以完成的最小可能的 I/O。

如果列的值为 ,而列中的值为 ,则磁盘支持 512 扇区大小模拟。这意味着该磁盘可用于 512 本机磁盘组和 4096 本机磁盘组。​​LOGICAL_SECTOR_SIZE​​​​512​​​​SECTOR_SIZE​​​​4096​

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​FAILGROUP_TYPE​

​VARCHAR2(7)​

故障组的类型:

  • ​REGULAR​
  • ​QUORUM​

​CON_ID​

​NUMBER​

数据所属容器的 ID。可能的值包括:

  • ​0​​:此值用于包含与整个 CDB 相关的数据的行。此值还用于非 CDB 中的行。
  • ​1​​:此值用于包含仅与根目录有关的数据的行
  • n:其中n是包含数据的行的适用容器 ID

对于此视图,值始终为 。​​0​

​THIN_PROVISION_CAPABLE​

​VARCHAR2(1)​

指示磁盘是否支持存储精简资源调配 (​​Y​​​) (​​N​​)

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​DATA_INTEGRITY_CAPABLE​

​VARCHAR2(1)​

指示磁盘是否支持数据完整性功能 (​​Y​​​) (​​N​​)

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​SITE_NAME​

​VARCHAR2(30)​

特定磁盘所属站点的名称

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​SITE_GUID​

​VARCHAR2(33)​

特定磁盘所属站点的 GUID

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​FAILGROUP_LABEL​

​VARCHAR2(30)​

这是磁盘所属故障组的建议名称,由发现返回

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​SITE_LABEL​

​VARCHAR2(30)​

这是磁盘所属站点的建议名称,由发现返回

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​SITE_STATUS​

​VARCHAR2(11)​

此列仅针对 Oracle ASM 扩展磁盘组中的磁盘进行填充。站点状态在每次合作关系和状态表 (PST) 刷新后或 PST 从磁盘读取到内存时计算。可能的状态包括:

  • ​UNKNOWN​​:这是执行任何检查之前的状态。
  • ​UNAVAILABLE​​:这是站点中所有磁盘都处于脱机状态时的状态。
  • ​COMPROMISED​​:当有足够多的磁盘或 PST 副本处于脱机状态时,站点无法再提供数据可用性。
  • ​AVAILABLE​​:站点内有足够的冗余来提供数据可用性,以防另一个站点受到威胁或不可用时的状态。

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

>>>如果文章对你有所帮助,欢迎关注点赞收藏评论,谢谢!<<<