18->数据文件损坏修复

1.数据文件恢复原理:   

     由于数据的修改会体现在联机重做日志中 所以数据可以通过重做日志恢复到数据文件中 所以如果是归档模式下 可以全部数据恢复 如果是非归档模式下 只能恢复到当前重做日志

中存在的数据

2.模拟数据文件损坏

添加一个表空间和临时表空间 并且创建一个用户 指定该表空间和默认表空间

create tablespace mydata datafile 'C:\app\jiaozi\oradata\orcl\mydata.dbf' s
ize 100m autoextend on next 10M;
表空间已创建。

SQL> create temporary tablespace mytemp tempfile 'C:\app\jiaozi\oradata\orcl\myt
mp.dbf' size 100m autoextend on next 10m;
表空间已创建。

SQL> create user my identified by my default tablespace mydata temporary tablesp
ace mytemp;

SQL> grant dba to my;
用户已创建。

登录my 创建表 插入数据

conn my/my

create table u(id number,name varchar2(20));

insert into u values(1,'zs');

insert into u values(2,'ls');

insert into u values(3,'ww');

commit;

将数据库关闭 

 shutdown immediate

将数据文件mydata.dbf删除

此时启动数据库会出现异常

SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1071333376 bytes
Fixed Size                  1375792 bytes
Variable Size             671089104 bytes
Database Buffers          394264576 bytes
Redo Buffers                4603904 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'C:\APP\JIAOZI\ORADATA\ORCL\MYDATA.DBF'

3.恢复数据文件

通过启动抛出异常 可以看出数据文件编号6(mydata.dbf)文件出现了异常 可以通过select * from v$recover_file; 查询需要恢复文件编号

此时 因为数据文件已经被删除 所以需要重建该文件 

SQL> alter database create datafile 'C:\APP\JIAOZI\ORADATA\ORCL\MYDATA.DBF'
数据库已更改。

开始恢复数据文件

SQL> recover datafile 6;  --或者 recover datafile ‘C:\APP\JIAOZI\ORADATA\ORCL\MYDATA.DBF’
完成介质恢复。
SQL> alter database open
数据库已更改。

测试是否成功恢复

SQL> conn my/my;
已连接。
SQL> select * from u;


        ID NAME
---------- --------------------
         1 zs
         2 ls
         3 ww
         4 zl



4.恢复损坏临时表空间

  临时表空间如果被删除 默认启动会自动重建

 如果临时表空间 出现问题可以新建一个临时表空间 

 alter database default temporary tablespace 临时表空间名称



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值