oracle彻底删除dbf文件,ORACLE 删除数据文件模拟灾难恢复
今天做了一个实验,先创建表空间及数据文件,然后在操作系统下删除该表空间的数据文件(前提是该表空间已经备份了,方便恢复)。
STEP1: 创建表空间 ,数据文件, 用户并赋权:
SQL> create tablespace TBS1 datafile \'/u01/app/oradata/ORCL/df1.dbf\' size 5M autoextend on next 2M maxsize 100M;
SQL> create user test identified by test default tablespace TBS1;
SQL> GRANT DBA TO TEST WITH ADMIN OPTION;
STEP2: 创建表并插入数据
SQL> conn TEST/TEST;
SQL> create table t1(id int, name varchar2(20));
SQL> begin
2 for i in 1..200000 loop
3 insert into t1 values(i,\'AAA\'||i);
4 end loop;
5 end;
6 /
STEP3: 用RMAN备份数据(非归档模式不能用RMAN备份数据的)
RMAN> backup tablespace TBS1 format '/home/oracle/db_backup/TBS1_20150121:1037.bak';
STEP4: 删除新建表空间下的数据文件
[oracle@REDHAT6 ORCL]$ mv df1.dbf df2.dbf.bak
SETP5: 关闭数据库,重新启动数据,问题来了
SQL> shutdown immediate;
SQL> startup
ORACLE instance started.
Total System Global Area 889389056 bytes
Fixed Size 2233480 bytes
Variable Size 494930808 bytes
Database Buffers 385875968 bytes
Redo Buffers 6348800 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: \'/u01/app/oradata/ORCL/df1.dbf\'
下面来解决上面的问题:
step1: 开启数据库处于mount状态, 使文件 6 脱机(6指的是上面删除的数据文件df1.dbf),并开启数据库
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL> alter database datafile 6 offline;
SQL> alter database open;
Database altered.
SQL> select status from v$instance;
STATUS
------------
OPEN
STEP2: 查看数据文件及表空建状态
SQL> SELECT FILE_ID, FILE_NAME,STATUS, ONLINE_STATUS FROM DBA_DATA_FILES;
SQL> SELECT TABLESPACE_NAME,STATUS FROM DBA_TABLESPACES;
STEP3: 恢复备份数据
RMAN> list backup of tablespace TBS1;
RMAN> restore tablespace TBS1;
由于是测试环境,没有修改数据(即没有脏块),所以没有 recover tablespace TBS1;
STEP4: 数据文件联机
SQL> alter database datafile 6 online;
OK 到此结束,数据文件恢复完成!
oracle彻底删除dbf文件,ORACLE 删除数据文件模拟灾难恢复相关推荐
- 11G Oracle RAC添加新表空间时数据文件误放置到本地文件系统的修正
今天看了一篇文章说是误将新创建的表空间的数据文件放置在了本地系统而不是共享存储上. 是Oracle的中文技术支持博客题目是:RAC中误将数据文件创建在本地盘时的修正 于是我想11G 也兼容这些操作的方 ...
- 案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l
通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用dul 9 ...
- oracle 控制文件 scn,重建控制文件后, 控制文件中的数据文件检查点SCN来自哪里...
重建控制文件后, 控制文件中的数据文件检查点SCN来自哪里 这个问题要看具体的情况,比如: 1. 数据库是shutdown immediate,也就是说数据库是一致的状态,重建控制文件后,SCN 以d ...
- oracle dul 扫描磁盘,案例:Oracle dul数据挖掘 磁盘损坏dul提取数据文件中表的数据及l...
天萃荷净 通过使用Oracle DUL工具提取损坏磁盘里的数据库文件中的表及lob字段中内容 在有次8i的库恢复中,因为硬盘损坏导致几个表出现很多诡异性坏块,尝试使用dul对其进行挖掘数据,当时使用d ...
- linux文件恢复dbf,linux平台下数据文件被误删后,如何及时得知并进行恢复-dbf文件怎么打开...
我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LINUX操作系统中,被进程打开的文件仍可以被删除,因此存在DM7数据文件可能被误 ...
- Python之数据分析(Numpy中读取与保存数据文件、将数据文件制成K线图)
文章目录 一.读取与保存文件 二.将数据文件制成K线图 一.读取与保存文件 1.读取文件格式 numpy.loadtxt(文件名,delimiter = 分割符,usecols = 选择列,unpac ...
- SQL Server 数据库中添加文件组和数据文件
SQL Server 现有数据库中添加文件组和数据文件use CURRENT_DB --进入当前操作数据库 go alter database CURRENT_DB add filegroup FG1 ...
- 关于python使用pandas导入dat数据文件的方法(可导入任意dat数据文件和csv数据文件)
我相信大家在学习python中会遇到一些很苦恼的数据导入问题,csdn上面的数据导入五花八门,大多是在特定条件实行的数据导入,我在学习机器学习分类算法实现中发现csdn上面有很多dat数据文件,所以想 ...
- 删除数据清理oracle表空间,oracle数据库删除无用表空间及数据文件过程
应用场景:html 数据库服务器A下的一张数据库表重建过,而且数据已经迁移到新表空间下,现遗留了一些原有的表空间数据文件在服务器上,耗费资源,如图所示: linux 原数据库表对应的数据文件:sql ...
- oracle 11g b表空间什么情况下自动增加,oracle 11g 查看表空间使用情况,表空间创建,表空间添加数据文件,修改数据文件自动增长,删除表空间...
1.查看表空间以及表空间使用情况 SELECT TABLESPACE_NAME "表空间", To_char(Round(BYTES / 1024, 2), '99990.00') ...
最新文章
- Apache配置--用户认证(针对目录访问)-update2015-05-02
- Buuctf(pwn) jarvisoj_tell_me_something 栈溢出
- asp 判断数组等于_剑指Offer(牛客版)--面试题4:二维数组中的查找
- 【英语-刘晓艳-词汇】词汇06
- 架构师这5条禁忌,你犯了么?
- 如何检索Python函数的源代码
- sqlserver修改字段长度语句_SQL Server读懂语句运行 (三) SET STATISTICS PROFILE ON
- linux diff 补丁,Linux中diff、补丁的用法及介绍
- SPSS 逐步回归【SPSS 028期】
- Symbian 如何如何调用Wap浏览器
- 区块链重要基础知识2——哈希函数的原理以及应用于区块头部
- 做煎饼果子的N种方式——From Sequential to Reactive
- 甲骨文总裁埃里森:我的目标是击败微软
- i.MX6ULL GPIO
- etsme--Me盒使用初体验
- 利用convert【ImageMagick】把pdf批量转换为图片踩坑(gs报错和清晰度问题)
- 手机计算机怎么缩小桌面图标,如何将电脑桌面快捷图标放大或缩小
- POST,PUT和PATCH的区别
- 新笔记本电脑买回来,然后要干怎么办?
- 中国第一大手机操作系统已有过亿用户,不是华为鸿蒙