回到顶部
您的当前位置: 编程语言> 数据库> ORACLE
ASM常用命令
2014-04-01 22:34:06
标签: 网络整理 ORACLE ASM 常用 命令

 Oracle ASM 与 Oracle 数据库紧密集成在一起,并与 Oracle 的数据管理工具套件配合工作。它可以简化数据库存储管理,并提供原始磁盘 I/O 的性能。

1、配置 ASMLib。
以 root 用户身份在两个节点上配置 ASMLib。

命令: # /etc/init.d/oracleasm configure

 

2、创建 ASM 磁盘。
以 root 用户身份在任何一个节点上创建 ASM 磁盘。

命令:# /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1

3、查看ASM磁盘
以root用户在任何一个节点上执行下面命令:

命令:# /etc/init.d/oracleasm listdisks

4、启动ASM实例命令

$ export ORACLE_SID='+ASM'
$ sqlplus /nolog
SQL> STARTUP;
--不打开磁盘组启动ASM实例
SQL> startup nomount
SQL> alter diskgroup all mount
--ASM是依赖于CSS守护进程的,因此在启动ASM 实例前要确保css守护进程已经启动。
--检查CSS守护进程是否启动的命令
SQL> crsctl check cssd

5、查看ASM管理的磁盘及磁盘组信息

$ export ORACLE_SID='+ASM'
$ sqlplus /nolog
$ conn /as sysdba
SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
---查看ASM实例名及状态
SQL> select instance_name,status from v$instance;

6、创建磁盘组
--获取磁盘列表(磁盘状态:CANDIDATE-该磁盘从来没有分配给任何ASM磁盘组;FORMER-该磁盘曾分配给ASM磁盘组,但目前处于未分配状态;PROVISIONED-正在使用ASMLib,并且该磁盘尚未分配给磁盘组。
SQL> select * from V$ASM_DISK;
--创建磁盘组

SQL> CREATE DISKGROUP dgroupA NORMAL REDUNDANCY
        FAILGROUP controller1 DISK
           'dev/a1' NAME diskA1 SIZE 120G FORCE,
    'dev/a2' NAME diskA2
    'dev/a3'
        FAILGROUP controller2 DISK
      'dev/b1' NAME diskB1
    'dev/b2' NAME diskB2
    'dev/b3';

7、删除磁盘组

SQL> DROP DISKGROUP dgroupA INCLUDING CONTENTS;

8、将磁盘添加至磁盘组

SQL> ALTER DISKGROUP dgroupA ADD DISK
        '/dev/rdsk/c0t4d0s2' NAME A5,
 '/dev/rdsk/c0t50s2'  NAME A6,
 '/dev/rdsk/c0t60s2'  NAME A7;

9、从磁盘组中删除一个磁盘

SQL> ALTER DISKGROUP dgroupA DROP DISK A5;
--取消磁盘删除操作
SQL> ALTER DISKGROUP dgroupA UNDROP DISKS;

10、卸载磁盘组

SQL> ALTER DISKGROUP dgroupA DISMOUNT;

11、验证磁盘组元数据的内部一致性

SQL> ALTER DISKGROUP dgroupA CHECK ALL;

12、===========启动ASMCMD命令=============

$ su - oracle
$ export ORACLE_SID=+ASM1
$ asmcmd
ASMCMD>help
具体命令的用途可以使用help命令来读取,如下:
ASMCMD>help cd

13、查看磁盘组,(空间情况)

select name name2,state,type,free_mb,total_mb,usable_file_mb from v$asm_diskgroup;

14、查看磁盘情况

select GROUP_NUMBER,free_mb,total_mb,FAILGROUP,disk_number,MOUNT_STATUS,mode_status,STATE,
HEADER_STATUS,name name2,PATH
from v$asm_disk order by 4,5;

select disk_number,free_mb,total_mb,FAILGROUP,MOUNT_STATUS,STATE,HEADER_STATUS,PATH
from v$asm_disk order by 4,8;