oracle物理文件删除如何恢复,Oracle数据文件物理删除后的恢复
做系统管理的都是这样,难免会误删文件,某天要是把某个Oracle数据文件删除,那该如何恢复呢?(这里数据库是OPEN的,并且未关闭)
建立测试表空间
创建测试用户
插入测试数据
删除数据文件
恢复数据库文件
建立测试表空间
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/member/system01.dbf
/opt/oracle/oradata/member/sysaux01.dbf
/opt/oracle/oradata/member/undotbs01.dbf
/opt/oracle/oradata/member/users01.dbf
SQL> create tablespace test datafile '/opt/oracle/oradata/member/test01.dbf' size 10m;
Tablespace created.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/member/system01.dbf
/opt/oracle/oradata/member/sysaux01.dbf
/opt/oracle/oradata/member/undotbs01.dbf
/opt/oracle/oradata/member/users01.dbf
/opt/oracle/oradata/member/test01.dbf
2.创建测试账户
SQL> create user test identified by test default tablespace test;
SQL> grant connect,resource to test;
3.插入测试数据
SQL> conn test/test
SQL> create table t1(id int);
SQL> insert into t1 values(1);
SQL> select * from t1;
ID
----------
1
4.删除数据文件
[oracle@db2 ~]$ rm -f /opt/oracle/oradata/member/test01.dbf
[oracle@db2 ~]$ sqlplus test/test
SQL> create table t2 as select * from t1;
create table t2 as select * from t1
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T1 TEST
数据文件被删除了,这怎么办呢?这个时候千万别重启数据库,否则数据就丢失了
5.数据文件恢复
[oracle@db2 ~]$ ps -ef |grep dbw0
oracle 3309 1 0 12:07 ? 00:00:00 ora_dbw0_member
oracle 6217 5105 0 15:29 pts/0 00:00:00 grep dbw0
#找到ora_dbw0_SID的进程号3309
[oracle@db2 ~]$ cd /proc/3309/fd
#以上3309就是进程号,然后执行ls -al查看文件的链接
可以看到文件27就是被删除的文件
[oracle@db2 fd]$ cp 27 /opt/oracle/oradata/member/test01.dbf
查看test表空间状态
SQL> select name,status from v$datafile;
NAME STATUS
---------------------------------------- -------
/opt/oracle/oradata/member/system01.dbf SYSTEM
/opt/oracle/oradata/member/sysaux01.dbf ONLINE
/opt/oracle/oradata/member/undotbs01.dbf ONLINE
/opt/oracle/oradata/member/users01.dbf ONLINE
/opt/oracle/oradata/member/test01.dbf ONLINE
下线test01表文件
SQL> alter database datafile '/opt/oracle/oradata/member/test01.dbf' offline;
SQL> recover datafile '/opt/oracle/oradata/member/test01.dbf';
Media recovery complete.
SQL> alter database datafile '/opt/oracle/oradata/member/test01.dbf' online;
Database altered.
#以上就成功恢复了,若是出现
SQL> recover datafile '/opt/oracle/oradata/member/test01.dbf';
ORA-00283: recovery session canceled due to errors
ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'
则有可能是/opt/oracle/oradata/member/test01.dbf文件的权限问题引起,在root用户下
[root@db2 ~]# chown -R oracle.oinstall /opt/oracle/oradata/member/test01.dbf
再recover datafile '/opt/oracle/oradata/member/test01.dbf'
实验完成后,删除测试用户及测试表空间
SQL> drop user test cascade;
SQL> drop tablespace test INCLUDING CONTENTS AND DATAFILES;
oracle物理文件删除如何恢复,Oracle数据文件物理删除后的恢复相关推荐
- oracle 11g 从rman全备中恢复控制文件,拥有RMAN全备(缺少后增文件),丢失全部数据文件,控制文件的恢复...
1.做一个RMAN的全备 E:\oracle\rman_scripts>rman catalog target 恢复管理器: Release 10.2.0.1.0 - Production on ...
- 案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l
通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用dul 9 ...
- 模拟断电oracle数据不一致,Oracle数据库案例整理-Oracle系统运行时故障-断电导致数据文件状态变为RECOVER...
1.1 现象描述 异常断电,数据库数据文件的状态由ONLINE变为RECOVER.系统显示如下信息: SQL> select file_name ,tablespace_name , ...
- oracle dul 扫描磁盘,案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l...
天萃荷净 通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用d ...
- oracle rac 主库,oracle11gRAC+DG主库增加数据文件
oracle11gRAC+DG主库增加数据文件 oracle11gRAC+DG主库增加数据文件 # 环境 操作系统 $ uname -a Linux jinhu-db02 2.6.32-696.el6 ...
- 在可编辑表格EditorGrid中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍然被插入数据库中...
为什么80%的码农都做不了架构师?>>> 问题描述:在可编辑表格中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍 ...
- imap服务器收缓存pst文件夹,Outlook 转移OST数据文件 IMAP账户
问题 windows8系统,装了Outlook2013,占用了C盘大约10G空间,主要都是数据文件(OST文件)占用的.希望能够把数据文件从C盘移至其他盘.并且账户是IMAP账户,不是Exchange ...
- Oracle 查看表空间名称及大小和删除表空间及数据文件方法
--1.查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_ta ...
- Oracle数据库恢复--通过数据文件进行恢复
在实际项目运维中,遇到服务器oracle数据库存储硬盘坏了,只留下了数据文件,其控制文件和参数文件都丢失了,如何进行数据库恢复呢. 1.安装一个与要恢复的数据库相同实例,其db_name,sid,字符 ...
- oracle 之删除表空间及数据文件方法
-删除空的表空间,但是不包含物理文件 drop tablespace tablespace_name; --删除非空表空间,但是不包含物理文件 drop tablespace tablespace_n ...
最新文章
- matlab绘制圆,且求解两个圆的交点坐标
- 【bzoj3105】新Nim游戏
- 迁移.net framework 工程到.net core
- android 实例源码解释,Android Handler 原理分析及实例代码
- 阿里云服务器18个数据中心测试IP地址以及测试方法
- 清闲逛论坛,发个我们团队常用的开发资源整理,跟兄弟们共享
- sose会议级别_【2017年整理】计算机领域EI和SCI收录期刊、影响因子及国际会议.doc...
- 微信公众号问题:{errcode:40125,errmsg:invalid appsecret, view more at http:\/\/t.cn\/LOEdzVq, hints: [ ...
- Scratch编程与数学:会编程的孩子是怎样解奥数题的?
- dnf超时空漩涡副本路线流程图_DNF超时空漩涡怎么打 队伍配置攻坚路线兵营boss攻略...
- C++ 计算球体体积
- MySQL的文本导入load data local
- VS2010编译静态链接MFC的OCX遇到的问题:nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 LIBCMTD.lib(dllm
- 大数据分析师的沟通技巧
- linux忘了用户名和密码_Linux 服务器忘记用户名密码的找回办法总结linux操作系统 -电脑资料...
- 常见的开源许可证比较BSDamp;Ap…
- 小熊肝了十个小时,搞出一本 go 语言精进之路
- cocos2dx 3.4 lua加密 setXXTEAKeyAndSign
- 基于Ant Design和jQuery UI的表单设计器
- linux中扫描仪驱动程序,VueScan For Linux通用扫描仪驱动下载_VueScan For Linux通用扫描仪驱动官方下载-太平洋下载中心...
热门文章
- 回复英文审稿人意见常用格式
- 双卡版本不插卡的情况下状态栏中只显示了一个信号图标,而不是两个信号图标,如何修改为2个图标
- Sharestation 工作站GPU虚拟化,实现共享GPU办公
- 计算机文档里的圆圈,请问在WORD文档里怎样插入数字上的圆点?
- CODING 研发管理系统上线全球加速,助力企业跨区域协作
- 康巴丝(compas)某Wi-Fi万年历无法自动校时的问题
- 复旦教授报告400多个安卓漏洞,历时16个月谷歌终于修复,此前曾立flag
- 服务器30M带宽能承受多少人同时请求?
- 大数据时代从繁乱冗杂中精准提取核心文本信息 × Python Tkinter 生成词云图
- 参考文献怎么找?3分钟找到1000篇论文参考文献!