技术活动
CUUG学员就业信息
学员感言、就业资讯
报名热线
文档
当前您的位置:首页 > 技术活动 > 技术中心 > 文档
Oracle ASM 文件管理-CUUG

  一、ASM文件的管理

  1、 ASM文件概述:

  ASM文件的命名不同于普通文件的命名,它的文件名一般不直接指定,由ASM系统自

  己生成,并且其管理方式是OMF。如果人为指定,则文件的管理方式就不再是OMF了。

  使用ASM文件名的时机:

  a. 引用ASM文件

  b. 创建ASM文件

  2、文件的命名规则:

  (1)完全命名:

  格式:+diskgroup_name/database_name/filetype/file_name.xxx.xxxx

  作用:只能用于引用,不能在创建ASM文件时指定。

  说明:xxx表示数字,是唯一的。

  例如:+dgdata/info/datafile/system.256.78684974

  (2)数字命名:

  格式:file_name.xxx.xxxx

  作用:只能用于引用,不能在创建ASM文件时指定。

  说明:xxx表示数字,是唯一的。

  例如:system.256.78684974

  (3)不完全命名:

  格式:+diskgroup_name

  作用:用于创建ASM文件,在创建文件时指定,由ASM自动生成对应的文件名。

  说明:文件是OMF。

  例如:create tablespace test datafile ‘+dgdata’ size 100m;

  (4)带模板的不完全命名:

  格式:+diskgroup_name(template_name)

  作用:用于创建ASM文件,在创建文件时指定,由ASM自动生成对应的文件名。

  说明:文件是OMF。

  例如:create tablespace test datafile ‘+dgdata(my_template)’ size 100m;

  (5)别名命名:

  格式:+diskgroup_name/directory1/…/directoryN/file_name.dbf

  作用:用于创建ASM文件,在创建文件时指定。本质上它创建了一个别名和一

  个ASM文件,并且这个别名指向这个ASM文件。

  说明:如果以指定别名的方式创建文件,则文件不是OMF。

  在ASM中目录不能递归创建,必须一层一层的创建。删除也是一样。

  例如:create tablespace test

  datafile ‘+dgdata/info/test_01.dbf’ size 150m;

  二、ASM目录的管理(可被ASMCMD替代)

  1、 ASM中也存在目录概念。

  2、 + ------ 表示根目录

  3、 ASM中目录不能递归创建

  4、 ASM中不能直接删除非空目录,需要先删目录下的内容,然后再删上层目录。

  5、 ASM中目录的操作:

  a. 增加目录

  命令:

  alter diskgroup diskgroup_name

  add directory ‘+diskgroup_name/directory1/directory_name’

  说明:

  增加目录时,上层目录必须存在,否则增加失败。

  e.g.:

  alter diskgroup dgdata1 add

  add directory ‘+dgdata1/info/datafile’;

  b、删除目录

  命令:

  alter diskgroup diskgroup_name

  drop directory ‘+diskgroup_name/directory1/directory_name’

  说明:

  删除目录时,目录应为空,否则删除失败。

  e.g.:

  alter diskgroup dgdata1 add

  drop directory ‘+dgdata1/info/datafile’;

  三、ASM别名的管理(可被ASMCMD替代)

  1、别名的添加:

  命令:

  alter diskgroup diskgroup_name

  add alias alias_name for ‘asm_file’;

  e.g.:

  alter diskgroup dgdata1

  add alias ‘+dgdata1/salse.dbf’ for ‘+dgdata1/info/datafile/system.256.78684974’;

  2、别名的删除:

  命令:

  alter diskgroup diskgroup_name

  drop alias alias_name;

  e.g.:

  alter diskgroup dgdata1

  add alias ‘+dgdata1/salse.dbf’ ;

  3、查看别名:

  别名信息存放在视图v$asm_alias里。视图中

  ALIAS_DIRECTORY-----表示别名是否为目录

  SYSTEM_CREATED------表示别名是否由系统创建

  默认每一个ASM文件都有别名,那就是自己。

  使用下面命令查看:

  select * from v$asm_alias;

  4、别名只能针对文件,不能为目录建立别名。

  四、ASMCMD的使用

  ASMCMD是ASM提供的一个工具。它实现了ASM磁盘组上文件及目录的管理。具体可以实现以下功能:

  1、 创建目录(mkdir)

  2、 删除目录(rm)

  3、 目录切换(cd)

  4、 创建别名(mkalias)

  5、 删除别名(rmalias)

  6、 显示当前目录(pwd)

  7、 显示文件条目(ls)

  命令的使用:

  ASMCMS中每个命令都有自己的帮助系统,使用方法为: help command

  使用说明:

  (1)创建目录(mkdir)

  asmcmd> mkdir directory_name

  e.g:

  asmcmd> mkdir info

  (2)删除目录(rm)

  asmcmd >rm file_name

  e.g:

  asmcmd>rm test_01.dbf

  asmcmd>rm *

  (3)目录切换(cd)

  asmcmd> cd directory_name

  e.g:

  asmcmd> cd info

  (4)创建别名(mkalias)

  asmcmd>mkalias asm_file_name alias_name

  备注:不能对目录建立别名

  e.g:

  asmcmd>mkalias ‘+dgdata/info/datafile/system.256.78684974’ system.dbf

  (5)删除别名(rmalias)

  asmcmd> rmalias alias_name

  asmcmd> rmalias system.dbf

  备注:别名不能用【rm】命令删除,否则原文件将会被删除。

  (6)显示当前目录(pwd)

  asmcmd> pwd

  (7)显示文件条目(ls)

  asmcmd> ls

  备注:

  (1)ASM中目录不能递归创建,必须层层创建。删除时也不能删除非空目录,需先删除

  目录下文件,然后方可删除目录。

  (2)在ASMCMD中:

  mkdir == alter diskgroup diskgroup_name add directory

  rm directory_name == alter diskgroup diskgroup_name drop directory ‘xxxx’

  mkalias == alter diskgroup diskgroup_name add alias

  rmalias == alter diskgroup diskgroup_name drop alias

  它们的表现形式不一样,但本质是一样的,有异曲同工之效。

  (3)别名只对文件有效,不能对目录创建别名

  五、其他

  1、 修改ASM磁盘组重平衡的速度。

  命令:

  alter diskgroup diskgroup_name rebalance power N;(N=0、1、2、… 11)

  说明:

  字母 N 代表了重平衡的速度。0表示关闭重平衡功能;1速度最小,吞吐量也最小,

  对用户影响也最小,11速度最快,吞吐量最大,对用户影响最大。默认为1.

  e.g:

  alter diskgroup dgdata2 rebalance power 3;

  #修改磁盘组dgdata2的重平衡速度为3。