--==============================
-- 使用ASMCMD 工具管理ASM目录及文件
--==============================
在ASM实例中,所有的存储于ASM磁盘组中的文件对于操作系统命令而言是不可访问的,因此也无法使用常规的命令来操纵ASM磁盘中的文
件。所幸的是,我们有ASMCMD工具来代替操作系统命令来完成这部分工作。ASMCMD工具提供了类似于操作系统的常用命令,如ls , du ,find
,cd ,rm ,mkdir等等。借助这些工具可以更轻松的完成ASM实例的相关管理工作。
有关ASM的相关参考:
创建ASM实例及ASM数据库
ASM 磁盘、目录的管理
1.ASMCMD文件所在的位置
[root@oradb ~]# su - oracle
[oracle@oradb ~]$ which asmcmd
/u01/oracle/10g/bin/asmcmd
2.启动ASMCMD
[oracle@oradb ~]$ export ORACLE_SID=+ASM --启动前要设定ORACLE_SID环境变量
[oracle@oradb ~]$ asmcmd
ASMCMD> help
asmcmd [-p] [command] --该方式可以直接完成相应的功能而不需要进入到ASMCMD提示符下
The environment variables ORACLE_HOME and ORACLE_SID determine the
instance to which the program connects, and ASMCMD establishes a
bequeath connection to it, in the same manner as a SQLPLUS / AS
SYSDBA. The user must be a member of the SYSDBA group.
Specifying the -p option allows the current directory to be displayed
in the command prompt, like so:
ASMCMD [+DATAFILE/ORCL/CONTROLFILE] >
[command] specifies one of the following commands, along with its
parameters.
Type "help [command]" to get help on a specific ASMCMD command.
--在asmcmd命令提示符下,输入help [命令] ,则显示该命令帮助信息
commands:
--------
cd
du
find
help
ls
lsct
lsdg
mkalias
mkdir
pwd
rm
rmalias
3.具体用法
[oracle@oradb ~]$ asmcmd -p ls -l --无需进入到ASMCMD命令提示符下完成相应的功能
State Type Rebal Unbal Name
MOUNTED NORMAL N N DG1/
MOUNTED NORMAL N N DG2/
MOUNTED EXTERN N N REV/
ASMCMD> ls -l --查看磁盘组的基本信息
State Type Rebal Unbal Name
MOUNTED NORMAL N N DG1/
MOUNTED NORMAL N N DG2/
MOUNTED EXTERN N N REV/
ASMCMD> ls -s --查看磁盘组的详细信息,如磁盘大小,可用空间,扇区大小等
Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
512 4096 1048576 3058 1498 749 DG1/
512 4096 1048576 200 98 49 DG2/
512 4096 1048576 3074 2949 2949 REV/
ASMCMD> du --查看当前目录磁盘已使用的容量
Used_MB Mirror_used_MB
804 1541
ASMCMD> pwd --显示当前路径
+
ASMCMD> cd +DG1
ASMCMD> pwd
+DG1
ASMCMD> du
Used_MB Mirror_used_MB
732 1469
ASMCMD> find -t datafile +DG1/asmdb sys* --find 用于查找对象
+DG1/asmdb/DATAFILE/SYSAUX.261.734885459
+DG1/asmdb/DATAFILE/SYSTEM.259.734885389
ASMCMD> ls -l +DG1/asmdb
Type Redund Striped Time Sys Name
Y CONTROLFILE/
Y DATAFILE/
Y ONLINELOG/
Y PARAMETERFILE/
Y TEMPFILE/
N spfileasmdb.ora => +DG1/ASMDB/PARAMETERFILE/spfile.264.734886407
ASMCMD> ls -l +DG1/asmdb/spfi*
Type Redund Striped Time Sys Name
N spfileasmdb.ora => +DG1/ASMDB/PARAMETERFILE/spfile.264.734886407
ASMCMD> pwd
+DG1
ASMCMD> cd asmdb --cd 命令改变当前目录
ASMCMD> pwd
+DG1/asmdb
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileasmdb.ora
ASMCMD> lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED NORMAL N N 512 4096 1048576 3058 1498 749 DG1/
MOUNTED NORMAL N N 512 4096 1048576 200 98 49 DG2/
MOUNTED EXTERN N N 512 4096 1048576 3074 2949 2949 REV/
ASMCMD> mkdir +DG2/asmdb/bakfile --mkdir 创建目录
ASMCMD> ls -l +DG2/asmdb/bakfile
ASMCMD> rm +DG2/asmdb/bakfile --rm 删除目录
ASMCMD> ls -l +DG2/asmdb/bakfile
asmcmd: entry 'bakfile' does not exist in directory '+DG2/asmdb/'
ASMCMD> exit --退出asmcmd命令行
4.从上面的描述可以看出ASMCMD工具给我们提供了很多方便,这些操作命令基本上与Liunx,Unix命令相似,通过这些操作命令可以大大简化对
ASM实例的管理。
5.更多参考
有关闪回特性请参考
Oracle 闪回特性(FLASHBACK DATABASE)
Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN)
Oracle 闪回特性(Flashback Query、Flashback Table)
Oracle 闪回特性(Flashback Version、Flashback Transaction)
有关基于用户管理的备份和备份恢复的概念请参考:
Oracle 冷备份
Oracle 热备份
Oracle 备份恢复概念
Oracle 实例恢复
Oracle 基于用户管理恢复的处理(详细描述了介质恢复及其处理)
有关RMAN的恢复与管理请参考:
RMAN 概述及其体系结构
RMAN 配置、监控与管理
RMAN 备份详解
RMAN 还原与恢复
有关Oracle体系结构请参考:
Oracle 实例和Oracle数据库(Oracle体系结构)
Oracle 表空间与数据文件
Oracle 密码文件
Oracle 参数文件
Oracle 数据库实例启动关闭过程
Oracle 联机重做日志文件(ONLINE LOG FILE)
Oracle 控制文件(CONTROLFILE)
Oracle 归档日志