我是靠谱客的博主 细心悟空,最近开发中收集的这篇文章主要介绍asm常用命令汇总,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Oracle 环境下,使用grid帐号执行
运行asmcmd进入asm命令模式,如:

[grid@oradb-node1 ~]$ asmcmd

ASMCMD>

 

ASMCMD> du //显示指定的ASM目录下ASM文件占用的所有磁盘空间

ASMCMD> ls -ls //列出ASM目录下的内容及其属性、磁盘空间占

ASMCMD> pwd //查看当前路径

ASMCMD> cd ../DATA //切换目录

ASMCMD> lsct //列出当前ASM客户端的信息

ASMCMD> lsdg //列出所有磁盘组及其属性

ASMCMD> lsof //列出数据文件信息

ASMCMD> lsdsk//列出盘的信息

ASMCMD> rm -f *.dbf //删除当前所有扩展名为 .dbf 文件

ASMCMD> rm -fr orcldemo //删除当前 orcldemo 目录

 

ASM磁盘的根路径为“+”,而不是“/",以下为演示操作:

ASMCMD> cd datadg/demo

ASMCMD> pwd

+datadg/demo //当前路径为+datadg/gd

ASMCMD> cd + //切换到ASM磁盘根路径

ASMCMD> pwd

//当前路径为根路径 +

 

也可以不进入ASM命令模式下操作,如:

[grid@oradb-node1 ~]$ asmcmd ls -ls //查看ASM磁盘占用情况
 
若要使用图形界面,可以使用ASM助手命令: asmca
[grid@oradb-node1 ~]$ sqlplus / as sysasm
 
--查看磁盘组信息
SQL> select name,state,type,total_mb ,free_mb from v$asm_diskgroup;
 
--查看磁盘信息
SQL> select group_number,path,state,total_mb,free_mb from v$asm_disk;
 
--查看磁盘I/O信息,datadg为磁盘组名
[grid@oradb-node1 ~]$ asmcmd lsdsk --statistics -G datadg
或者 简要显示读写,包括ASM磁盘列表
[grid@oradb-node1 ~]$ asmcmd iostat -G datadg
 
增加ASM磁盘disk08_test至ASM磁盘组datadg,磁盘路径为ORCL:DATA3_TEST
(需要先在操作系统级别 /etc/init.d/oracleasm createdisk DATA3_TEST /dev/mapper/mpathx建立此磁盘名)
SQL> alter diskgroup datadg add disk 'ORCL:DATA3_TEST' name disk08_test;
 
从ASM磁盘组datadg里删除ASM磁盘disk08_test
SQL> alter diskgroup datadg drop disk disk08_test;

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL:
一、ASM磁盘和磁盘组管理
1、创建磁盘组
create diskgroup DG2 EXTERNAL REDUNDANCY DISK 'ORCL:A1';
   create diskgroup SYSDGM normal redundancy FAILGROUP flgrp1 disk '/dev/rhdisk52','/dev/rhdisk53' FAILGROUP flgrp2 disk '/dev/rhdisk14','/dev/rhdisk13';
1)磁盘名称需要大写
2)磁盘名称使用V$asm_disk.path

2、磁盘组中添加磁盘
alter diskgroup dg2 add disk 'ORCL:A2';
1)磁盘名称使用V$asm_disk.path

3、磁盘组中删除磁盘
alter diskgroup dg2 drop disk 'a1';
1)磁盘名称使用的是V$asm_disk.name

4、删除磁盘组
drop diskgroup dg2 including contents;

二、ASM相关视图
1、查看是否有数据库实例连接上ASM实例
select instance_name,db_name,status from v$asm_client;

2、记录BALANCE操作
select operation,state,power,actual,sofar from v$asm_operation;
alter diskgroup SYSDGM rebalance power 11;
---power0~11,0表示不rebalance,这个参数由ASM_POWER_LIMIT设置。

3、ASM DISK信息
select path, state, total_mb, free_mb from v$asm_disk;

4、ASM DISKGROUP信息,包括磁盘大小和剩余空间
select name,state,type,total_mb,free_mb from v$asm_diskgroup;

三、ASM和表空间管理
1、ASM中创建表空间
create tablespace tgyun datafile '+DG2' SIZE 100M;

2、ASM表空间中添加数据文件
alter tablespace tgyun add datafile '+dg2' size 10m;

3、ASM表空间中删除数据文件
alter tablespace tgyun drop datafile '+DG2/tgyun/datafile/tgyun.257.747278679';
或者
alter tablespace tgyun drop datafile 3;

4、删除表空间
drop tablespace tgyun including contents;

--查看当前磁盘组状态
 SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
--卸载dg2磁盘组
SQL> alter diskgroup dg2 dismount; 
SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
--挂载dg2磁盘组
SQL> alter diskgroup dg2 mount; 
--卸载所有磁盘组
SQL> alter diskgroup all dismount; 
SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup; 
--挂载所有磁盘组
SQL> alter diskgroup all mount;
select group_number,name,state,total_mb,free_mb from v$asm_diskgroup; 
--如果当前磁盘组有实例在访问,则不能被卸载 
SQL> alter diskgroup data dismount; 
alter diskgroup data dismount
 * ERROR at line 1: ORA-15032: not all alterations performed 
ORA-15027: active use of diskgroup "DATA" precludes its dismount 

--创建目录 
SQL> alter diskgroup dg2 add directory '+DG2/TGYUN';  
 Diskgroup altered. 
--使用asmcmd查看(export ORACLE_SID=+ASM;asmcmd进入) 
ASMCMD> pwd 
+DG2 
ASMCMD> ls -l 
Type  Redund  Striped  Time             Sys  Name
                                        N    TGYUN/ 
--目录重命名 
SQL> alter diskgroup dg2 rename directory '+DG2/CHENGFEI' TO '+DG2/TGYUN';  
 Diskgroup altered.  
 ASMCMD> ls TGYUN/ 
--删除目录 
SQL> alter diskgroup dg2 drop directory '+DG2/tgyun';
Diskgroup altered.
 ASMCMD> ls 
ASMCMD> 
--添加别名 
SQL> alter diskgroup dg2 add alias '+dg2/TGYUN' for '+dg2/tgyun/datafile/TY.256.754832383'; 
  
Diskgroup altered. 
--使用asmcmd查看别名是否成功 
ASMCMD> pwd 
--别名重命名 
SQL> alter diskgroup dg2 rename alias '+DG2/TGYUN' TO '+DG2/TGYUN.DBF'; 
  
Diskgroup altered. 
--删除别名 
SQL> alter diskgroup dg2 drop alias '+dg2/tgyun.dbf'; 
  
Diskgroup altered. 
说明:
1)asmcmd命令行操作中,目录文件名不区分大小写,命令关键字区分大小写
2)磁盘组中的一个文件,最多只能建立一个别名,可以通过v$asm_alias视图查看别名的相关信息


最后

以上就是细心悟空为你收集整理的asm常用命令汇总的全部内容,希望文章能够帮你解决asm常用命令汇总所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部