日期:2014-05-16  浏览次数:20461 次

UNDOTBS01.DBF太大(16.7G)引起的ORA-01033(转)

环境: Win2003 Enterprise Edition SP1

Oracle 9i

?IIS 6.0

问题描述: 用dba(hl330)用户登陆Oracle数据库时,登陆失败。 提示错误:ORA-01033:oracle initialization or shutdown in progress。

?

原因: 造成此ORA-01033的原因:某个数据文件出错,从而使oracle进程打不开此文件。(有可能是误除了数据文件,也有可能是数据文件太大(16G))。

?

查错步骤:

?1:怀疑文件被误删除,进入oracle数据文件夹(/dbsvr),查找后发现没有被误删除的文件(询问是否有人误删除Oracle文件,答案:否)。

?2:怀疑有大的数据文件(一般是undo文件和temp文件)。进入oracle的数据文件夹(/dbsvr),发现UNDOTBS01.DBF有16G。

?3:定位错误:UndoTbs表空间太大而引起Oracle例程再打开此文件时候时间超时,引起ora-011033.

?

?

解决步骤:

?

1:建立空UNDOTBS01.DBF文件。 将16G 的回退文件UNDOTBS01.DBF,拷贝到另个目录,然后在/dbsvr目录下新建立一个空的UNDOTBS01.DBF文件。 如果不执行这个操作,直接用sys登录会出现listerern监听超时提示,原因是打开UNdotbs01.dbf时间太长,所以此步骤是必需的。

?

2:用sys超级用户登陆oracle,

?

$sqlplus /nolog
 SQL> connect system/system as sysdba
 SQL> shutdown immediate 
SQL> startup nomount
 SQL> alter databse mount; 
SQL> alter database datafile 'E:\oracle\oradata\dbsvr\UNDOTBS01.DBF' offline drop; 
SQL>alter databse open; 
SQL>quit;

?