欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle数据库ORA-00257解决

程序员文章站 2022-06-08 10:35:06
...

今天Oracle数据库突然连不上了,报ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于Archivelog归档日志太多,占

今天Oracle数据库突然连不上了,报ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于Archivelog归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。

首先进入oracle用户,使用rman工具执行命令rman target/:

oracle@test-idm-db01$ rman target/

Recovery Manager: Release 11.2.0.1.0 - Production on Wed May 15 09:29:06 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-01031: insufficient privileges

竟然报错了,如果你的空间100%一点剩余都没有,那么就会报这个错,只能想办法让你的系统腾出一点空间,哪怕几百兆!然后重启数据库应该就可以登陆dba了。

重启数据库,,再次rman

oracle@test-idm-db01$ rman target/

Recovery Manager: Release 11.2.0.1.0 - Production on Wed May 15 09:29:40 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database: IDM_TEST (DBID=4064060693)

现在删除Archivelog归档文件,执行下面的命令来删除最近7天的归档:

RMAN> DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';

也可以只保留最近7天的,其余的都删除:

RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

但是过一段时间你的日志还是回满,对于开发环境这样的归档功能其实没什么必要,彻底解决办法是关闭这个功能,用dba登陆oracle:

sqlplus / as sysdba;

然后执行下面的命令:

SQL> alter database flashback off;

然后重启数据库就OK了!

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2