Oracle
 sql >> Base de données >  >> RDS >> Oracle

cd :-M :option invalide

J'essaie de nettoyer les fichiers de trace sur l'un de mes bancs d'essai RAC. Oracle Corp a eu la gentillesse de nommer la base de données "-MGMTDB" pour que je me lance un beau défi (dégoulinant de sarcasme). Me voici dans mon DIAGNOTIC_DEST et on peut voir deux bases de données.

[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

Le répertoire 'resp' est pour ma base de données Research Primary, un banc d'essai. La première entrée concerne la base de données du référentiel Cluster Health Monitor (CHM) sur mon système Grid Infrastructure 12.1.0.2. Je peux changer de répertoire assez facilement.

[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

Mais maintenant j'ai des problèmes avec la prochaine commande "cd".

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

Pour contourner cela, j'ai besoin d'utiliser "point-slash" avant le nom du répertoire.

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

Maintenant, comme tout autre répertoire de trace Oracle, j'ai beaucoup de fichiers .trc et .trm, similaires à ceux-ci :

-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

Alors comment les supprimer ? J'obtiens une erreur car "rm" pense que "-M" est un paramètre.

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

L'astuce consiste à utiliser "-" pour indiquer à la ligne de commande que ce qui suit n'est plus une liste de paramètres.

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

La vie aurait été tellement plus facile si Oracle s'était souvenu que presque tout le monde utilise Oracle sur *nix avec ces paramètres idiots qui commencent également par un tiret.