2. -bash-3.00$ export ORACLE_SID=+ASM ---配置连接asm实例的环境变量
3. -bash-3.00$ asmcmd ---进入asmcmd工具
ASMCMD> help ---查看asmcmd工具的相关指南说明
asmcmd [-p] [command] --加上-p选项会在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.
commands: ---下为asmcmd工具的相关命令
--------
cd --切换目录(类似于solaris的cd)
du --查看目录已使用情况
find –查看一个命令的用法
help
ls --类似于solaris的ls
lsct --查看目前使用asm 实例的oracle实例(注:可能多个oracle实例共享一个asm实例,或者一个oracle实例对应一个asm实例)
lsdg --显示碰盘组的情况(asm实例,是由多个碰盘组构成,一个磁盘组下含1或从个磁盘)
mkalias
mkdir --构建一个目录
pwd --显示当前目录
rm --类似于solaris的rm
rmalias
-bash-3.00$ asmcmd -p
ASMCMD [+] > pwd --[+] 为当前目录
+
ASMCMD [+] > ls --可以看到目录有两个目录
ARCH/
DATA/
ASMCMD [+] > cd arch --切换目录
ASMCMD [+arch] > pwd
+arch
ASMCMD [+arch] > ls
ASM10G/
ASMCMD [+arch] > cd asm10g
ASMCMD [+arch/asm10g] > ls
ARCHIVELOG/
ASMCMD [+arch/asm10g] > cd archivelog
ASMCMD [+arch/asm10g/archivelog] > pwd
+arch/asm10g/archivelog
ASMCMD [+arch/asm10g/archivelog] > ls
2009_11_26/
ASMCMD [+arch/asm10g/archivelog] > cd 2009_11_26
ASMCMD [+arch/asm10g/archivelog/2009_11_26] > ls
thread_1_seq_7.260.703906467
thread_1_seq_8.259.703906519
ASMCMD [+arch/asm10g/archivelog/2009_11_26] > rm thread_1_seq_8.259.703906519
--删除一个归档日志
ASMCMD [+arch/asm10g/archivelog/2009_11_26] > ls --再次查看已经删除
thread_1_seq_7.260.703906467
ASMCMD [+arch/asm10g/archivelog/2009_11_26] > exit --退出asmcmd
4. -bash-3.00$ export ORACLE_SID=asm10g --连接oracle实例
--(注:asm实例和oracle实例的ORACLE_SID是不同的,请注意)
5. -bash-3.00$ rman target / --进入rman工具
Recovery Manager: Release 10.2.0.2.0 - Production on Thu Nov 26 01:50:33 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ASM10G (DBID=40435634)
RMAN> list archivelog all; --显示所有的归档日志
--请注意:涂蓝部分,可以看到在asmcmd中删除的归档日志也显示在这儿
using target database control file instead of recovery catalog
List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
2 1 2 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_2.256.703906333
1 1 3 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_3.257.703906335
3 1 4 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_4.258.703906339
4 1 5 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_5.259.703906347
5 1 6 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_6.260.703906373
6 1 7 A 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_7.260.703906467
7 1 8 A 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_8.259.703906519
RMAN> crosscheck archivelog all;--更新rman中存储归档日志的信息
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=138 devtype=DISK
validation failed for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_2.256.703906333 recid=2 stamp=703906336
validation failed for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_3.257.703906335 recid=1 stamp=703906335
validation failed for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_4.258.703906339 recid=3 stamp=703906338
validation failed for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_5.259.703906347 recid=4 stamp=703906346
validation failed for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_6.260.703906373 recid=5 stamp=703906373
validation succeeded for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_7.260.703906467 recid=6 stamp=703906466
validation failed for archived log
archive log filename=+ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_8.259.703906519 recid=7 stamp=703906519
Crosschecked 7 objects
RMAN> list expired archivelog all;--显示过期的归档日志(过期就是已经物理删除的归档)
对比发现通过asmcmd删除的归档已经显示出来
List of Archived Log Copies
Key Thrd Seq S Low Time Name
------- ---- ------- - --------- ----
2 1 2 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_2.256.703906333
1 1 3 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_3.257.703906335
3 1 4 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_4.258.703906339
4 1 5 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_5.259.703906347
5 1 6 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_6.260.703906373
7 1 8 X 26-NOV-09 +ARCH/asm10g/archivelog/2009_11_26/thread_1_seq_8.259.703906519
6. 总结:
A. asmcmd是oracle为了简化asm管理,引入的一种工具
B. asmcmd可以直接删除oracle产生的归档日志,但并未及时更新rman对应存储归档日志的信息,所以利用rman 看到的归档日志和利用asmcmd看到的归档日志数量会不一样
(也就是说rman中的list archivelog all把所有删除和没有删除的归档全部显示出来)
C. 不建议直接利用asmcmd删除归档日志,在生产请采用rman进行归档日志的清理工作
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-620546/ ,如需转载,请注明出处,否则将追究法律责任。