执行用户管理的不完全恢复
要执行用户管理的不完全恢复步骤:
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. 基于取消的恢复成功。
要执行用户管理的不完全恢复步骤:
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/