关于Oracle表空间移动后需要介质恢复的问题!
因为是先把文件从一个目录拷备到另一个目录,再执行的offline,然后再rename更改路径,完了之后,再执行online就报了“。。。需要介质恢复”!...
因为是先把文件从一个目录拷备到另一个目录,再执行的offline,然后再rename更改路径,完了之后,再执行online就报了“。。。需要介质恢复”!
展开
3个回答
2009-08-22
展开全部
问题已经解决了,都是在网上找的!
把这过程中遇到的问及解决办法和大家分享一下!
首先出现问题的过程如上所说!然后我试图找到恢复介质的办法!
网上有朋友说是数据库为非归档模式造成的,要将其改为归档模式:
1.cmd;
2.sqlplus/nolog;
4.connect/as sysdba;
这时报了一个错:协议适配器错误
造成此问题的原因可能有三个:(此方法网上有)
a.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
b.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID
c.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID
此时“协议适配器错误 ”应该就能解决了!
5.若数据库是打开的,首先关闭卸载数据库。shotdown;
这时可能出现长时间等待,可以把Oracle服务重新启动一下再重复上面的步骤即可!
6.以mount模式打开数据库:STARTUP MOUNT;
7.查询当前归档模式:ARCHIVE LOG LIST;
如果数据库日志模式为非存档模式则更改归档模式为ARCHIVELOG:ALTER DATABASE ARCHIVELOG;
再查询一下:ARCHIVE LOG LIST=》数据库日志模式 存档模式
如果要更改为非归档模式:ALTER DATABASE NOARCHIVELOG;
8.再打开数据库: ALTER DATABASE OPEN;
归档模式更改完毕!
9.第九步也是最关键的一步:恢复介质
recover datafile '新的数据文件路径';
10. alter tablespace xxxx online; SQL》表空间已更改。
把这过程中遇到的问及解决办法和大家分享一下!
首先出现问题的过程如上所说!然后我试图找到恢复介质的办法!
网上有朋友说是数据库为非归档模式造成的,要将其改为归档模式:
1.cmd;
2.sqlplus/nolog;
4.connect/as sysdba;
这时报了一个错:协议适配器错误
造成此问题的原因可能有三个:(此方法网上有)
a.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
b.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID
c.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID
此时“协议适配器错误 ”应该就能解决了!
5.若数据库是打开的,首先关闭卸载数据库。shotdown;
这时可能出现长时间等待,可以把Oracle服务重新启动一下再重复上面的步骤即可!
6.以mount模式打开数据库:STARTUP MOUNT;
7.查询当前归档模式:ARCHIVE LOG LIST;
如果数据库日志模式为非存档模式则更改归档模式为ARCHIVELOG:ALTER DATABASE ARCHIVELOG;
再查询一下:ARCHIVE LOG LIST=》数据库日志模式 存档模式
如果要更改为非归档模式:ALTER DATABASE NOARCHIVELOG;
8.再打开数据库: ALTER DATABASE OPEN;
归档模式更改完毕!
9.第九步也是最关键的一步:恢复介质
recover datafile '新的数据文件路径';
10. alter tablespace xxxx online; SQL》表空间已更改。
展开全部
使用alter database 移动数据文件时,在执行完alter database rename <source file path> to <des file path>命令之后,再试图打开数据库:alter database open。可能会报类似如下的错:
ORA-01113:文件7需要介质恢复
ORA-01110:数据文件7:’E:ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF’。
这是由于数据库认为这个数据文件遭到破坏了,需要使用recover命令通过备份、日志信息来恢复。数据库的备份恢复是个比较复杂的问题,但是这个实例的解决办法还是比较简单的。
执行命令:
recover datafile ’E:ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF’
提示完成介质恢复,再打开数据库:alter database open。一切正常。
通过该alter database open;命令查看是否有其他数据文件损坏,依次进行恢复,直至所有文件正常。
ORA-01113:文件7需要介质恢复
ORA-01110:数据文件7:’E:ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF’。
这是由于数据库认为这个数据文件遭到破坏了,需要使用recover命令通过备份、日志信息来恢复。数据库的备份恢复是个比较复杂的问题,但是这个实例的解决办法还是比较简单的。
执行命令:
recover datafile ’E:ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF’
提示完成介质恢复,再打开数据库:alter database open。一切正常。
通过该alter database open;命令查看是否有其他数据文件损坏,依次进行恢复,直至所有文件正常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-04-08
展开全部
Oracle DBA神器:PRM-DUL灾难恢复工具可以直接从这种受损的Oracle数据库中将数据拯救出来。
当你的数据库因为ORA-00600/ORA-07445或其他ORA-报错,或丢失关键的system表空间数据文件,或ASM diskgroup损坏时均可以考虑采用PRM-DUL来做恢复。PRM-DUL采用独创的DataBridge恢复技术,直接从数据文件中抽取数据后可以像DBLINK那样直接插入到新建数据库中,而无需数据落地成为DMP文件占用空间。
当你的数据库因为ORA-00600/ORA-07445或其他ORA-报错,或丢失关键的system表空间数据文件,或ASM diskgroup损坏时均可以考虑采用PRM-DUL来做恢复。PRM-DUL采用独创的DataBridge恢复技术,直接从数据文件中抽取数据后可以像DBLINK那样直接插入到新建数据库中,而无需数据落地成为DMP文件占用空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询