非常规恢复数据库利用系统文件句柄恢复
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;
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;
相关文章推荐
- 利用SQLServer备份文件创建数据库(针对C/S系统)
- linux上利用crontab定时备份postgres数据库及文件到windows系统
- 利用bak文件恢复数据库问题小结
- 利用数据库文件恢复MySQL数据
- 8、利用Mysql的二进制日志文件,进行数据库数据的恢复
- mdf数据库文件数据修复/误删除格式化重装系统覆盖数据库数据恢复
- 利用ext3grep恢复ext3文件系统下的文件!
- 利用RMAN将数据库从文件系统迁移到ASM
- 系统损坏,移植Oracle(9.2.0.1)数据库(无备份数据文件进行恢复)
- windows系统利用批处理文件自动备份数据库及文件
- 利用U盘里的GHOST文件恢复系统
- 利用故障恢复控制台修复系统文件缺失问题
- 当重装数系统/数据库之后,如何恢复数据库的账号 登录名/用户名 孤立用户 缩小ldf日志文件 修改sqlserver2000端口
- 每天两道oracle笔试题+第九天:1、比较truncate和delete命令的区别?2、如果必须利用备份恢复数据库,但此时没有控制文件,如何应对?
- 通过句柄恢复Linux下误删除的数据库数据文件
- oracle ----系统服务 --- 文件体系结构 ----网络配置 -----利用企业管理器登录数据库 -----利用SQL Plus登录数据库 -------运行时故障分析与解决
- 利用数据库文件恢复Oracle数据库的简单方法
- Postgres数据库(windows下)文件系统备份与恢复
- mysql怎样利用对所有数据库进行备份的备份文件只恢复某一个数据库