由于配置了一些计划任务,导致在adump目录下产生了大量的SYS用户登录的审计跟踪文件,可以看到目前/u01挂载点的inode已经使用了28%,数量达到了800多万个,说明审计跟踪文件差不多有800万个左右。
[oracle@DB1 ~]$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1310720 108775 1201945 9% /
tmpfs 2041784 268 2041516 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
/dev/sda4 29876224 8118425 21757799 28% /u01
/dev/sdb1 6553600 30 6553570 1% /arch
/dev/mapper/vg-data 32112640 49 32112591 1% /data
使用rsync是比较快速删除大量小文件的方法。用时大约12小时,平均每小时删除65万个左右。
[oracle@DB1 DB1]$ mkdir blank
[oracle@DB1 DB1]$ rsync -a --delete blank/ adump/
删除后inode使用率降到了1%。
[oracle@DB1 ~]$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1310720 108773 1201947 9% /
tmpfs 2041784 268 2041516 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
/dev/sda4 29876224 120039 29756185 1% /u01
/dev/sdb1 6553600 32 6553568 1% /arch
/dev/mapper/vg-data 32112640 50 32112590 1% /data
删除adump目录下的文件后,adump目录仍旧占用了600多M空间,更改数据库的audit_file_dest,删除adump,释放空间。
[oracle@DB1 DB1]$ ll /u01/app/oracle/admin/DB1/
drwxr-xr-x 2 oracle oinstall 647413760 May 14 16:01 adump
SQL> alter system set audit_file_dest='/u01/app/oracle/admin/DB1/adump1' scope=spfile;
System altered.
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/DB1/
adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 8818814976 bytes
Fixed Size 2260408 bytes
Variable Size 4664066632 bytes
Database Buffers 4127195136 bytes
Redo Buffers 25292800 bytes
Database mounted.
Database opened.
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/DB1/
adump1
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
[oracle@DB1 DB1]$ rm -fr adump
然后配置删除审计跟踪文件的计划任务。
[oracle@DB1 scripts]$ pwd
/home/oracle/scripts
[oracle@DB1 scripts]$ cat delaud.sh
#!/bin/bash
. /home/oracle/.bash_profile
cd /u01/app/oracle/admin/DB1
rsync -a --delete blank/ adump1/
[oracle@DB1 scripts]$ crontab -e
00 18 * * * /home/oracle/scripts/delaud.sh >/dev/null 2>&
[oracle@DB1 ~]$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1310720 108775 1201945 9% /
tmpfs 2041784 268 2041516 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
/dev/sda4 29876224 8118425 21757799 28% /u01
/dev/sdb1 6553600 30 6553570 1% /arch
/dev/mapper/vg-data 32112640 49 32112591 1% /data
使用rsync是比较快速删除大量小文件的方法。用时大约12小时,平均每小时删除65万个左右。
[oracle@DB1 DB1]$ mkdir blank
[oracle@DB1 DB1]$ rsync -a --delete blank/ adump/
删除后inode使用率降到了1%。
[oracle@DB1 ~]$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda3 1310720 108773 1201947 9% /
tmpfs 2041784 268 2041516 1% /dev/shm
/dev/sda1 51200 39 51161 1% /boot
/dev/sda4 29876224 120039 29756185 1% /u01
/dev/sdb1 6553600 32 6553568 1% /arch
/dev/mapper/vg-data 32112640 50 32112590 1% /data
删除adump目录下的文件后,adump目录仍旧占用了600多M空间,更改数据库的audit_file_dest,删除adump,释放空间。
[oracle@DB1 DB1]$ ll /u01/app/oracle/admin/DB1/
drwxr-xr-x 2 oracle oinstall 647413760 May 14 16:01 adump
SQL> alter system set audit_file_dest='/u01/app/oracle/admin/DB1/adump1' scope=spfile;
System altered.
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/DB1/
adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 8818814976 bytes
Fixed Size 2260408 bytes
Variable Size 4664066632 bytes
Database Buffers 4127195136 bytes
Redo Buffers 25292800 bytes
Database mounted.
Database opened.
SQL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/DB1/
adump1
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
[oracle@DB1 DB1]$ rm -fr adump
然后配置删除审计跟踪文件的计划任务。
[oracle@DB1 scripts]$ pwd
/home/oracle/scripts
[oracle@DB1 scripts]$ cat delaud.sh
#!/bin/bash
. /home/oracle/.bash_profile
cd /u01/app/oracle/admin/DB1
rsync -a --delete blank/ adump1/
[oracle@DB1 scripts]$ crontab -e
00 18 * * * /home/oracle/scripts/delaud.sh >/dev/null 2>&
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28536251/viewspace-2139044/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28536251/viewspace-2139044/