Próbuję wyczyścić pliki śledzenia na jednym z moich stanowisk testowych RAC. Oracle Corp był na tyle łaskawy, aby nazwać bazę danych „-MGMTDB”, aby dać mi fajne wyzwanie (ociekające sarkazmem). Oto jestem w moim DIAGNOTIC_DEST i widzimy dwie bazy danych.
[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
Katalog „resp” to moja baza danych Research Primary, stanowisko testowe. Pierwszy wpis dotyczy bazy danych repozytorium Cluster Health Monitor (CHM) w moim systemie Grid Infrastructure 12.1.0.2. Mogę łatwo zmienić katalog.
[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
Ale teraz mam problem z następnym poleceniem „cd”.
[oracle@host01 _mgmtdb]$ cd -MGMTDB -bash: cd: -M: invalid option cd: usage: cd [-L|-P] [dir]
Aby to obejść, muszę użyć „kropki z ukośnikiem” przed nazwą katalogu.
[oracle@host01 _mgmtdb]$ cd ./-MGMTDB [oracle@host01 -MGMTDB]$ cd trace
Teraz, jak każdy inny katalog śledzenia Oracle, mam wiele plików .trc i .trm, podobnych do tych:
-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
Jak więc je usunąć? Otrzymuję błąd, ponieważ „rm” uważa, że „-M” jest parametrem.
[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.
Sztuczka polega na użyciu „–”, aby poinformować wiersz poleceń, że to, co następuje, nie jest już listą parametrów.
[oracle@host01 trace]$ rm -- *.trc *.trm
Życie byłoby o wiele łatwiejsze, gdyby Oracle pamiętało, że prawie wszyscy używają Oracle na *nix z tymi głupimi parametrami, które również zaczynają się od myślnika.