分类: Oracle
2008-04-03 22:31:04
oracle在10g版中为它的数据库产品引入了一种新型存储系统。自动存储管理(ASM)是一种逻辑容量管理工具,它访问物理磁盘分区并管理分区中的内容,为oracle数据库中需要创建的文件提供高效支持。
在使用ASM之前,只有两种方法管理磁盘:文件系统存储和原磁盘存储。文件系统存储非常灵活,它允许数据库管理员轻松地查看、移动、复制、备份个人文件,但是它也导致了高负载。原磁盘存储没有文件目录,oracle可以直接管理它的数据块,这是非常高效的。然而,原磁盘存储拥有如此强大的管理能力,以至于很少数据库管理员能够容易地使用它。
ASM的优势明显,它是由oracle管理的原磁盘存储,高效易用。Oracle使用一个oracle实例通过记录所有的元数据来模拟实际上并不存在的文件结构。元数据使得恢复管理工具(RMAN)可以很容易的备份和恢复oracle数据文件。
在oracle 10g早期版本中,ASM磁盘组是一个黑箱子,在登陆管理磁盘组的专用ASM实例时,你只能使用SQL语句管理ASM磁盘组。在oracle 10g 发行版本2中,oracle引入了一个称为ASMCMD的命令行工具,它允许你查看ASM磁盘的内部(也就是被称为磁盘组的部分)。现在你可以利用命令行完成很多任务。
为了激活ASMCMD功能,你必须首先对你机器中的ASM进行配置和启动。环境变量ORACLE_HOME和ORACLE_SID必须正确地指向ASM实例。你必须作为拥有操作系统证书的系统管理员用户进行登录,这样,就可以键入带参数的asmcmd命令来执行特殊的ASMCMD命令或者直接键入asmcmd命令进入交互模式。
ASMCMD看起来很想UNIX的命令行。下面是一些ASMCMD命令,很多都是UNIX开发人员熟悉的:
和UNIX中一样,你可以为磁盘组中的文件创建别名。ASM自动创建的名字可能有点复杂,所以创建别名可以使得利用ASMCMD管理ASM文件更容易。
ASMCMD有一些很有趣的技巧:在ASMCMD中的“路径名“,你既可以利用相UNIX的正斜杠也可以用windows的反斜杠,它们是可以交换的。同时,你还可以使用UNIX中的“*”号代替路径名中的任意字符串,用SQL中的“%”替代任意字符。
ASMCMD在oracle 10g的文档中有所描述,具体请参考: