Oracle数据库表空间文件被删除[ora-01033|ORA-01110]监听失败
来源:互联网 发布:在vmware安装ubuntu 编辑:程序博客网 时间:2024/05/18 03:50
今天用本地数据库做表空间测试,在扩展表空间时,因为输错了扩展文件名,就把该外部文件删了。结果,提示“监听失败”,sqlplus和pl/sql developer都不能登录。经搜索查找资料,终于恢复了登录。解决方法如下:(感谢张航的博客)
(当时把文件名输错了:ALTER TABLESPACE sp001 ADD DATAFILE 'd:\sp001.bf' SIZE 100m; 事后就把sp001.bf文件删了)
- Microsoft Windows [版本 6.1.7601]
- 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
- C:\Users\Administrator>set ORACLE_SID=orcl
- C:\Users\Administrator>sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10月 23 16:09:58 2012
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- 连接到:
- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
- With the Partitioning, OLAP and Data Mining options
- SQL> shutdown immediate
- ORA-01109: 数据库未打开
- 已经卸载数据库。
- ORACLE 例程已经关闭。
- SQL> startup
- ORACLE 例程已经启动。
- Total System Global Area 293601280 bytes
- Fixed Size 1248600 bytes
- Variable Size 88081064 bytes
- Database Buffers 197132288 bytes
- Redo Buffers 7139328 bytes
- 数据库装载完毕。
- ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- SQL> shutdown immediate
- ORA-01109: 数据库未打开
- 已经卸载数据库。
- ORACLE 例程已经关闭。
- SQL> startup mount
- ORACLE 例程已经启动。
- Total System Global Area 293601280 bytes
- Fixed Size 1248600 bytes
- Variable Size 88081064 bytes
- Database Buffers 197132288 bytes
- Redo Buffers 7139328 bytes
- 数据库装载完毕。
- SQL> recover datafile 2
- ORA-00283: 恢复会话因错误而取消
- ORA-00264: 不要求恢复
- SQL> recover datafile 7
- ORA-00283: 恢复会话因错误而取消
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- SQL> startup
- ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
- SQL> recover datafile 7
- ORA-00283: 恢复会话因错误而取消
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- SQL> select flashback_on from vdatabase
- 2 ;
- select flashback_on from vdatabase
- *
- 第 1 行出现错误:
- ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
- SQL> recover datafile 'd:/tbs01.dbf'
- ORA-00283: 恢复会话因错误而取消
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
- ORA-01110: 数据文件 7: 'D:\TBS01.DBF'
- SQL> select file_name,file_id,tablespace_name from dba_data_files;
- select file_name,file_id,tablespace_name from dba_data_files
- *
- 第 1 行出现错误:
- ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
- SQL> col file_name format a100;
- SQL> select file_name,file_id,tablespace_name from dba_data_files;
- select file_name,file_id,tablespace_name from dba_data_files
- *
- 第 1 行出现错误:
- ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
- SQL> startup mount;
- ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
- SQL> alter session set nls_language=american;
- Session altered.
- SQL> alter database open;
- alter database open
- *
- ERROR at line 1:
- ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
- ORA-01110: data file 7: 'D:\TBS01.DBF'
- SQL> startup nomount;
- ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
- SQL> alter database mount;
- alter database mount
- *
- ERROR at line 1:
- ORA-01100: 数据库已装载
- SQL> alter session set nls_language=american;
- Session altered.
- SQL> alter database datafile 'd:\TBS01.dbf' offline drop;
- Database altered.
- SQL> alter database open;
- alter database open
- *
- ERROR at line 1:
- ORA-01157: cannot identify/lock data file 8 - see DBWR trace file
- ORA-01110: data file 8: 'D:\TBS02.DBF'
- SQL> alter database datafile 'd:\TBS02.dbf' offline drop;
- Database altered.
- SQL> alter database datafile 'd:\TBS03.dbf' offline drop;
- Database altered.
- SQL> alter database datafile 'd:\TBS04.dbf' offline drop;
- Database altered.
- SQL> alter database open;
- alter database open
- *
- ERROR at line 1:
- ORA-01157: cannot identify/lock data file 11 - see DBWR trace file
- ORA-01110: data file 11: 'D:\TBS05.DBF'
- SQL> alter database datafile 'd:\TBS05.dbf' offline drop;
- Database altered.
- SQL> alter database open;
- Database altered.
- SQL>
至此,修复完成,可以正常登陆。
原理:数据库启动到nomount状态,找到初始化参数文件(inittestDB.ora),根据这个定位到控制文件。控制文件中记录着数据库的文件结构信息(当然不止文件结构信息),比如:有哪些数据文件,日志文件数据文件的状态(online offline),但数据库在open 的时候并不查看offline状态下的datafile,所以将datafile offline,数据库不检查这个数据文件里,就可以打开。注意这里的数据文件只是用户数据文件,若是系统数据文件,另要考虑了。数据库启动到mount状态了,这时实例和硬盘上的数据库要关联了。处于这个状态时,可执行些管理型的任务,比如恢复。
0 0
- Oracle数据库表空间文件被删除[ora-01033|ORA-01110]监听失败
- Oracle数据库表空间文件被删除[ora-01033|ORA-01110]
- Oracle日志文件被误删除导致的问题解决(ora-01033,ORA-00313,ORA-00312)!
- ORA-01033问题解决【表空间文件误操作删除】
- ORA-01659(oracle数据库表空间不足)
- 之前创建了一个表空间,然后今天不小心把表空间文件给删除了。然后用pl/sql连接数据库的时候,报ORA-01033错误。ora-01033:oracle initializationg or shut
- ora-01110,ora-01109删除表空间文…
- 删除归档表空间、删除归档文件导致的报错 ORA-08881 ORA-01548
- oracle listener.ora监听文件与tnsnames.ora配置
- oracle 表空间不足 ORA-00604 ORA-01653 ORA-02002 ORA-00604 ORA-01653
- 执行查看数据库表空间信息报错 ORA-01116、ORA-01110、ORA-27041
- Oracle数据库表空间占满的解决方法 ,ORA-01691
- 物理删除oracle数据文件(DBF文件)导致数据库ORA-01033的解决方法
- 强制删除DBF文件导致数据库报“ORA-01033: ORACLE 正在初始化或关闭”错误
- 解决ORA-01033问题,手动删除表空间后数据库无法打开。
- oracle数据库错误:ORA-01033、ORA-00600、ORA-01589
- ORA-01653:表空间扩展失败
- 碰到了好几次的问题Oracle(Oracle日志文件被误删除导致的问题解决(ora-01033,ORA-00313,ORA-00312))
- Windows驱动学习笔记之一:WinDbg+WMware+OS_Win7 配置
- 网页按钮大本营
- gcc的几个妙用
- template tracking(基于模板的跟踪)
- Hbase的优化总结
- Oracle数据库表空间文件被删除[ora-01033|ORA-01110]监听失败
- shell 脚本增加smb用户及密码
- 例解 autoconf 和 automake 生成 Makefile 文件
- getopt在bash下的使用技巧
- 关于邵逸夫:你可能不知道的8件事
- PL/SQL Developer 与tnsnames.ora
- Opinion: Matt's Top 10 Tech & Gaming Predictions for 2014
- android应用程序签名详解
- 神啊 养好把