oracle10g数据库恢复(用户管理的不完全恢复——基于时间及基于取消的恢复)...

执行用户管理的不完全恢复
要执行用户管理的不完全恢复步骤:
1.关闭数据库
2.还原数据文件
3.装载数据库
4.恢复数据库
5.使用resetlogs选项打开数据库【resetlogs是把现有的联机重做日志里的内容清空,避免联机重做日志里的内容影响现有数据库】

【首先备份数据库】
SQL>alter database begin backup;
$cd /u01/oracle/oradata/orcl
$ cp * /u01/back
SQL> alter database end backup;

测试【基于时间】
做一些模拟数据:
SQL> conn scott/tiger

SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
DEPT                           TABLE
EMP                            TABLE
BONUS                          TABLE
SALGRADE                       TABLE
T4                             TABLE
EE2                            TABLE
T1                             TABLE
1.查看表ee2;
SQL> select count(*) from ee2;
  COUNT(*)
----------
        56

2.打开时间
SQL> set time on;
09:43:37 SQL>

3.删除表内容
09:44:09 SQL>
09:44:10 SQL> delete from ee2;
56 rows deleted.

4.再次查看表内容
09:44:23 SQL> select count(*) from ee2;
  COUNT(*)
----------
         0

5.关闭数据库
09:47:26 SQL> conn / as sysdba
09:47:58 SQL> shutdown immediate

6.删除数据文件【模拟丢失数据文件】
$cd /u01/oracle/oradata/orcl
$ rm -f *.dbf

7.还原数据文件【从备份中复制】
cp /u01/back/*.dbf .

8.装载数据库
09:48:30 SQL> startup mount;

9.恢复数据库
09:59:21 SQL> recover database until time '2014-04-02:09:44:09';
Media recovery complete.

10.使用resetlogs选项打开数据库;
SQL>alter database open resetlogs;

11.查看数据库
10:35:35 SQL> select count(*) from ee2;
  COUNT(*)
----------
        56

12.基于时间恢复成功。


测试【基于取消的恢复】
用户管理的基于取消的恢复


【备份】
******
开始最新备份:
SQL>alter database begin backup;
cd /u01/oracle/oradata/orcl
cp * /u01/bak
SQL>alter database end backup;
******


【假设在scott中添加一些数据】

SQL> conn scott/tiger
SQL> select * from tab;


TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
E1                             TABLE
E22                            TABLE
USER1                          TABLE
DEPT                           TABLE
EMP                            TABLE
BONUS                          TABLE
SALGRADE                       TABLE


SQL> select count(*) from e1;
  COUNT(*)
----------
        14


SQL> select count(*) from e1;


  COUNT(*)
----------
        56


1.关闭数据库
SQL> shutdown immediate;

2.从最新备份还原所有数据文件
【假设丢失了.dbf文件$rm -f *.dbf】

$ cp /u01/back/*.dbf .

3.已经具有了有效备份,所以可以装载数据库
SQL>startup mount;

4.执行recover database until cancel
SQL> recover database until cancel;

5.执行alter database open resetlogs 以打开数据库
SQL> alter database open resetlogs;

6. 基于取消的恢复成功。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29509120/viewspace-1145006/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29509120/viewspace-1145006/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值