zoukankan      html  css  js  c++  java
  • 4.ASM常用命令汇总

    一、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.删除disgroup

    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;

    9.查看磁盘组信息
      select name,state,type,total_mb ,free_mb from v$asm_diskgroup;
    10.查看磁盘信息
      select group_number,path,state,total_mb,free_mb from v$asm_disk;
    11.查看磁盘i/o信息,datadg为磁盘组名
      [grid@oradb-node1 ~]$ asmcmd lsdsk --statistics -G datadg
    12.或者简要显示读写,包括ASM磁盘列表
      [grid@oradb-node1 ~]$ asmcmd iostat -G datadg

    二.ASMCMD工具

    ASM实例的管理除了sqlplus、oracle还提供了asmcmd命令

    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 diskgroup<disk_group_name>including contents;

    4.5 关闭+ASM实例并退出SQL*Plus:

    SQL>shutdown

    SQL>exit

    4.6 在命令提示符中输入下列命令,删除+ASM服务(我没找到这个命令,所以没有运行):

    oradim -delete -asmsid +ASM

  • 相关阅读:
    webpack
    线程和同步
    C#高性能TCP服务
    平台架构实践
    异步
    net MVC 的八个扩展点
    Python计算&绘图——曲线拟合问题(转)
    最小二乘法多项式曲线拟合原理与实现(转)
    Apache Commons Math3学习笔记(2)
    最小二乘法拟合java实现源程序(转)
  • 原文地址:https://www.cnblogs.com/zmc60/p/15605454.html
Copyright © 2011-2022 走看看