ASM命令有哪些

72次阅读
没有评论

共计 3404 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 ASM 命令有哪些,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、ASM 管理 登录 / 启动 / 关闭

1. 启动和关闭 ASM 实例

[oracle@node2 dbs]$ export ORACLE_SID=+ASM2 [oracle@node2 dbs]$ sqlplus / as sysdba
SQL  startup
SQL  shutdown immediate;

2. 检查 disk group 信息的 SQL

SQL  SELECT STATE, REDUNDANCY, TOTAL_MB, FREE_MB, NAME, FAILGROUP FROM v$asm_disk;
SQL SELECT GROUP_NUMBER, NAME, STATE, TYPE, TOTAL_MB, FREE_MB, UNBALANCED FROM v$asm_diskgroup;

3. 创建新的 diskgroup

SQL  create diskgroup dgtest normal redundancy
 failgroup DATA1 disk  /dev/oracleasm/VOL5  name DATA1
 failgroup DATA2 disk  /dev/oracleasm/VOL6  name DATA2;

4. 删除 diskgroup

SQL  drop diskgroup DATA including contents; --  对于多结点的 diskgroup,  只能有在一个 asm 实例上挂载之后才能被 dorp,  其他结点必须 dismount。

5. 手动 mount 命令

ALTER DISKGROUP ALL DISMOUNT; ALTER DISKGROUP ALL MOUNT; ALTER DISKGROUP DATA DISMOUNT; ALTER DISKGROUP DATA MOUNT;

6. 为 diskgroup 增加 disk

SQL  alter diskgroup DATA add disk  /dev/oracleasm/VOL5  name VOL5,  /dev/oracleasm/VOL6  name VOL6;

7. 从 diskgroup 删除 disk

SQL  alter diskgroup DATA drop disk VOL5;

8. 取消删除 disk 的命令,只能在上述命令没执行完成的时候有效

ALTER DISKGROUP DATA UNDROP DISKS;

二、数据文件的管理

1. Create an alias using the fully qualified filename.

ALTER DISKGROUP disk_group_1 ADD ALIAS  +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.

ALTER DISKGROUP disk_group_1 ADD ALIAS  +disk_group_1/my_dir/my_file.dbf  FOR  +disk_group_1.342.3

3. Rename an alias.

ALTER DISKGROUP disk_group_1 RENAME ALIAS  +disk_group_1/my_dir/my_file.dbf  TO  +disk_group_1/my_dir/my_file2.dbf

4. Delete an alias.

ALTER DISKGROUP disk_group_1 DELETE ALIAS  +disk_group_1/my_dir/my_file.dbf

5. Drop file using an alias.

ALTER DISKGROUP disk_group_1 DROP FILE  +disk_group_1/my_dir/my_file.dbf

6. Drop file using a numeric form filename.

ALTER DISKGROUP disk_group_1 DROP FILE  +disk_group_1.342.3

7. Drop file using a fully qualified filename.

ALTER DISKGROUP disk_group_1 DROP FILE  +disk_group_1/mydb/datafile/my_ts.342.3

8. Create datafile

SQL  create tablespace users2 datafile  +TESTDB_DATA1  size 100m;

四.  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 命令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计3404字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)