sql >> Database >  >> RDS >> Oracle

cd:-M:ongeldige optie

Ik probeer traceerbestanden op een van mijn RAC-testbeds op te schonen. Oracle Corp was zo vriendelijk om de database "-MGMTDB" te noemen om me een leuke uitdaging te geven (druipend van sarcasme). Hier ben ik in mijn DIAGNOTIC_DEST en we kunnen twee databases zien.

[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

De directory 'resp' is voor mijn Research Primary database, een testbed. Het eerste item is voor de Cluster Health Monitor (CHM) repository-database op mijn Grid Infrastructure 12.1.0.2-systeem. Ik kan de directory gemakkelijk genoeg veranderen.

[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

Maar nu heb ik problemen met het volgende 'cd'-commando.

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

Om dat te omzeilen, moet ik "dot-slash" gebruiken voor de mapnaam.

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

Nu heb ik, net als elke andere Oracle-traceerdirectory, veel .trc- en .trm-bestanden, vergelijkbaar met deze:

-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

Dus hoe ze te verwijderen? Ik krijg een foutmelding omdat 'rm' denkt dat '-M' een parameter is.

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

De truc is om "-" te gebruiken om de opdrachtregel te vertellen dat wat volgt niet langer een lijst met parameters is.

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

Het leven zou zoveel gemakkelijker zijn geweest als Oracle zich had herinnerd dat bijna iedereen Oracle op *nix draait met deze dwaze parameters die ook met een streepje beginnen.


  1. Een tekenreeks in een SQL Server-tabelkolom vervangen

  2. PostgreSQL-functie / opgeslagen procedure CURRENT_TIMESTAMP verandert niet

  3. Begrijp groep per clausule in SQL Server - SQL Server / TSQL-zelfstudie, deel 130

  4. ERROR 1067 (42000):Ongeldige standaardwaarde voor 'created_at'