- 最后登录
- 2017-5-4
- 在线时间
- 81 小时
- 威望
- 999
- 金钱
- 2391
- 注册时间
- 2013-9-11
- 阅读权限
- 150
- 帖子
- 1124
- 精华
- 5
- 积分
- 999
- UID
- 1220
|
1#
发表于 2017-4-16 16:41:12
|
查看: 1862 |
回复: 0
我的数据库版本9.2.0.1,操作系统平台AIX5.2
由于介质失败丢失了一个数据文件,丢失数据文件的表空间还有好几个数据文件。现在我想把丢失的数据文件处理掉,因为查询到那部分数据时会抱错,应该如何做。
我使用exp,并以设置10231事件的方式导出数据库,在导入是导到缺少数据的表时就自动退出了,不知道为什么
是指,create table ... as ....吗
表有很多,还有就是数据库是非正常打开的,所以想用导出/导入的方式重新建立一个数据库
不会是segment header,因为数据结构是很早就建好的了,而丢失的数据文件时近期增加的
我有导出导入了一遍,这回有提示了
导出时提示:
. . exporting table SEHR_ORG_IN_DAILY_REPORT 2429 rows exported
. . exporting table SEHR_ORG_IN_FEE_REPORT
EXP-00056: ORACLE error 376 encountered
ORA-00376: file 22 cannot be read at this time
ORA-01110: data file 22: '/oracle/ora92/dbs/Eradataoraclesmjksehr13.dbf'
导入时提示:
. . importing table "SEHR_ORG_IN_DAILY_REPORT" 2429 rows imported
. . importing table "SEHR_ORG_IN_FEE_REPORT"
IMP-00009: abnormal end of export file
IMP-00064: Definition of LOB was truncated by export
IMP-00018: partial import of previous table completed: 2120 rows imported
Import terminated successfully with warnings.
现在还有一个问题,就是我丢失的数据文件是比较前面的,oracle导出到这个文件就出错了。这样我后面数据文件的数据也就取不出来。我尝试使用rowid来检索,但是结果一样
ORA-00376: file 22 cannot be read at this time
ORA-01110: data file 22: '/oracle/ora92/dbs/Eradataoraclesmjksehr13.dbf'
ORA-06512: at "SYS.DBMS_REPAIR", line 284
ORA-06512: at line 5
好像是oracle总是全表扫描,一扫到那个文件就出错了。
我该如何跳过那个丢失的数据文件把后面的数据取出来
库我备份了,只要能把数据取出来这个库废掉也没有关系,可是我现在是想动也动不了:)
SQL> alter database create datafile 22 as '/oradata/oracle/smjk/sehrtemp.dbf';
alter database create datafile 22 as '/oradata/oracle/smjk/sehrtemp.dbf'
*
ERROR at line 1:
ORA-01181: file 22 created before last RESETLOGS, cannot recreate
ORA-01110: data file 22: '/oracle/ora92/dbs/Eradataoraclesmjksehr13.dbf'
|
|