Question: I understand that Automatic
Storage Management (ASM) has an instance, but I cannot find the data
dictionary tables for the ASM instance. How do I tell what users
are using the ASM instance?
Answer:
The ASM instance is not a full database instance, just the v$ and x$
memory structures needed to manage the file storage mapping between
physical files and disk spindles.
Remember, it's the whole database instance
that connects to ASM, not any individual users or sessions.
ASM has several v$ views (which are built from x$ fixed structures) that
are used to manage the ASM instance file and disk details:
- V$ASM_DISKGROUP (made from X$KFGRP): performs disk discovery
and lists diskgroups
- V$ASM_DISKGROUP_STAT (made from X$KFGRP_STAT): Lists
the diskgroups
- V$ASM_DISK (made from X$KFDSK and X$KFKID): Contains disk
details and usage statistiocs (e.g. ASM disk discovery).
- V$ASM_DISK_STAT (made from X$KFDSK_STAT and X$KFKID):
Contains disk details and usage statistiocs
- V$ASM_FILE (made from X$KFFIL): Lists the ASM files
- V$ASM_ALIAS (made from X$KFALS): Contains the ASM file and
directory aliases.
- V$ASM_CLIENT (made from (X$KFTMTA): Lists all instances
that are connected to ASM the ASM instance
- V$OPERATION (made from X$KFGMG): Contains the ASM file
striping (re-balancing) operations
- X$KFFXP: Contains the extent mapping table for ASM files
Below we see the difference in contents for these v$ ASM view in
the ASM instance and each database instance. Note that the ASM
instance does not have the row data as the database instance:
V$ View
Name |
ASM Instance |
Database Instance |
v$asm_alias |
Displays every alias for all disk groups that are
mounted by the ASM instance |
Empty view. |
v$asm_client |
Displays every instance that is
managed by the ASM instance.
|
Displays an ASM instance ONLY if the database instance has open
ASM files.
|
v$asm_disk |
Displays each physical disk spindle that is discovered by
the ASM instance. |
Displays every disk for all ASM disk groups that are in use by the
database instance.
|
v$asm_diskgtoup |
Displays every disk group that exists in the ASM
instance (at discovery time). |
Displays ach disk group that is currently mounted to the ASM
instance.
|
v$asm_file |
Displays all files within each disk group that is mounted by
the ASM instance. |
Empty view. |
v$asm_operation |
Similar to
v$session_longops, in function, v$asm_operation
shows every file that is used in every long running operation
executing within the ASM instance. |
Empty view. |
v$asm_template |
Displays all templates within each disk group
that is mounted by the ASM instance. |
Displays each template present or each mounted disk group,
but only for disk groups that are in-use by the database instance.
|