ora-01113 ora-01110

ora-01113 ora-01110

表空间满了,我在里面建了一个数据文件,并添加了些表和序列,后来我把这个文件脱机了,客户端在联机的时候就连不上去了
报ora-01113 ora-01110

ora-01113:文件17需要介质恢复
ora-01110:数据文件17:'D:/oracle/oradate/tzga/yqga01.ora‘

给发了三条命令让执行:

startup mount;
recover datafile filename;
alter database open;

说明:

 mount代表的是数据库启动到的一种状态,从一个处于关闭(shutdown) 状态,到打开(open)一个Oracle 数据库包括以下三步:
1)创建一个Oracle 实例(nomount,非安装阶段)。
2)由实例安装数据库(mount,安装阶段)。
3)打开数据库(open,打开阶段)。

filename :  就是17 。 我原以为是新建的.dbf文件,走了点弯路。

------------------------------------------------------------------------

 

说明:
ORA-01113: file 1 needs media recovery ,ORA-01110: data file 1: D:/ORA.DBF
ORA-01113: 文件 1 需要介质恢复。ORA-01110: 数据文件 1: D:/ORA.DBF
ORA-01113: ファイル 1はメディア回復が必要です。 ORA-01110: データ?ファイル: 1 : D:/ORA.DBF

产生: (不限于以下具体操作)
   1、新建表空间TB,对应数据文件TB1.ora
   2、将TB离线(offline)
   3、新建数据文件TB2.ora(大小与TB1.ora不同)
   4、将TB的TB1.ora改名为TB2.ora
   5、将TB上线(online)
结果出现了ORA-01113、ORA-01110问题。

解决1:(尝试了,但没成功)
startup mount;
alter database datafile filename offline drop;
alter database open;

解决2:(成功恢复)
startup mount;
recover datafile filename;
alter database open;

----------------------------------------------------------------------

windows2000se rver
oracle8.1.7

我做了一个试验,想看看以前备份的一个表空间文件是否可以在覆盖现有的表空间文件的时候正常启动数据库

步骤一:新建表空间why        对应文件why.ora
步骤二:备份why.ora
步骤三:在why.ora表空间建表并插入数据
步骤四:关闭数据库,备份新的why.ora
步骤五:用先前备份的why.ora覆盖现有的why.ora
结果出现对了ORA-01113:ORA-01110:问题,
于是我把最新的备份why.ora覆盖现有的why.ora,也显示同样错误,于是我的oracle服务器启动不起来了,大家帮看看怎么办呀?

解决办法:

startup mount
alter database datafile filename offline drop;
alter database open;

你可能感兴趣的:(ora-01113 ora-01110)