删除oracle表空间,导致oracle启动不了

  1. Microsoft Windows [版本 6.1.7601]  
  2. 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。  
  3.   
  4. C:\Users\Administrator>set ORACLE_SID=orcl  
  5.   
  6. C:\Users\Administrator>sqlplus / as sysdba  
  7.   
  8. SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10月 23 16:09:58 2012  
  9.   
  10. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  11.   
  12.   
  13. 连接到:  
  14. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production  
  15. With the Partitioning, OLAP and Data Mining options  
  16.   
  17. SQL> shutdown immediate  
  18. ORA-01109: 数据库未打开  
  19.   
  20.   
  21. 已经卸载数据库。  
  22. ORACLE 例程已经关闭。  
  23. SQL> startup  
  24. ORACLE 例程已经启动。  
  25.   
  26. Total System Global Area  293601280 bytes  
  27. Fixed Size                  1248600 bytes  
  28. Variable Size              88081064 bytes  
  29. Database Buffers          197132288 bytes  
  30. Redo Buffers                7139328 bytes  
  31. 数据库装载完毕。  
  32. ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件  
  33. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  34.   
  35.   
  36. SQL> shutdown immediate  
  37. ORA-01109: 数据库未打开  
  38.   
  39.   
  40. 已经卸载数据库。  
  41. ORACLE 例程已经关闭。  
  42. SQL> startup mount  
  43. ORACLE 例程已经启动。  
  44.   
  45. Total System Global Area  293601280 bytes  
  46. Fixed Size                  1248600 bytes  
  47. Variable Size              88081064 bytes  
  48. Database Buffers          197132288 bytes  
  49. Redo Buffers                7139328 bytes  
  50. 数据库装载完毕。  
  51. SQL> recover datafile 2  
  52. ORA-00283: 恢复会话因错误而取消  
  53. ORA-00264: 不要求恢复  
  54.   
  55.   
  56. SQL> recover datafile 7  
  57. ORA-00283: 恢复会话因错误而取消  
  58. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  59. ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件  
  60. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  61.   
  62.   
  63. SQL> startup  
  64. ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它  
  65. SQL> recover datafile 7  
  66. ORA-00283: 恢复会话因错误而取消  
  67. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  68. ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件  
  69. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  70.   
  71.   
  72. SQL>  select flashback_on from vdatabase  
  73.   2  ;  
  74.  select flashback_on from vdatabase  
  75.                           *  
  76. 第 1 行出现错误:  
  77. ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询  
  78.   
  79.   
  80. SQL> recover datafile 'd:/tbs01.dbf'  
  81. ORA-00283: 恢复会话因错误而取消  
  82. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  83. ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件  
  84. ORA-01110: 数据文件 7: 'D:\TBS01.DBF'  
  85.   
  86.   
  87. SQL> select file_name,file_id,tablespace_name from dba_data_files;  
  88. select file_name,file_id,tablespace_name from dba_data_files  
  89.                                               *  
  90. 第 1 行出现错误:  
  91. ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询  
  92.   
  93.   
  94. SQL>  col file_name format a100;  
  95. SQL> select file_name,file_id,tablespace_name from dba_data_files;  
  96. select file_name,file_id,tablespace_name from dba_data_files  
  97.                                               *  
  98. 第 1 行出现错误:  
  99. ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询  
  100.   
  101.   
  102. SQL>  startup mount;  
  103. ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它  
  104. SQL> alter session set nls_language=american;  
  105.   
  106. Session altered.  
  107.   
  108. SQL> alter database open;  
  109. alter database open  
  110. *  
  111. ERROR at line 1:  
  112. ORA-01157: cannot identify/lock data file 7 - see DBWR trace file  
  113. ORA-01110: data file 7: 'D:\TBS01.DBF'  
  114.   
  115.   
  116. SQL> startup nomount;  
  117. ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它  
  118. SQL> alter database mount;  
  119. alter database mount  
  120. *  
  121. ERROR at line 1:  
  122. ORA-01100: 数据库已装载  
  123.   
  124.   
  125. SQL> alter session set nls_language=american;  
  126.   
  127. Session altered.  
  128.   
  129. SQL> alter database datafile 'd:\TBS01.dbf' offline drop;  
  130.   
  131. Database altered.  
  132.   
  133. SQL> alter database open;  
  134. alter database open  
  135. *  
  136. ERROR at line 1:  
  137. ORA-01157: cannot identify/lock data file 8 - see DBWR trace file  
  138. ORA-01110: data file 8: 'D:\TBS02.DBF'  
  139.   
  140.   
  141. SQL> alter database datafile 'd:\TBS02.dbf' offline drop;  
  142.   
  143. Database altered.  
  144.   
  145. SQL> alter database datafile 'd:\TBS03.dbf' offline drop;  
  146.   
  147. Database altered.  
  148.   
  149. SQL> alter database datafile 'd:\TBS04.dbf' offline drop;  
  150.   
  151. Database altered.  
  152.   
  153. SQL> alter database open;  
  154. alter database open  
  155. *  
  156. ERROR at line 1:  
  157. ORA-01157: cannot identify/lock data file 11 - see DBWR trace file  
  158. ORA-01110: data file 11: 'D:\TBS05.DBF'  
  159.   
  160.   
  161. SQL> alter database datafile 'd:\TBS05.dbf' offline drop;  
  162.   
  163. Database altered.  
  164.   
  165. SQL> alter database open;  
  166.   
  167. Database altered.  
  168.   
  169. SQL>  
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状态了,这时实例和硬盘上的数据库要关联了。处于这个状态时,可执行些管理型的任务,比如恢复。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值