关于ASMCMD
用来查看和维护ASM磁盘组上的文件和目录。它可以列出磁盘组内容,执行搜索,创建、删除目录和别名,显示空间利用等等。
注意:你不能使用ASMCMD去创建和删除磁盘组或对一个磁盘组增加或删除磁盘。你必须使用SQL命令进行这些操作。
关于ASM文件,文件名,目录和别名
系统产生的文件名或完全合格的文件名
(System-generated filename or ‘fully qualified filename’)
ASM按照如下格式产生文件名
+diskGroupName/databaseName/fileType/fileTypeTag.file.incarnation
+dgroup2/sample/controlfile/Current.256.541956473
这里dgroup2为磁盘组名字,sample是数据库名,controlfile是文件类型,以此类推.
目录(Directory)
同其它文件系统一样,ASM目录对于文件是一个容器,它能做为其它目录树结构的一部分。
完全合格的文件名实际上表现目录的一个层次,以符号(+)做为根。在每个磁盘组中,ASM创建目录层级要符合完全合格的文件名格式。ASMCMD允许你使用cd命令改变目录,ls命令例出当前目录文件内容,pwd命令显示当前目录名。
启动ASMCMD,当前的目录为(+)。
ASMCMD> ls
DGROUP1/
DGROUP2/
ASMCMD> cd +dgroup1/sample/controlfile
ASMCMD> ls
Current.256.541956473
Current.257.541956475
你可以通过ALTER DISKGROUP或ASMCMD mkdir命令创建用户目录做为系统生成目录的子目录。
ASMCMD> mkdir +dgroup1/mydir
启动ASMCMD附带-p标记,ASMCMD将显示当前目录为提示符的一部分。
ASMCMD [+] > cd dgroup1/mydir
ASMCMD [+DGROUP1/MYDIR] >
注意:
ASM不会在用户目录中放置系统产生的文件。
别名(Alias)
别名是指向系统生成的文件名的一个更友好的文件名字,与Unix系统的符号链接类似。可通过ALTER DISKGROUP或ASMCMD的mkalias命令创建.
你可以在磁盘组路径或者任何系统生成或用户创建的子目录下创建别名.
列出别名指向的链接文件
ASMCMD>ls -l
通配符使用
通配符*和%匹配零或多字符
运行ASMCMD
运行前准备
1. 确保ASM实例启动和ASM磁盘组激活
2. 以具备SYSDBA权限的用户登录运行ASM实例的服务器.
3. 设置ORACLE_HOME和ORACLE_SID环境变量指定ASM实例(ASM SID默认值:在单数据库实例下为+ASM,RAC环境下为+ASMnode#).
运行
在操作系统提示符下,输入
asmcmd
ASMCMD>
可在asmcmd命令后跟上-P选项使得ASMCMD提示符包含当前路径
$ asmcmd -p
ASMCMD [+] > cd dgroup1/mydir
ASMCMD [+DGROUP1/MYDIR] >
非交互模式
$ asmcmd command arguments
ASMCMD命令参考
命令 | 描述 |
cd | 改变当前目录到指定的目录 |
du | 显示指定目录及其子目录中ASM文件占用的磁盘空间 |
exit | 退出ASMCMD. |
find | 在指定目录下列出包含指定名称(使用通配符)的路径. |
help | 显示ASMCMD命令的语法和描述. |
ls | 列出ASM目录的内容,指定文件的属性 |
lsct | 列出关于当前ASM客户端信息 |
lsdg | 列出所有磁盘组及其属性. |
mkalias | 为系统生成的文件创建一个别名. |
mkdir | 创建ASM目录. |
pwd | 显示当前路径. |
rm | 删除指定ASM文件或路径. |
rmalias | 删除指定别名. |