一下是我学习ASM过程中的一些总结:
ASM磁盘组管理:
1.asm磁盘组创建
asmca(11g),10g(dbca)
sql>create diskgroup datadg external redundancy disk '/dev/raw/raw1';
2.asm 磁盘组删除
sql>drop diskgroup datadg;
3.asm磁盘组添加磁盘
sql>alter diskgroup datadg add disk '/dev/raw/raw2';
4.asm磁盘组删除磁盘
sql>select name,path from v$asm_disk;查询到名称
sql>alter diskgroup datadg drop disk '名称';
启动ASM实例:
$ export ORACLE_SID=+ASM1
$ sqlplus / as sysdba (11g as sysasm)
挂载
Sql>alter diskgroup diskgroup_name mount;
or
Sql>alter diskgroup all mount;
卸载
Sql>alter diskgroup diskgroup_name dismount;
or
Sql>alter diskgroup all dismount;
删除
Sql>drop diskgroup diskgroup_name;
说明:
删除磁盘组时,磁盘组必须被挂载(mount)
ASM磁盘组目录管理
1.asm磁盘组增加目录
SQL> alter diskgroup datadg add directory '+datadg/datafile';
2.Asm磁盘组重命名目录
SQL> alter diskgroup DG2 rename directory '+datadg/datafile' to '+datadg/qylfile';
3.Asm磁盘组增加多层目录,必须一层一层添加
--首先添加qyl
SQL> alter diskgroup DG2 add directory '+datadg/qyl/';
然后 datafile
SQL> alter diskgroup DG2 add directory '+datadg/qyl/datafile';
4.Asm磁盘组删除
SQL> alter diskgroup DG2 drop directory '+datadg/datafile';
ASM磁盘组文件管理
1.数据文件添加别名
sql>alter diskgroup datadg add alias '+datadg/qyl/datafile/users.dbf' for '+datadg/qyl/datafile/users.266.734885487'
2.重新命名别名
SQL> alter diskgroup datadg rename alias '+datadg/qyl/datafile/users.dbf' to '+datadg/qyl/datafile/users01.dbf';
3.查询别名
SQL> select name,group_number,file_number,alias_index,alias_directory,system_created from v$asm_alias where file_number=263;
4.删除别名
SQL> alter diskgroup DG1 drop alias '+datadg/qyl/datafile/users01.dbf';
ASM几个重要参数
1.ASM_POWER_LIMIT 当加入磁盘后磁盘组的各个磁盘之间做均衡进程
2.ASM_DISKSTRING 指定asm启动时候查找磁盘路径
Linux 自动搜索:/dev/raw/ 和/dev下的设备文件
aix 自动搜索:/dev/下设备文件
hp-ux:由于hp-ux下的磁盘路径在/dev/rdsk/下边,需要设置
ASM相关视图
v$asm_disk(_stat) --查看磁盘及其状态信息
v$asm_diskgroup(_stat) --查看磁盘组及其状态信息
v$asm_operation --查看当前磁盘的操作信息
v$asm_client --返回当前连接的客户端实例信息
v$asm_file --返回asm文件的相关信息
v$asm_template --返回asm文件样本的相关信息
v$asm_alias --返回asm文件的别名信息
asmcmd
数据库使用asm
1.如果是数据库文件
sql>create tablespace test datafile '+datadg' size 100M;
2.如果归档日志:
sql>alter system set log_archive_dest_1='location=+datadg' scope=both;