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

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

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

?

环境:

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,

C:>\sqlplus /nolog

SQL> connect sys/mimia@ora111 as sysdba

SQL> shutdown –immediate

SQL> startup nomount

SQL> alter databse mount;

SQL>

alter database file ‘alter database datafile 'E:\oracle\oradata\dbsvr\UNDOTBS01.DBF' offline drop;

SQL>alter databse open;

SQL>connect hl330/mimia@ora111;