Jag försöker rensa upp spårningsfiler på en av mina RAC-testbäddar. Oracle Corp var vänlig nog att namnge databasen "-MGMTDB" för att jag skulle ge mig en trevlig utmaning (drypande av sarkasm). Här är jag i min DIAGNOTIC_DEST och vi kan se två databaser.
[oracle@host01 spåra]$ cd /u01/app/oracle/diag/rdbms[oracle@host01 rdbms]$ ls -ltotal 8drwxr-x--- 3 oracle oinstall 4096 jun 17 14:07 _mgmtdbdrwxr-x- -- 3 oracle oinstall 4096 10 aug 13:13 resp
Katalogen "resp" är för min primära forskningsdatabas, en testbädd. Den första posten är för Cluster Health Monitor (CHM) databas på mitt Grid Infrastructure 12.1.0.2-system. Jag kan enkelt byta katalog.
[oracle@host01 rdbms]$ cd _mgmtdb[oracle@host01 _mgmtdb]$ ls -ltotal 4-rw-r----- 1 oracle oinstall 0 Jun 17 14:07 i_1.mifdrwxr-x--- 16 oracle oinstall 4096 17 juni 14:06 -MGMTDB
Men nu har jag problem med nästa 'cd'-kommando.
[oracle@host01 _mgmtdb]$ cd -MGMTDB-bash:cd:-M:ogiltig optioncd:användning:cd [-L|-P] [dir]
För att komma runt det måste jag använda "dot-slash" före katalognamnet.
[oracle@host01 _mgmtdb]$ cd ./-MGMTDB[oracle@host01 -MGMTDB]$ cd spårning
Nu som alla andra Oracle-spårningskataloger har jag massor av .trc- och .trm-filer, liknande dessa:
-rw-r----- 1 oracle oinstall 21301 30 nov 13:43 -MGMTDB_vktm_5472.trc-rw-r----- 1 oracle oinstall 1946 30 nov 13:43 -MGMTDB_vktm_5472.>Så hur tar man bort dem? Jag får ett felmeddelande eftersom 'rm' tror att '-M' är en parameter.
[oracle@host01 spåra]$ rm *.trc *.trmrm:ogiltigt alternativ -- MTförsök `rm ./-MGMTDB_ckpt_5494.trc' för att ta bort filen `-MGMTDB_ckpt_5494.trc'. Försök `rm --help' för mer information.Tricket är att använda "–" för att tala om för kommandoraden att det som följer inte längre är en lista med parametrar.
[oracle@host01 spåra]$ rm -- *.trc *.trmLivet skulle ha varit så mycket lättare om Oracle hade kommit ihåg att nästan alla kör Oracle på *nix med dessa fåniga parametrar som också börjar med ett streck.