ASM

1,what is the asm?

ASM is an integrated volume manager for storingOracle database files - includingdatafiles, redo logs,backups, controlfiles and spfiles. ASM allows administrators to add and remove disks while the database is on-line and available to users. Data is automaticallystriped across all disks in a disk group, and is optionally mirrored.


2,how to operate?

1)v$

2)asmcmd

weblink for asmcm

3,v$

v$asm_diskgroup: Describes a disk group (number, name, size related info, state, and redundancy type) Contains one row for every open ASM disk in the DB instance.

v$asm_client:  Identifies databases using disk groups managed by the ASM instance. Contains no rows.

v$asm_disk:  Contains one row for every disk discovered by the ASM instance, including disks that are not part of any disk group. Contains rows only for disks in the disk groups in use by that DB instance.

v$asm_file:  Contains one row for every ASM file in every disk group mounted by the ASM instance. Contains rows only for files that are currently open in the DB instance.

v$asm_template:  Contains one row for every template present in every disk group mounted by the ASM instance. Contains no rows

v$asm_alias:  Contains one row for every alias present in every disk group mounted by the ASM instance. Contains no rows.

v$asm_operation:  Contains one row for every active ASM long running operation executing in the ASM instance. Contains no rows.

 


Oracle v$ views for ASM and their x$ tables

The v$ views for ASM  are built upon several ASM fixed tables, called x$ tables.  The x$ tables are not really tables, they are C language structures inside the SGA RAM heap:

X$ Tablev$ View

X$KFGRP

V$ASM_DISKGROUP

X$KFGRP_STAT

V$ASM_DISKGROUP_STAT

X$KFDSK 

V$ASM_DISK

X$KFKIDV$ASM_DISK

X$KFDSK_STAT

V$ASM_DISK_STAT

X$KFKID V$ASM_DISK_STAT

X$KFFIL

V$ASM_FILE

X$KFALS

V$ASM_ALIAS

X$KFTMTA

V$ASM_TEMPLATE

X$KFNCL

V$ASM_CLIENT

X$KFGMG

V$ASM_OPERATION

X$KFENVV$ASM_ATTRIBUTE
X$KFNSDSKIOST

V$ASM_DISK_IOSTAT


4,How to be used by db?

create 2 disk groups - one for data and one for recovery files. Here is an example:

CREATE DISKGROUP data    EXTERNAL REDUNDANCY DISK '/dev/d1', '/dev/d2', '/dev/d3', ....;
CREATE DISKGROUP recover EXTERNAL REDUNDANCY DISK '/dev/d10', '/dev/d11', '/dev/d12', ....;


how you can enable automatic file management with such a setup:

ALTER SYSTEM SET db_create_file_dest   = '+DATA' SCOPE=SPFILE;
ALTER SYSTEM SET db_recovery_file_dest = '+RECOVER' SCOPE=SPFILE;






ASM在不同场景下有不同含义,常见的有自动存储管理(Automatic Storage Management)和汇编语言(Assembly Language)。 ### 自动存储管理(Automatic Storage Management) 自动存储管理是Oracle数据库提供的一项功能,用于简化数据库存储管理。 - **别名机制**:在ASM中,别名是一种方便管理数据文件的方式。例如,创建的数据文件`kel.dbf`实际上相当于一个链接,指向了真正的数据文件`KEL.299.851556787`,使用`ASMCMD > ls -l`命令可以查看相关信息,如下所示: ```plaintext ASMCMD> ls -l Type Redund Striped Time Sys Name DATAFILE UNPROT COARSE JUN 29 23:00:00 Y KEL.299.851556787 DATAFILE UNPROT COARSE JUN 29 19:00:00 Y SYSAUX.258.850693003 DATAFILE UNPROT COARSE JUN 29 19:00:00 Y SYSTEM.259.850692939 DATAFILE UNPROT COARSE JUN 29 19:00:00 Y UNDOTBS1.257.850693039 DATAFILE UNPROT COARSE JUN 29 19:00:00 Y USERS.256.850693045 N kel.dbf => +KEL/IPAP/DATAFILE/KEL.299.851556787 ``` 这样可以通过别名来引用数据文件,而不必记住复杂的实际文件名[^1]。 - **查询ASM与存储信息**:可以使用SQL语句查询ASM磁盘组和磁盘的相关信息。例如,查询磁盘组信息的语句为: ```sql SET line 120 col NAME FOR a20 col PATH FOR a30 col mode_status FOR a11 col voting_files FOR a12 SELECT group_number,name,total_mb,free_mb,voting_files FROM v$asm_diskgroup ORDER BY group_number; ``` 查询磁盘信息的语句为: ```sql SELECT NAME,PATH,mode_status FROM v$asm_disk ORDER BY NAME; ``` 这些语句可以帮助管理员了解ASM磁盘组和磁盘的状态、容量等信息[^2]。 ### 汇编语言(Assembly Language) 汇编语言是一种低级编程语言,它使用助记符来表示机器指令,与特定的计算机体系结构密切相关。汇编语言通常用于需要对计算机硬件进行底层控制的场景,如操作系统开发、嵌入式系统编程等。例如,以下是一个简单的x86汇编语言程序示例,用于将两个寄存器的值相加: ```asm section .data ; 数据段,可定义变量等 section .text global _start _start: ; 将立即数5放入eax寄存器 mov eax, 5 ; 将立即数3放入ebx寄存器 mov ebx, 3 ; 将eax和ebx的值相加,结果存于eax add eax, ebx ; 退出程序 mov eax, 1 ; 系统调用号1表示退出程序 xor ebx, ebx ; 返回值为0 int 0x80 ; 执行系统调用 ``` 这个程序首先将两个值分别放入`eax`和`ebx`寄存器,然后将它们相加,最后退出程序。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值