在删除了Oralce的undo文件之后...

来源:互联网 发布:weex js service 编辑:程序博客网 时间:2024/04/30 04:58

Oracle 数据库用久了可能会碰到如下的错误:

Oracle error description: ORA-09817: Write to audit file failed. 
Linux Error: 28: No space left on device . 

这意味着Oracle所在的服务器已经无剩余空间可用,如果去查看$ORACLE_ROOT/oradata/orcl/undotbs01.dbf 就会发现这个uodo文件会非常巨大。如果一时手痒删除了这个文件(比如本人),会变得非常麻烦,Oracle可能会就此挂掉。

尝试了如下步骤终于使得Oracle恢复正常:

1 一定不要重启Oracle

2 删除Oracle服务器上的一些文件以释放一些空间

3 建一个新的表空间,如:

SQL > create undo tablespace undotBS2 datafile '/local/oracle/oradata/orcl/undotbs2.dbf' size 100M;

4 将新建的表空间设为系统undo表空间,如:

SQL > alter system set undo_tablespace=undotBS2;

5 offline原系统的undo表空间,如:

SQL > alter database datafile '/local/oracle/oradata/orcl/undotbs01.dbf' offline drop;

6 Drop原系统的undo表空间,如:

SQL > drop tablespace undotbs1;

7 重启Oracle

原创粉丝点击