How to cleanup ADRCI Homes

ADRCI (ADR Command Interpreter) 是伴随Oracle 11g推出的新工具,由于各种log的位置纷繁复杂,因此在Oracle 11g中,Oracle将数据库、监听、客户端等的Log统一转到了diagnostic_dest初始化参数所指向的目录下的diag目录中,并且提供了ADRCI实用程序来进行高效查询及管理。在这之前我曾经写过两篇跟ADRCI相关的文章。
ADRCI Purge is NOT What You Think It Should Be:ADRCI的Purge命令用于清除日志文件中的内容,但是使用起来并非尽如人意。
Oracle11g for Windows ADRCI Issue:在Windows中使用ADRCI会产生的小问题,当然很久没有用过Windows,不知道这个问题是不是还依然存在。

ADRCI看上去是个很好的东西,但是除了show alert相对简单之外,其它的各种命令和查询条件的指定实际上比较繁琐,因此ADRCI在我周边的使用者寥寥可数,我算是坚持使用的为数不多者。因为使用者不多,所以对于ADRCI中一些极为简单的操作,了解者也比较少。

本文也是如此,如何删除在ADRCI中显示出来的多余的Homes?解决方法简单到令人发指。

问题重现,在命令中show homes显示出6个Home,这通常是由于安装过其它的数据库实例,然后删除的时候遗留下来的Log目录仍然存在。对于完美主义者来说这难以容忍。

[oracle@emnotech rdbms]$ adrci

ADRCI: Release 12.1.0.1.0 - Production on Mon Aug 18 01:34:31 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/u01/app/oracle"
adrci> show home
ADR Homes:
diag/clients/user_oracle/host_266584670_80
diag/tnslsnr/emnotech/listener
diag/rdbms/orcl/orcl
diag/rdbms/slob/SLOB
diag/rdbms/slob/orcl
diag/rdbms/slob/slob

如上所示,ADR的基础目录在/u01/app/oracle,而各个Home都在其下的diag目录中,因此我们直接ls看一下目录结构。

[oracle@emnotech rdbms]$ pwd
/u01/app/oracle/diag/rdbms
[oracle@emnotech rdbms]$ ls -l
total 8
drwxr-x---. 3 oracle oinstall 4096 Jun  3 14:20 orcl
drwxr-xr-x. 5 oracle oinstall 4096 Aug  1 00:36 slob
[oracle@emnotech rdbms]$ ls -l slob
total 12
-rw-r-----.  1 oracle oinstall    0 Jun  5 03:16 i_1.mif
drwxr-xr-x. 16 oracle oinstall 4096 Jun  5 03:16 orcl
drwxr-xr-x. 16 oracle oinstall 4096 Jun  5 03:35 slob
drwxr-xr-x. 16 oracle oinstall 4096 Aug  1 00:36 SLOB

可以看到目录结构与ADRCI命令行中显示的完全一样,所以,解决方法就是直接rm掉不需要的目录。

[oracle@emnotech rdbms]$ rm -rf slob
[oracle@emnotech rdbms]$ ls -l
total 4
drwxr-x---. 3 oracle oinstall 4096 Jun  3 14:20 orcl

友情提示:一定要屡次确认才可以执行rm -rf这样危险的命令,每次对这个命令敲回车我都心惊胆战、心存敬畏。

[oracle@emnotech rdbms]$ adrci

ADRCI: Release 12.1.0.1.0 - Production on Mon Aug 18 01:35:23 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/u01/app/oracle"
adrci> show home
ADR Homes:
diag/clients/user_oracle/host_266584670_80
diag/tnslsnr/emnotech/listener
diag/rdbms/orcl/orcl
adrci>

再次进入ADRCI中查看Homes,世界清静了。

Leave a Reply

Your email address will not be published. Required fields are marked *