您的位置:首页 > 数据库

非常规恢复数据库利用系统文件句柄恢复

2013-10-15 14:06 253 查看
场景:数据文件没有且备份不可用(必须是数据库没有重新启动,若关闭数据库,那么文件句柄就释放了,那么就无法恢复了)

select status from v$instance;

select name from v$tablesname;

select username from v$dba_users;

sqlplus / as sysdba

select file_name from dab_data_files where tablespaces='USERDATA;

cd $HOME_BASE/oradata

文件句柄位置如下:

cd /proc/进程号/fd

找到删除掉的文件目录例如是26

cd /u01/app/oracle/oradata/

ls

mkdir newdb1

恢复删除的数据文件

cp /proc/3432/fd/26 /u01/app/oracle/oradata/newdb1

cd /u01/app/oracle/oradata/newdb1

mv 26 newu1.dbf

恢复数据库

sqlplus / as sysdba

select name fromv$dbfile;

alter database datafile 5 offline;(归档模式)

alter database datafile 5 offline drop;非归档模式

alter database rename file '/u01/app/oracle/oradata/db1/u1.dbf to '/u01/app/oracle/oradata/newdb1/newu1.dbf';

select name from v$dbfile;

select file#,status from v$datafile;

recover datafile 5;

alter database datafile online;

select file#,status from v$datafile;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐