ASM命令有哪些
这篇文章将为大家详细讲解有关ASM命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、ASM 管理 登录/启动/关闭
1. 启动和关闭ASM实例
[oracle@node2dbs]$exportORACLE_SID=+ASM2[oracle@node2dbs]$sqlplus/assysdbaSQL>startupSQL>shutdownimmediate;
2. 检查disk group信息的SQL
SQL>SELECTSTATE,REDUNDANCY,TOTAL_MB,FREE_MB,NAME,FAILGROUPFROMv$asm_disk;SQL>SELECTGROUP_NUMBER,NAME,STATE,TYPE,TOTAL_MB,FREE_MB,UNBALANCEDFROMv$asm_diskgroup;
3. 创建新的diskgroup
SQL>creatediskgroupdgtestnormalredundancyfailgroupDATA1disk'/dev/oracleasm/VOL5'nameDATA1failgroupDATA2disk'/dev/oracleasm/VOL6'nameDATA2;
4. 删除diskgroup
SQL>dropdiskgroupDATAincludingcontents;--对于多结点的diskgroup,只能有在一个asm实例上挂载之后才能被dorp,其他结点必须dismount。
5. 手动mount命令
ALTERDISKGROUPALLDISMOUNT;ALTERDISKGROUPALLMOUNT;ALTERDISKGROUPDATADISMOUNT;ALTERDISKGROUPDATAMOUNT;
6. 为diskgroup增加disk
SQL>alterdiskgroupDATAadddisk'/dev/oracleasm/VOL5'nameVOL5,'/dev/oracleasm/VOL6'nameVOL6;
7. 从diskgroup删除disk
SQL>alterdiskgroupDATAdropdiskVOL5;
8. 取消删除disk的命令,只能在上述命令没执行完成的时候有效
ALTERDISKGROUPDATAUNDROPDISKS;
二、数据文件的管理
1. Create an alias using the fully qualified filename.
ALTERDISKGROUPdisk_group_1ADDALIAS'+disk_group_1/my_dir/my_file.dbf'FOR'+disk_group_1/mydb/datafile/my_ts.342.3';
2. Create an alias using the numeric form filename.
ALTERDISKGROUPdisk_group_1ADDALIAS'+disk_group_1/my_dir/my_file.dbf'FOR'+disk_group_1.342.3';
3. Rename an alias.
ALTERDISKGROUPdisk_group_1RENAMEALIAS'+disk_group_1/my_dir/my_file.dbf'TO'+disk_group_1/my_dir/my_file2.dbf';
4. Delete an alias.
ALTERDISKGROUPdisk_group_1DELETEALIAS'+disk_group_1/my_dir/my_file.dbf';
5. Drop file using an alias.
ALTERDISKGROUPdisk_group_1DROPFILE'+disk_group_1/my_dir/my_file.dbf';
6. Drop file using a numeric form filename.
ALTERDISKGROUPdisk_group_1DROPFILE'+disk_group_1.342.3';
7. Drop file using a fully qualified filename.
ALTERDISKGROUPdisk_group_1DROPFILE'+disk_group_1/mydb/datafile/my_ts.342.3';
8. Create datafile
SQL>createtablespaceusers2datafile'+TESTDB_DATA1'size100m;
四. ASMCMD 工具
ASM 实例的管理除了sqlplus, Oracle 还提供了asmcmd 命令, 具体参考help。
1. 查看asm bin的位置
[oracle@node1 bin]$ which asmcmd
/u01/app/oracle/product/10.2.0/db_1/bin/asmcmd
2. 切换至asmcmd模式
[oracle@node1 bin]$ cd /u01/app/oracle/product/10.2.0/db_1/bin/
[oracle@node1 bin]$ ./asmcmd
3. 具体的asm命令
cd:--进入下级目录或进入所需要的目录du:--显示指定的ASM目录下ASM文件占用的所有磁盘空间find:--查找所需的文件help:--显示帮助信息ls:--列出ASM目录下的内容及其属性lsct:--列出当前ASM客户端的信息lsdg:--列出所有磁盘组及其属性mkalias:--为系统生成的文件名创建别名mkdir:--创建新目录pwd:--显示当前目录路径rm:--删除ASM目录下的某个文件或文件夹rmalias:--删除别名
五、注意事项
1. ASM 实例在配置好并且创建了ASM磁盘组之后,还必须保证已经注册到Listener中后才能在数据库实例中使用,否则就需要手工注册ASM 实例:
SQL>alter system register;
2. 一旦数据库实例使用ASM 作为存储, 那么在数据库实例运行时是无法关闭ASM实例的。 否则会报 ORA-15097:cannot SHUTDOWN ASM instance with connected RDBMS instance. 错误。
3. Oracle 中删除 ASM 实例
删除自动存储管理实例+ASM实例+ASM的删除是在数据库被卸载之后完成的,并删除/ORACLE_HOME/dbs目录下的所有文件(除了与ASM相关的)。
因此必须完成下列步骤:
4.1 在命令提示符中,设置oracle_sid环境变量为+ASM实例:
# export oracle_sid=+ASM
4.2 启动SQL*Plus并以sys用户连接到自动存储管理+ASM实例:
# sqlplus / as sysdba
4.3 使用下列命令来确定是否有数据库实例正在使用自动存储管理实例+ASM:
SQL>select instance_name from v$asm_client;
该命令结果列出所有正在运行并使用+ASM实例的数据库实例。只要+ASM包含正在支持的数据库实例,就不能删除该+ASM实例。
(其实可以先shutdown对应的数据库实例,然后从asmcmd进入磁盘组所在目录,删掉对应的数据库目录和文件就可以了)。
4.4 如果没有与+ASM相关联的数据库实例,则删除与该实例相关联的磁盘组。
首先,识别与+ASM相关联的磁盘组:
SQL>select name from v$asm_diskgroup;
其次,用下列命令删除每个要删除的磁盘组:
SQL>drop diskgroupincluding contents;
4.5 关闭+ASM实例并退出SQL*Plus:
SQL>shutdown
SQL>exit
4.6 在命令提示符中输入下列命令,删除+ASM服务(我没找到这个命令,所以没有运行):
oradim -delete -asmsid +ASM
关于“ASM命令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。