Oracle恢复实验(三)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 04:28 点击:

环境:Oracle10g、Red Hat 4,Oracle运行在归档模式。

场景:恢复未备份的数据文件。

具体步骤:
1、新建表空间testts,并建个表,插入些数据
SQL> create tablespace testts datafile '/home/oracle/oracle/product/oradata/orcl/testts01.dbf' size 10m;

Tablespace created.

SQL> create table testTab tablespace testts
  2  as select * from scott.emp;

Table created.

SQL> select count(*) from testTab;

  COUNT(*)
----------
        14

SQL> commit;

Commit complete.

2、关库、删除数据文件,模拟数据文件损坏,注意没有备份哟
SQL> shutdown abort

SQL> !rm -f /home/oracle/oracle/product/oradata/orcl/testts01.dbf

3、尝试打开数据库
SQL> startup
ORACLE instance started.

Total System Global Area  130023424 bytes
Fixed Size                  1218100 bytes
Variable Size              67111372 bytes
Database Buffers           58720256 bytes
Redo Buffers                2973696 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/home/oracle/oracle/product/oradata/orcl/testts01.dbf'
会提示数据文件无法找到。

5、重建数据文件,尝试打开数据库。
SQL> alter database create datafile '/home/oracle/oracle/product/oradata/orcl/testts01.dbf';

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5: '/home/oracle/oracle/product/oradata/orcl/testts01.dbf'
此时数据文件是个空的,当然需要介质恢复

6、介质恢复
SQL> recover database;
Media recovery complete.

7、打开数据库,查检数据是否恢复
SQL> alter database open;

Database altered.

SQL> select count(*) from testTab;

  COUNT(*)
----------
        14
全部数据都恢复回来了。

作者“隔壁老王”
 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1