使用cron來(lái)管理Oracle ASM審計(jì)文件目錄的增長(zhǎng)
如果不對(duì)Oracle ASM實(shí)例的審計(jì)文件目錄進(jìn)行定期維護(hù)那么它將會(huì)包含大量的審計(jì)文件。如果存在大理審計(jì)文件可能會(huì)造成文件系統(tǒng)耗盡磁盤(pán)空間或indoes,或者由于文件系統(tǒng)擴(kuò)展限制而造成Oracle運(yùn)行緩慢,還有可能造成Oracle ASM實(shí)例在啟動(dòng)時(shí)hang住。這里將介紹如何使用Linux的cron工具來(lái)管理Oracle ASM審計(jì)文件目錄的文件數(shù)量。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),豐都企業(yè)網(wǎng)站建設(shè),豐都品牌網(wǎng)站建設(shè),網(wǎng)站定制,豐都網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,豐都網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
下面將介紹具體的操作,而且這些操作必須對(duì)于RAC環(huán)境中的每個(gè)節(jié)點(diǎn)執(zhí)行。
1.識(shí)別Oracle ASM審計(jì)目錄
這里有三個(gè)目錄可能存在Oracle ASM的審計(jì)文件。所有三個(gè)目錄都要控制讓其不要過(guò)度增長(zhǎng)。兩個(gè)缺省目錄是基于Oracle ASM實(shí)例啟動(dòng)時(shí)環(huán)境變量的設(shè)置。為了判斷系統(tǒng)右的缺省目錄,以安裝Grid Infrastructure軟件的用戶(hù)(grid)登錄系統(tǒng),設(shè)置環(huán)境變量,因此可以連接到Oracle ASM實(shí)例,運(yùn)行echo命令。
[grid@cs1 ~]$ . /usr/local/bin/oraenv ORACLE_SID = [+ASM1] ? +ASM1 The Oracle base remains unchanged with value /u01/app/grid [grid@cs1 ~]$ echo $ORACLE_HOME/rdbms/audit /u01/app/product/12.2.0/crs/rdbms/audit [grid@cs1 ~]$ echo $ORACLE_BASE/admin/$ORACLE_SID/adump /u01/app/grid/admin/+ASM1/adump [grid@cs2 ~]$ . /usr/local/bin/oraenv ORACLE_SID = [+ASM2] ? The Oracle base remains unchanged with value /u01/app/grid [grid@cs2 ~]$ echo $ORACLE_HOME/rdbms/audit /u01/app/product/12.2.0/crs/rdbms/audit [grid@cs2 ~]$ echo $ORACLE_BASE/admin/$ORACLE_SID/adump /u01/app/grid/admin/+ASM2/adump
第三個(gè)Oracle ASM審計(jì)目錄可以使用SQL*Plus登錄Oracle ASM實(shí)例后進(jìn)行查詢(xún)
grid@cs1 ~]$ sqlplus / as sysasm SQL*Plus: Release 12.2.0.1.0 Production on Wed Aug 1 14:13:47 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> select value from v$parameter where name = 'audit_file_dest'; VALUE -------------------------------------------------------------------------------- /u01/app/product/12.2.0/crs/rdbms/audit
這里第三個(gè)目錄與第一個(gè)目錄是相同的
2.給Grid Infrastructure軟件用戶(hù)使用cron的權(quán)限
Oracle ASM的審計(jì)文件是由Grid Infrastructure軟件用戶(hù)所創(chuàng)建的,它通常為oracle或grid。移動(dòng)或刪除審計(jì)文件的命令必須由Grid Infrastructure軟件用戶(hù)來(lái)執(zhí)行。在Oracle Linux中如果/etc/cron.allow 文件存在,只有在文件中出現(xiàn)其登錄名稱(chēng)的用戶(hù)可以使用 crontab 命令。root 用戶(hù)的登錄名必須出現(xiàn)在cron.allow 文件中,如果/etc/cron.deny 文件存在,并且用戶(hù)的登錄名列在其中,那么這些用戶(hù)將不能執(zhí)行crontab命令。如果只有/etc/cron.deny 文件存在,任一名稱(chēng)沒(méi)有出現(xiàn)在這個(gè)文件中的用戶(hù)可以使用crontab 命令。在Oracle Linux 7.1中只有/etc/cron.deny文件,而且訪(fǎng)文件沒(méi)有任何用戶(hù)存在,就是說(shuō)所有用戶(hù)都能執(zhí)行crontab命令。
[root@cs1 etc]# cat cron.deny [root@cs1 etc]# ls -lrt crontab -rw-r--r--. 1 root root 451 Apr 29 2014 crontab [root@cs1 etc]# chmod 777 crontab [root@cs1 etc]# ls -lrt crontab -rwxrwxrwx. 1 root root 451 Apr 29 2014 crontab
3.添加命令到crontab來(lái)管理審計(jì)文件
以Grid Infrastructure軟件用戶(hù)來(lái)向crontab文件增加命令
[grid@cs1 ~]$ crontab -e 0 6 * * sun /usr/bin/find /u01/app/product/12.2.0/crs/rdbms/audit /u01/app/grid/admin/+ASM1/adump /u01/app/product/12.2.0/crs/rdbms/audit -maxdepth 1 -name '*.aud' -mtime +30 -delete
這個(gè)crontab條目在每個(gè)星期日的上午6點(diǎn)執(zhí)行find命令,find命令將從三個(gè)審計(jì)目錄中找出保存時(shí)間超過(guò)30天的所有審計(jì)文件將其刪除。如果想要保存審計(jì)文件更長(zhǎng)的時(shí)間,那么在執(zhí)行find命令后,將相關(guān)審計(jì)文件移到備份目錄中,例如:
0 6 * * sun /usr/bin/find /u01/app/product/12.2.0/crs/rdbms/audit /u01/app/grid/admin/+ASM1/adump /u01/app/product/12.2.0/crs/rdbms/audit -maxdepth 1 -name '*.aud' -mtime +30 -execdir /bin/mv {} /archived_audit_dir \;
檢查crontab
[grid@cs1 ~]$ crontab -l 0 6 * * sun /usr/bin/find /u01/app/product/12.2.0/crs/rdbms/audit /u01/app/grid/admin/+ASM1/adump /u01/app/product/12.2.0/crs/rdbms/audit -maxdepth 1 -name '*.aud' -mtime +30 -delete