2010-12-03 38 views
1

Je suis sous Windows XP sous Oracle 10G XE Edition. Après avoir exécuté un processus de nettoyage de défragmentation &, je n'ai pu accéder à aucun des objets de la base de données.Oracle DB n'autorise pas les utilisateurs à interroger les tables

Une vérification rapide

set lines110 
col strtd hea 'STARTED' 
col instance_name for a8 hea 'INSTANCE' 
col host_name for a15 hea 'HOSTNAME' 
col version for a10 



select instance_name, version, host_name, status 
, database_status, to_char(startup_time,'DD-MON-YYYY HH:MI:SS') strtd 
from v$instance; 

renvoie cette

INSTANCE VERSION HOSTNAME  STATUS  DATABASE_STATUS STARTED 
-------- ---------- --------------- ------------ ----------------- ---------------------------------------------------- 
xe  10.2.0.1.0 DT8775C MOUNTED  ACTIVE   03-DEC-2010 11:38:00 


If I use this command, it throws the following error. 
SQL> ALTER DATABASE OPEN; 
ALTER DATABASE OPEN 
* 
*ERROR at line 1:* 
ORA-16014: log 2 sequence# 679 not archived, no available destinations 
ORA-00312: online log 2 thread 1: 
'D:\ORACLEEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_2_4JD5RZC0_.LOG' 

Comment puis-je remédier à cette situation? Le dossier "D: \ ORACLEEXE \ APP \ ORACLE \ FLASH_RECOVERY_AREA \ XE \ ONLINELOG \" contient zéro fichier.

Répondre

0

Cela ressemble à votre processus de nettoyage, vous avez peut-être supprimé les fichiers .log. Je suppose que vous avez vidé la poubelle et ne pouvez pas les restaurer?

+0

Salut Roger, C'est correct. Puis-je le mettre en marche? C'est une machine de développement seulement et à court de ré-installer Oracle XE, y at-il des options disponibles? – abhi

+0

La seule option que vous avez est d'abandonner et de recréer la base de données. Si vous ne pouvez pas le faire via le frontend XE, vous devrez le faire via SQL * Plus, voir le guide d'administration pour plus de détails: http://download.oracle.com/docs/cd/B19306_01/server.102 /b14231/create.htm#i1017640 –

1

Je suis assez sûr que cela appartient à serverfault, mais pour vous y aller pour le moment:

Il semble que la base de données est en mode ARCHIVELOG et que vous avez non fourni un emplacement pour stocker les fichiers journaux archivés. Une solution rapide, en supposant que vous n'avez pas besoin de la protection de récupération qui archive la journalisation vous donne est d'essayer ceci:

sqlplus/as sysdba 
SQL> shutdown immediate; 
SQL> startup mount; 
SQL> ALTER DATABASE NOARCHIVELOG; 
SQL> ALTER DATABASE OPEN; 

Si vous voulez garder vos journaux redo archivés, alors vous aurez besoin d'entrées comme celui-ci dans vos paramètres de base de données:

alter system set log_archive_dest_1='location=d:\oraclexe\app\oracle\...'; 
alter system set log_archive_dest_state_1=enable; 
+0

Je vais devoir tester ça. Ce que j'ai fait était une réinstallation complète d'Oracle XE, ce que je voulais initialement éviter. – abhi

+0

Si c'est le problème, vous le rencontrerez à nouveau ;-) – DCookie