请教因目标数据文件不存在导致ORA-01157、ORA-01110错误解决方法

[复制链接]
查看11 | 回复3 | 2012-4-19 22:15:41 | 显示全部楼层 |阅读模式
大家好,今天遇到一个问题。一个朋友的数据库恢复应该是有问题,有部分临时表空间文件并没有恢复,导致执行dbms_metadata_util.load_stylesheets的时候报错如下:
ORA-01157 canot identify/lock data file 202
ORA-01110 data file 202 '/oradata/tempfile/temp.275.010192248'
大概是这样的错误,由于这个是临时表空间文件不存在,导致查询dba_temp_files的时候也会报一样的错误。这个错误现在导致朋友无法使用impdp导入数据。
查询了一下,现在的主机上并不存在/oradata/tempfile/temp.275.010192248,所以估计这个文件应该是来源数据库的文件。那么,推测肯定不止一个文件会有同样的现象。
请问大家这个现象是否可以通过逐一执行alter database tempfile '/oradata/tempfile/temp.275.010192248' drop INCLUDING DATAFILES删除控制文件的文件来解决这个问题呢
如果不可以的话,请问这个情景下,这个问题要如何解决呢?谢谢大家

回复

使用道具 举报

千问 | 2012-4-19 22:15:41 | 显示全部楼层
本帖最后由 kimiliang123 于 2016-9-5 20:07 编辑
数据库恢复并不会恢复临时表空间的数据文件
tempfile是在数据库open的时候根据控制文件里面的信息自动创建。
你看下你恢复的这台服务器有没有/oradata/tempfile/这个文件夹,或者是不是权限有问题。
你数据库在open的时候,alert日志里面会记录相应操作的。

回复

使用道具 举报

千问 | 2012-4-19 22:15:41 | 显示全部楼层
kimiliang123 发表于 2016-9-5 19:34
数据库恢复并不会恢复临时表空间的数据文件
tempfile是在数据库open的时候根据控制文件里面的信息自动创建 ...

你好,我这台机器上是没有/oradata/tempfile这个文件夹的
回复

使用道具 举报

千问 | 2012-4-19 22:15:41 | 显示全部楼层
alter database add tempfile '/oradata/tempfile/temp.275.010192248' reuse;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行