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.