Oracle 不小心删除undo数据文件以及磁盘空间不足导致不能登录的解决办法
在一次测试中,由于导入的数据量过大导致事务一直提交失败因为磁盘空间不够用了,一检查发现是undo表空间不够用,于是重新创建了一个表空间,准备把之前的undo表空间删除,删除时却发现一直删不掉,因为它一直在使用,于是关闭数据库,手动的删掉。然后重启数据库,于是乎各种问题来了
1 使用SYS 账号登录时报错:ORA-09817: Write to audit file failed
然后在使用df -h命令系统检查一下,发现Oracle安装目录所对应的磁盘空间已满,于是删除3天以前的trace文件,然后看到之前的undo表空间对应的数据文件也顺便给删了结果就悲剧了
删除trace文件之后,可以使用 SYS AS SYSDBA命令登录到数据库了,但是启动数据库时报错,在启动到open阶段时报错,能够启动到mount阶段。
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file
ORA-01110: data file 3: '/usr/oracle/app/oradata/orcl/undotbs01.dbf'
2 ORA-01157与ORA-01110错误
先查看具体的错误,登录到RAM模式,输入命令: list failure;
RMAN> list failure
using target database control file instead of recovery catalog
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
42 HIGH OPEN 24-MAY-17 One or more non-system datafiles are missing
报告显示数据文件丢失
查资料输入命令以下即可:
alter database datafile 7 offline drop;
但是这样操作有可能丢失部分数据,慎用
然后shutdown immediate,再startup,数据库成功启动。
3 删除undo表空间报错:ORA_01548
数据库成功启动之后,查询之前的UNDOTBS1还在,于是使用删除语句
drop tablespace UNDOTBS1 including contents; 报错
ORA-01548: active rollback segment '_SYSSMU6_2443381498$', terminated drop tablespace;
查询UNDOTBS1处于非offline的segment
select segment_name,tablespace_name,status
from dba_rollback_segs;
修改文件/usr/oracle/app/admin/orcl/pfile/init.ora.95201623739(先备份再修改),如下:
undo_management=manual
undo_retention=10800
undo_tablespace=UNDOTBS2
_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU6_2443381498$) -- 此处要将所有处于NEEDS RECOVERY状态的 segment全部放进来
关闭数据库: shutdown immediate
使用修改后的pfile启动数据:startup pfile='/usr/oracle/app/admin/orcl/pfile/init.ora.95201623739';
然后再删除UNDOTBS1 ,成功删除未报之前的错误。
Oracle 不小心删除undo数据文件以及磁盘空间不足导致不能登录的解决办法的更多相关文章
- 【Oracle】删除(释放)数据文件/表空间流程
oracle删除(释放)数据文件/表空间流程 生产环境:数据库里空间不足,niptest 表空间251G,只使用了17G 再alter database datafile '...../niptest ...
- 【Oracle】非RMAN恢复数据文件、控制文件
实验环境:OEL 5.6 oracle 11g(11.2.0.4.0) 注意: system表空间数据文件不能在线recover,需要启动到mount状态再recover: undo表空间数据文件可以 ...
- 如何删除offline数据文件/表空间上的分区
接上一篇"Oracle 10g RAC全库flashback " http://www.cnblogs.com/cqubityj/p/3265552.html 在打开数据库之前把2 ...
- Linux文件删除,但是df之后磁盘空间没有释放
Linux 磁盘空间总是报警,查到到大文件,删除之后,df看到磁盘空间并没有释放. 查找了下发现系统对rm进行了alias ,因为Linux对删除操作没有回收站机制,对rm操作进行了自定义,对删除 ...
- oracle for linux服务器磁盘空间不足,通过过期的文件释放磁盘空间
--2013-09-16截取的数据-- 使用df-h命令查看系统磁盘空间 [root@erpdbs PROD]# df -h Filesystem Size Used Avail Use% Mount ...
- oracle所在磁盘空间不足导致了数据库异常
oracle所在磁盘空间不足导致了数据库异常.需要减小数据文件的大小来解决. 1.检查数据文件的名称和编号 select file#,name from v$datafile; 2.看哪个数据文件所占 ...
- Asp.Net保存session的三种方法 (Dll文件更新导致session丢失的解决办法)
1. InProc模式(默认值):asp.net将session保存到当前进程中,这种方式最快,但是不能多台服务器共享session,且会话状态数据容易丢失. <sessionState mod ...
- 运维笔记--Docker文件占用磁盘空间异常处理
场景描述: 1. 服务器运行一段时间后,发现系统盘磁盘空间在不断增加,一开始的时候,不会影响系统,随着时间的推移,磁盘空间在不断增加,直到有一天你会发现系统盘剩余空间即将使用完,值得庆幸的是,如果您使 ...
- Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法
Oracle客户端工具出现"Cannot access NLS data files or invalid environment specified"错误的解决办法 方法一:参考 ...
随机推荐
- Python 简易版选课系统
一.创建学生类 # # 创建学生类 import random class Student: def __init__(self,num,name,address,course_lst=None): ...
- Vue生命周期(转)
https://segmentfault.com/a/1190000011381906
- 8.04-book
import requests from lxml import etree from bs4 import BeautifulSoup import json class BookSpider(ob ...
- python六十六课——单元测试(二)
''' 封装Person类 ''' class Person: def __init__(self,name,age): self.name=name self.age=age def getAge( ...
- IRT模型的参数估计方法(EM算法和MCMC算法)
1.IRT模型概述 IRT(item response theory 项目反映理论)模型.IRT模型用来描述被试者能力和项目特性之间的关系.在现实生活中,由于被试者的能力不能通过可观测的数据进行描述, ...
- 【vue-waring】element UI 由版本1.4.12 升级到element-ui@2.0.10
遇到的问题:element UI 由版本1.4.12 升级到element-ui@2.0.10 cnpm run dev 运行后的waring 状态:解决(相关资料的方法对我没什么用) 解决 ...
- 区分range() , np.arange() , np.linspace()
content: range() np.arange() np.linspace() 一.range(start, stop, step) 1.range() 为 python 自带函数 2.生成一个 ...
- Luogu1627 [CQOI2009]中位数
Luogu1627 [CQOI2009]中位数 给出一个 \(n\) 的排列,统计该排列有多少个长度为奇数的连续子序列的中位数是 \(k\) \(n\leq10^5\) \(trick\) :因为不需 ...
- JS表格分页(封装版)
HTML代码: <html> <head> <meta charset='utf-8'> <script type="text/javascript ...
- FineUIPro v3.5.0发布了,减少 90% 的上行数据量,15行代码全搞定!
一切为客户着想 一切的一切还得从和一位台湾客户的沟通说起: 客户提到将ViewState保存在服务器端以减少上行数据量,从而加快页面的回发速度. 但是在FineUI中,控件状态都保存在FState中, ...