关于oracle数据库的问题
误操作首先,#lsnrctlstop然后,mv/oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf/oradata/data01...
误操作
首先,#lsnrctl stop
然后,mv /oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf /oradata/data01
本是想为了增加表空间的文件,等文件mv到目标目录后,才发现没有停止oracle(shutdown immediate)
现在也停止不了oracle,提示:SQL> shutdown immediate
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
该如何恢复,急,谢谢! 展开
首先,#lsnrctl stop
然后,mv /oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf /oradata/data01
本是想为了增加表空间的文件,等文件mv到目标目录后,才发现没有停止oracle(shutdown immediate)
现在也停止不了oracle,提示:SQL> shutdown immediate
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
该如何恢复,急,谢谢! 展开
3个回答
展开全部
1、首先lsnrctl stop并不是停止数据库,只是将监听端口停止
2、你可以复制一份回去试试cp /oradata/data01/zhfz_tbs.dbf /oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf
3、正确改变tablespaces文件位置的步骤,假设database是正常运行的:
a)
select TABLESPACE_NAME,FILE_NAME from dba_data_files order by TABLESPACE_NAME;
b)
alter tablespace TS01 read only;
alter tablespace TS01 offline;
!cp /data1/oracle/ts01_1.dbf /data2/oracle/ts01_2.dbf
alter database rename file '/data1/oracle/ts01_1.dbf' to '/data2/oracle/ts01_2.dbf';
alter tablespace TS01 online;
alter tablespace TS01 read write;
4、shutdown immediate如果还不行,你可以用shutdown abort命令强制停止,这个办法比较暴力,startup时候用startup mount,然后进行正确的改变tablespaces文件位置的步骤。
然后再alter database open;
2、你可以复制一份回去试试cp /oradata/data01/zhfz_tbs.dbf /oracle/product/10.2/oradata/ora10/zhfz_tbs.dbf
3、正确改变tablespaces文件位置的步骤,假设database是正常运行的:
a)
select TABLESPACE_NAME,FILE_NAME from dba_data_files order by TABLESPACE_NAME;
b)
alter tablespace TS01 read only;
alter tablespace TS01 offline;
!cp /data1/oracle/ts01_1.dbf /data2/oracle/ts01_2.dbf
alter database rename file '/data1/oracle/ts01_1.dbf' to '/data2/oracle/ts01_2.dbf';
alter tablespace TS01 online;
alter tablespace TS01 read write;
4、shutdown immediate如果还不行,你可以用shutdown abort命令强制停止,这个办法比较暴力,startup时候用startup mount,然后进行正确的改变tablespaces文件位置的步骤。
然后再alter database open;
追问
cp的时候提示:设备上没有空间
怎么办呢
追答
自己想办法释放些空间吧!
展开全部
首先要杀掉oracle的守护进程:
#ps -ef | grep ora
列出oracle的守护进程号。然后用kill命令杀进程。
#kill -9 进程号
有多个进程要运行几次。
然后,把移走的文件移回来。
接着启动oracle数据库就可以了。
只要文件没有破坏,就没关系,保证能够启动起来。
我曾经把开发用的数据库移植到部署的机器上,就是先安装好数据库软件,不创建数据库,然后通过拷贝数据库文件,创建数据库实例的方式,实现部署的。
#ps -ef | grep ora
列出oracle的守护进程号。然后用kill命令杀进程。
#kill -9 进程号
有多个进程要运行几次。
然后,把移走的文件移回来。
接着启动oracle数据库就可以了。
只要文件没有破坏,就没关系,保证能够启动起来。
我曾经把开发用的数据库移植到部署的机器上,就是先安装好数据库软件,不创建数据库,然后通过拷贝数据库文件,创建数据库实例的方式,实现部署的。
追问
谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
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文件占用空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询