web-dev-qa-db-fra.com

Comment puis-je supprimer une zone de table corrompue?

Problème:
[.____] sur un oracle 11.2g dB; Nous avons un TS corrompu qui ne permet pas de démarrer l'instance de base de données au-dessus de l'état du mont. Les TS ne peuvent pas être supprimés avec des méthodes standard (c'est-à-dire Enterprise Manager).

Que pouvons-nous faire?
[.____] Quelles autres informations sont nécessaires pour diagnostiquer le problème?

(Nous avons examiné ce que l'on vérifie le système de fichiers, ce qui est correct, mais le fichier DBF pour l'espace de table est perdu.)

4
stmoebius

Si vous voulez simplement supprimer l'espace de table, avez-vous essayé de vous connecter en tant que sys et en laissant tomber?

DROP TABLESPACE <tablespace>
INCLUDING CONTENTS 
CASCADE CONSTRAINTS; 

Si oui, quel message d'erreur recevez-vous? (Je suppose que vous avez fait une sauvegarde froide de la base de données à ce stade, au cas où l'espace de table est nécessaire.)

Sinon, si vous pouvez déterminer quel Datafile est corrompu, vous pouvez le supprimer de l'espace de table:

ALTER DATABASE DATAFILE '<filename>' OFFLINE DROP; 

Assurez-vous que <nom de fichier> est le nom de fichier conn à Oracle, surtout si des liens peuvent être impliqués sur le disque! Sinon, vous obtiendrez des erreurs trompeuses sur les fichiers inexistants.

6
John Doyle