GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat databázi Oracle Audit Růst adresáře souborů pomocí cronu (pouze instance ASM)

Cílové adresáře souboru auditu pro instanci ASM se mohou rozrůst a obsahovat velmi velký počet souborů, pokud nejsou pravidelně udržovány. Velmi velký počet souborů může způsobit, že v systému souborů dojde volné místo na disku nebo inody, nebo může způsobit, že Oracle bude běžet velmi pomalu kvůli limitům škálování adresářů souborového systému, což může vypadat, že instance ASM visí. spuštění.

Tento příspěvek vysvětluje, jak používat linuxový nástroj cron ke správě počtu souborů v cílových adresářích auditního souboru. Tyto kroky je nutné provést pro instanci ASM na každém databázovém serveru. Tento dokument vysvětluje, jak spravovat cílové adresáře souboru auditu pouze pro instance ASM.

Krok 1 – Identifikujte adresáře auditu ASM

Existují tři adresáře, které mohou obsahovat soubory auditu. Všechny tři musí být zvládnuty tak, aby bylo možné kontrolovat nadměrný růst.

Dvě výchozí umístění jsou založena na nastavení proměnné prostředí při spuštění instance ASM. Chcete-li určit výchozí umístění pro váš systém, přihlaste se jako vlastník softwaru Grid Infrastructure (obvykle buď oracle nebo grid), nastavte své prostředí tak, abyste se mohli připojit k instanci ASM, a poté spusťte níže uvedené příkazy „echo“. V tomto příkladu jsou dva výchozí adresáře auditu /u01/app/11.2.0/grid/rdbms/audit a /u01/app/oracle/admin/+ASM1/adump.

$ . /usr/local/bin/oraenv
ORACLE_SID = [+ASM1] ? +ASM1
The Oracle base for ORACLE_HOME=/u01/app/11.2.0/grid is /u01/app/oracle
$ echo $ORACLE_HOME/rdbms/audit
/u01/app/11.2.0/grid/rdbms/audit
$ echo $ORACLE_BASE/admin/$ORACLE_SID/adump
/u01/app/oracle/admin/+ASM1/adump

Třetí adresář auditu ASM lze najít přihlášením do instance ASM pomocí SQL*Plus a spuštěním tohoto příkazu:

$ sqlplus '/ as sysasm'

SQL> select value from v$parameter where name = 'audit_file_dest';

VALUE
--------------------------------------------------------------------------------
/u01/app/11.2.0/grid/rdbms/audit

Všechny tři adresáře auditu ASM budou spravovány pomocí cron.

Krok 2 – Udělte vlastníkovi softwaru Grid Infrastructure oprávnění používat cron

Soubory auditu vlastní vlastník softwaru Grid Infrastructure, kterým je obvykle Oracle nebo grid. Příkazy k přesunutí nebo odstranění souborů auditu musí být spuštěny jako vlastník softwaru Grid Infrastructure. Jako root přidejte vlastníka softwaru Grid Infrastructure do souboru /etc/cron.allow. Níže uvedené příklady používají uživatelský oracle.

# echo oracle >> /etc/cron.allow

Krok 3 – Přidejte příkaz do crontab pro správu souborů auditu každý týden

Jako vlastník softwaru Grid Infrastructure přidejte položku do souboru crontab. Následující příkaz zahájí relaci úprav příkazu vi(P) za účelem úpravy existujícího souboru crontab nebo vytvoření nového souboru crontab, pokud takový ještě neexistuje.

$ crontab -e

Přidejte do tohoto souboru jako jeden řádek následující:

0 2 * * sun /usr/bin/find /u01/app/11.2.0/grid/rdbms/audit /u01/app/11.2.0/grid/rdbms/audit /u01/app/oracle/admin/+ASM1/adump -maxdepth 1 -name '*.aud' -mtime +30 -delete

Tento záznam crontab provede příkaz find každou neděli ve 2:00. Příkaz find odstraní všechny auditní soubory ve třech auditních adresářích ASM, které jsou starší než 30 dní.

Pokud si přejete uchovat auditní soubory po delší dobu, můžete místo mazání auditních souborů příkazem find(1) archivovat auditní soubory do jiného adresáře nebo úložného zařízení pomocí položky crontab, jako je následující:

0 2 * * sun /usr/bin/find /u01/app/11.2.0/grid/rdbms/audit /u01/app/11.2.0/grid/rdbms/audit /u01/app/oracle/admin/+ASM1/adump -maxdepth 1 -name '*.aud' -mtime +30 -execdir /bin/mv {} /archived_audit_dir \;

Tento záznam crontab provede příkaz find každou neděli ve 2:00. Příkaz find přesune všechny auditní soubory ve třech auditních adresářích ASM, které jsou starší než 30 dní, do /archived_audit_dir. Uložte a ukončete soubor crontab pomocí příkazů vi ([ESC] :wq), poté ověřte obsah crontab.

$ crontab -l
0 2 * * sun /usr/bin/find /u01/app/11.2.0/grid/rdbms/audit /u01/app/11.2.0/grid/rdbms/audit /u01/app/oracle/admin/+ASM1/adump -maxdepth 1 -name '*.aud' -mtime +30 -delete

Odstraňování problémů

Pokud se staré soubory auditu neodstraňují, proveďte následující kroky:

1. Chcete-li sledovat, zda cron provádí příkaz find podle plánu a jako správný vlastník softwaru Grid Infrastructure, přečtěte si /var/log/cron soubor jako uživatel root pro položku jako je následující:

Feb 20 02:00:01 dm01db01 crond[6936]: (oracle) CMD (/usr/bin/find /u01/app/11.2.0/grid/rdbms/audit /u01/app/11.2.0/grid/rdbms/audit /u01/app/oracle/admin/+ASM1/adump -maxdepth 1 -name '*.aud' -mtime +60 -delete)

2. Přihlaste se jako uživatel, který vlastní položku crontab (tj. vlastník softwaru Grid Infrastructure). Ručním spuštěním příkazu find ověřte správnost syntaxe příkazu a zda nejsou hlášeny žádné chyby.


Linux
  1. Linux – Jak zajistit, aby Oracle Java 7 fungoval se Setcap Cap_net_bind_service+ep?

  2. Jak přesměrovat pouze Stderr?

  3. Jak změnit oprávnění k souborům a adresářům pomocí Správce souborů

  1. Jak najít všechny soubory s velikostí souboru nula (0) bajtů v adresáři rekurzivně

  2. Jak získat název souboru pouze pomocí Linuxu „najít“?

  3. Jak podložit soubor pomocí FF pomocí dd?

  1. Jak spravovat možnosti souborů Linux

  2. Jak vytvořit databázi v MySQL pomocí MySQL Workbench

  3. Jak spravovat uživatele pomocí useradd v linuxu