Oracle
 sql >> Datenbank >  >> RDS >> Oracle

cd:-M:ungültige Option

Ich versuche, Ablaufverfolgungsdateien auf einem meiner RAC-Testbeds zu bereinigen. Oracle Corp war so gnädig, die Datenbank „-MGMTDB“ zu nennen, um mich vor eine nette Herausforderung zu stellen (triefend vor Sarkasmus). Hier bin ich in meinem DIAGNOTIC_DEST und wir können zwei Datenbanken sehen.

[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

Das Verzeichnis „resp“ ist für meine Research Primary-Datenbank, eine Testumgebung. Der erste Eintrag ist für die Cluster Health Monitor (CHM)-Repository-Datenbank auf meinem Grid Infrastructure 12.1.0.2-System. Ich kann das Verzeichnis leicht genug ändern.

[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

Aber jetzt habe ich Probleme mit dem nächsten ‚cd‘-Befehl.

[oracle@host01 _mgmtdb]$ cd -MGMTDB
-bash: cd: -M: invalid option
cd: usage: cd [-L|-P] [dir]

Um das zu umgehen, muss ich „Punkt-Schrägstrich“ vor dem Verzeichnisnamen verwenden.

[oracle@host01 _mgmtdb]$ cd ./-MGMTDB
[oracle@host01 -MGMTDB]$ cd trace

Jetzt habe ich wie jedes andere Trace-Verzeichnis von Oracle viele .trc- und .trm-Dateien, ähnlich wie diese:

-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

Wie kann man sie also entfernen? Ich erhalte eine Fehlermeldung, weil „rm“ denkt, dass „-M“ ein Parameter ist.

[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.

Der Trick besteht darin, „–“ zu verwenden, um der Befehlszeile mitzuteilen, dass das Folgende keine Liste von Parametern mehr ist.

[oracle@host01 trace]$ rm -- *.trc *.trm

Das Leben wäre so viel einfacher gewesen, wenn Oracle sich daran erinnert hätte, dass fast jeder Oracle auf *nix mit diesen albernen Parametern ausführt, die auch mit einem Bindestrich beginnen.