手工清理ASM里面的垃圾文件

在数据库删除后,虽然数据文件会被删除,但ASM中的备份和日志会保留。为再次使用ASM,需要手动通过ASMCMD清理controlfile和online log等文件。此过程涉及到ASM的目录操作和文件删除,确保正确执行以避免错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在数据库删除以后,用DBCA或者是drop database等,数据文件会相应的被删除,但是我们的备份以及当前的日志,在ASM里面都被留了下来,当再次使用ASM的时候,需要手工清理.

ASMCMD> rm -r controlfile
You may delete multiple files and/or directories.
Are you sure? (y/n) y
ORA-15032: ?????????
ORA-15028: ??? ASM ?? '+disk_group2/devdb/controlfile/Current.289.652879209'; ????????? (DBD ERROR: OCIStmtExecute)
ORA-15032: ?????????
ORA-15177: ??????????? (DBD ERROR: OCIStmtExecute)

由于对当前的controlfile做了删除操作,报错,这点要比UNIX下面要好,否则要恢复


ASMCMD> cd controlfile
ASMCMD> ls
Current.289.652879209
ASMCMD> ls -l
Type         Redund  Striped  Time              Sys  Name
CONTROLFILE  UNPROT  FINE     4?  24 11:00:00   Y    Current.289.652879209
ASMCMD> pwd
+disk_group2/devdb/controlfile
ASMCMD> cd ..
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
ONLINELOG/
ASMCMD> cd onlinelog
ASMCMD> ls
group_1.277.642080697
group_1.331.652879217
group_2.333.652879223
group_3.334.652879231
ASMCMD> cd ..
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
ONLINELOG/
ASMCMD> cd  onlinelog
ASMCMD> ls
group_1.277.642080697
group_1.331.652879217
group_2.333.652879223
group_3.334.652879231
ASMCMD> ls -l
Type       Redund  Striped  Time              Sys  Name
ONLINELOG  UNPROT  FINE     4?  09 09:00:00   Y    group_1.277.642080697
ONLINELOG  UNPROT  FINE     4?  24 11:00:00   Y    group_1.331.652879217
ONLINELOG  UNPROT  FINE     4?  24 11:00:00   Y    group_2.333.652879223
ONLINELOG  UNPROT  FINE     4?  24 11:00:00   Y    group_3.334.652879231
ASMCMD> rm group_1.277.642080697
ASMCMD> ls
group_1.331.652879217
group_2.333.652879223
group_3.334.652879231
ASMCMD> ls -l
Type       Redund  Striped  Time              Sys  Name
ONLINELOG  UNPROT  FINE     4?  24 11:00:00   Y    group_1.331.652879217
ONLINELOG  UNPROT  FINE     4?  24 11:00:00   Y    group_2.333.652879223
ONLINELOG  UNPROT  FINE     4?  24 11:00:00   Y    group_3.334.652879231
ASMCMD> cd ..
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
ONLINELOG/
ASMCMD> cd archivelog
ASMCMD> ls
2008_03_31/
2008_04_02/
2008_04_03/
2008_04_07/
2008_04_08/
2008_04_24/
ASMCMD> rm -r 2008_03*
You may delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> ls
2008_04_02/
2008_04_03/
2008_04_07/
2008_04_08/
2008_04_24/
ASMCMD> rm -r 2008_04_0*

也支持UNXI命令,批量删除不需要的目录

 

SQL> select group_number,name,total_mb,free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME                             TOTAL_MB    FREE_MB
------------ ------------------------------ ---------- ----------
           1 DISK_GROUP1                          6144       4818
           2 DISK_GROUP2                          6144       5865

呵呵,检查剩余空间,还是不少的.

ASM建库的优点:

SQL> show parameter control_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      +DISK_GROUP1/devdb/controlfile
                                                 /current.447.652879209, +DISK_
                                                 GROUP2/devdb/controlfile/curre
                                                 nt.289.652879209

controlfile被分在两个磁盘组

SQL>  select * from v$logfile;


    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- -----------------------------------------------------------------------------------
         3         ONLINE  +DISK_GROUP1/devdb/onlinelog/group_3.259.652879227
         3         ONLINE  +DISK_GROUP2/devdb/onlinelog/group_3.334.652879231
         2         ONLINE  +DISK_GROUP1/devdb/onlinelog/group_2.290.652879221
         2         ONLINE  +DISK_GROUP2/devdb/onlinelog/group_2.333.652879223
         1         ONLINE  +DISK_GROUP1/devdb/onlinelog/group_1.444.652879213
         1         ONLINE  +DISK_GROUP2/devdb/onlinelog/group_1.331.652879217

已选择6行。

日志每个成员分配在不同的磁盘组,平衡IO.

SQL> select name from v$datafile;

NAME
---------------------------------------------------
+DISK_GROUP1/devdb/datafile/system.289.652879115
+DISK_GROUP1/devdb/datafile/undotbs1.257.652879115
+DISK_GROUP1/devdb/datafile/sysaux.256.652879115
+DISK_GROUP1/devdb/datafile/users.258.652879115
+DISK_GROUP1/devdb/datafile/example.268.652879257

数据文件肯定是指定哪组就在哪组

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/175005/viewspace-250395/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/175005/viewspace-250395/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值