Sollte etwas mit beim Erzeugen der Basisdatenbank nicht funktionieren und die Oracle Processe der Instance sind nicht beendet, dann kann man diese beenden, indem man sich als sysdba anmeldet und mit dem Befehl shutdown die Instance herunterfährt.
oracle@tux01:~$ sqlplus /nolog <<EOF conn / as sysdba shutdown abort; EOF
Wurden schon Datafiles erzeugt, so müssen die gelöscht werden.
oracle@tux01:~$ find /oracle/oradata/DB01/ -type f -exec rm {} \;
Ist die Installation gescheitert, und die Oracle Prozesse wurden nicht richtig beendet, zum Beispiel mit kill -9, dann wird der belegte Speicher in der Shared Memory und Semaphore Arrays nicht mehr frei gegeben. Um dies Speicherbereiche zu löschen, gibt es den Befehl ipcrm und zum Anzeigen ipcs. Solange dies Speicherbereiche nicht gelöscht sind, lässt sich Oracle nicht starten und gibt die Fehlermeldung:
ORA-01081: cannot start already-running ORACLE - shut it down first
aus.
Hier wird kurz demonstriert, wie man diese Speicherbereiche löscht.
oracle@tux01:~$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x00000000 524288 oracle 640 4194304 0 0x00000000 557057 oracle 640 50331648 0 0x00000000 589826 oracle 640 83886080 0 0x2a0549d4 622595 oracle 640 71303168 0 ------ Semaphore Arrays -------- key semid owner perms nsems status 0x9ac10ec0 622592 oracle 640 104 ------ Message Queues -------- key msqid owner perms used-bytes messages oracle@tux01:~$ for SHMID in `ipcs -m |grep oracle|awk '{print $2}'`; do ipcrm shm $SHMID; done resource(s) deleted resource(s) deleted resource(s) deleted resource(s) deleted oracle@tux01:~$ for SEMID in `ipcs -s |grep oracle|awk '{print $2}'`; do ipcrm sem $SEMID; done resource(s) deleted oracle@tux01:~/admin/DB01/create$ ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems status ------ Message Queues -------- key msqid owner perms used-bytes messages