ORACLE 删除数据文件模拟灾难恢复
来源:互联网 发布:网络推手kim 编辑:程序博客网 时间:2024/05/16 01:17
今天做了一个实验,先创建表空间及数据文件,然后在操作系统下删除该表空间的数据文件(前提是该表空间已经备份了,方便恢复)。
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: 数据文件联机
<span style="white-space:pre"><span style="color: rgb(255, 0, 0);">SQL> alter database datafile 6 online;</span></span>
OK 到此结束,数据文件恢复完成!
- ORACLE 删除数据文件模拟灾难恢复
- Oracle 数据文件迁移 灾难恢复
- Linux中模拟oracle数据文件的误删除与恢复
- oracle数据文件被误删除后的灾难处理方法
- oracle数据文件被误删除后的灾难处理方法
- oracle数据文件被误删除后的灾难处理方法
- oracle数据文件被误删除后的灾难处理方法
- 模拟执行灾难恢复
- Oracle 意外删除数据文件的恢复
- oracle数据文件被删除没备份恢复
- Oracle意外删除数据文件恢复方法
- oracle数据文件被删除的恢复
- linux 误删除Oracle数据文件恢复
- oracle的灾难恢复
- oracle RMAN模拟数据文件丢失简单恢复方法
- oracle误用操作系统命令删除数据文件的恢复方法
- Linux下ORACLE误删除数据文件恢复操作
- oracle数据文件被误操作删除了恢复方法
- Python机器学习库
- 为 httpclient 设置代理, 设置http头.
- Android性能优化典范
- ibtaits动态列查询显示
- 【转】c#重写一个TabControl
- ORACLE 删除数据文件模拟灾难恢复
- Oracle中的约束
- JAVA在cmd命令行下运行
- Ubuntu下安装360随身wifi方法
- 高级图像去雾算法的快速实现
- hdu 1401 双向搜索(bfs)
- FetchType与FetchMode的区别
- Matlab中的数据预处理-归一化(mapminmax)与标准化(mapstd)
- SCI、EI及影响因子