1

我在运行 Oracle 10G XE 版的 Windows XP 上。运行碎片整理和清理过程后,我无法访问数据库上的任何对象。

快速检查

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;

返回这个

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'

我该如何解决这种情况?“D:\ORACLEEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\”文件夹中有零个文件。

4

2 回答 2

1

我很确定这属于 SERVERFAULT,但现在让你继续:

似乎数据库处于 ARCHIVELOG 模式,并且您没有提供存储归档日志文件的位置。一个快速修复,假设您不需要存档日志记录为您提供的恢复保护,请尝试以下操作:

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

如果您确实想保留存档的重做日志,那么您需要在数据库参数中添加如下条目:

alter system set log_archive_dest_1='location=d:\oraclexe\app\oracle\...';
alter system set log_archive_dest_state_1=enable;
于 2010-12-04T00:05:14.930 回答
0

听起来在您的清理过程中您可能已经删除了 .LOG 文件。我假设您已清空垃圾箱并且无法恢复它们?

于 2010-12-03T19:00:21.813 回答