ASM_Oracle ASM的常用命令(汇总)

简介: 2014-07-02 Created By BaoXinjian 一、ASM 管理 登录/启动/关闭 1. 启动和关闭ASM实例 [oracle@node2 dbs]$ export ORACLE_SID=+ASM2 [oracle@node2 dbs]$ sqlplus / as...

2014-07-02 Created By BaoXinjian

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

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

SQL>shutdown

SQL>exit

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

oradim -delete -asmsid +ASM

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
11月前
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
11月前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
472 2
|
6月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
8月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
180 2
|
8月前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
296 1
|
10月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
11月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的HELP命令:你的数据库“百事通”
【4月更文挑战第19天】`Oracle SQL*Plus` 的 `HELP` 命令是数据库查询的强大工具,犹如“百事通”。在遇到困惑时,`HELP` 可提供详细命令解释和用法示例,解答基础到高级的 SQL 和 PL/SQL 疑问。它还是“活字典”,揭示命令关联与区别,如 `SET` 和 `ALTER SESSION`。此外,`HELP` 解释数据库概念,如“事务”,并支持模糊查询。无论新手还是专家,`HELP` 都是数据库探索的得力助手。
|
11月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。
|
11月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的COLUMN命令:数据展示的“化妆师”
【4月更文挑战第19天】Oracle SQL*Plus的COLUMN命令是数据展示的利器,能美化和格式化输出。它可定制列标题、调整显示格式(如数字的小数位数和日期格式),添加前缀和后缀(如货币符号),以及控制列宽和是否折行,使得数据呈现更直观、专业。利用COLUMN命令,能将原始数据转化为易于理解和视觉吸引力强的展示形式。
|
11月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例

推荐镜像

更多
下一篇
oss创建bucket