J'ai lu des articles ici, sur le support Oracle, et partout où je peux trouver ces trois derniers jours et j'ai abandonné ce problème ...
Une base de données Oracle s'est bloquée. L'arrêt de la base de données a duré quelques heures, puis il s'est arrêté. Cela ne redémarrerait pas. Le serveur a été redémarré. Oracle a été redémarré. Aller étape par étape: le démarrage nomount fonctionne, modifier la base de données fonctionne, modifier la base de données ouverte renvoie ORA-03113. Tout cela est sur localhost - pas sur le réseau. La machine n'a aucun pare-feu en cours d'exécution.
Une idée de comment surmonter cette erreur ORA-03113? Je suis au téléphone avec support en Inde depuis 4,5 heures et je n'ai encore trouvé personne utile.
ALTER DATABASE OPEN
et des erreurs après cela.Réponses:
Après des heures de mauvaise orientation du support officiel d'Oracle, je me suis plongé dans ce problème par moi-même et l'ai résolu. Je le documente ici au cas où quelqu'un d'autre aurait ce problème.
Pour ce faire, vous devez être l'utilisateur oracle:
Étape 1: vous devez consulter le journal des alertes. Ce n'est pas dans / var / log comme prévu. Vous devez exécuter un programme de lecture des journaux Oracle:
Remarquez la base ADR. Ce n'est pas l'installation. Vous devez voir les maisons pour pouvoir vous connecter à celle que vous utilisez.
CCI est la maison. Réglez ça.
Maintenant, vous pouvez consulter les journaux d'alertes. Ce serait très bien s'ils étaient dans / var / log afin que vous puissiez facilement analyser les journaux. Arrêtez de vouloir et traitez cette interface. Au moins, vous pouvez suivre (et j'espère que vous avez un tampon de défilement):
Faites défiler jusqu'à ce que vous voyiez des erreurs. Vous voulez la PREMIÈRE erreur. Toute erreur après la première erreur est probablement due à la première erreur. Dans mon cas, la première erreur a été:
Cela est dû aux transactions. Oracle n'est pas conçu pour être utilisé. Si vous y insérez beaucoup de données, il enregistre les journaux de transactions. Ceux-ci vont dans la zone du fichier de récupération. Une fois que c'est plein (50 Go plein dans ce cas). Ensuite, Oracle meurt. Par conception, si quelque chose est gâché, Oracle répondra en s'arrêtant.
Il existe deux solutions, la bonne et la rapide et sale. Le plus rapide et le plus sale consiste à augmenter db_recovery_file_dest_size. Tout d'abord, quittez adrci.
Maintenant, allez dans sqlplus sans ouvrir la base de données, juste en la montant (vous pouvez peut-être le faire sans monter la base de données, mais je la monte quand même).
Maintenant, vous pouvez augmenter votre db_recovery_file_dest_size actuelle, augmentée à 75G dans mon cas:
Maintenant, vous pouvez à nouveau arrêter et redémarrer et cette erreur précédente devrait avoir disparu.
La solution appropriée consiste à se débarrasser des fichiers de récupération. Pour ce faire, utilisez RMAN, pas SQLPLUS ou ADRCI.
Si vous en avez
RMAN-06171: not connected to target database
, essayez d'utiliserrman target /
au lieu de simplementrman
Attendez longtemps et votre archivelog (qui utilisait tout cet espace) aura disparu. Ainsi, vous pouvez arrêter / démarrer votre base de données et reprendre votre activité.
la source
export ORACLE_SID=my_oracle
//rman target /
RMAN
, afin d'effacer la zone d'archives, ainsi que d'autres choses. Attention, car il effacera