Sto cercando di ripulire i file di traccia su uno dei miei banchi di prova RAC. Oracle Corp è stata così gentile da nominare il database "-MGMTDB" per farmi una bella sfida (gocciolante di sarcasmo). Eccomi nel mio DIAGNOTIC_DEST e possiamo vedere due database.
[oracle@host01 trace]$ cd /u01/app/oracle/diag/rdbms [oracle@host01 rdbms]$ ls -l total 8 drwxr-x--- 3 oracle oinstall 4096 Jun 17 14:07 _mgmtdb drwxr-x--- 3 oracle oinstall 4096 Aug 10 13:13 resp
La directory "resp" è per il mio database Research Primary, un banco di prova. La prima voce è per il database del repository Cluster Health Monitor (CHM) sul mio sistema Grid Infrastructure 12.1.0.2. Posso cambiare directory abbastanza facilmente.
[oracle@host01 rdbms]$ cd _mgmtdb [oracle@host01 _mgmtdb]$ ls -l total 4 -rw-r----- 1 oracle oinstall 0 Jun 17 14:07 i_1.mif drwxr-x--- 16 oracle oinstall 4096 Jun 17 14:06 -MGMTDB
Ma ora ho problemi con il prossimo comando 'cd'.
[oracle@host01 _mgmtdb]$ cd -MGMTDB -bash: cd: -M: invalid option cd: usage: cd [-L|-P] [dir]
Per aggirare il problema, ho bisogno di usare "punto-barra" prima del nome della directory.
[oracle@host01 _mgmtdb]$ cd ./-MGMTDB [oracle@host01 -MGMTDB]$ cd trace
Ora, come qualsiasi altra directory di traccia Oracle, ho molti file .trc e .trm, simili a questi:
-rw-r----- 1 oracle oinstall 21301 Nov 30 13:43 -MGMTDB_vktm_5472.trc -rw-r----- 1 oracle oinstall 1946 Nov 30 13:43 -MGMTDB_vktm_5472.trm
Quindi come rimuoverli? Ricevo un errore perché "rm" pensa che "-M" sia un parametro.
[oracle@host01 trace]$ rm *.trc *.trm rm: invalid option -- M Try `rm ./-MGMTDB_ckpt_5494.trc' to remove the file `-MGMTDB_ckpt_5494.trc'. Try `rm --help' for more information.
Il trucco è usare "–" per dire alla riga di comando che ciò che segue non è più un elenco di parametri.
[oracle@host01 trace]$ rm -- *.trc *.trm
La vita sarebbe stata molto più facile se Oracle si fosse ricordato che quasi tutti eseguono Oracle su *nix con questi parametri stupidi che iniziano anche con un trattino.