Oracle 学习之RMAN(十四)恢复实战--基于时间点恢复
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,1. 我们先做一个全备RMAN> backup database ;Starting backup at 2015/07/09 13:40:47allocated channel: ORA_DISK_
千家信息网最后更新 2025年02月12日Oracle 学习之RMAN(十四)恢复实战--基于时间点恢复
1. 我们先做一个全备
RMAN> backup database ;Starting backup at 2015/07/09 13:40:47allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=28 device type=DISKchannel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setinput datafile file number=00001 name=/u01/app/oracle/oradata/devdb/system01.dbfinput datafile file number=00002 name=/u01/app/oracle/oradata/devdb/sysaux01.dbfinput datafile file number=00005 name=/u01/app/oracle/oradata/devdb/example01.dbfinput datafile file number=00003 name=/u01/app/oracle/oradata/devdb/undotbs01.dbfinput datafile file number=00004 name=/u01/app/oracle/oradata/devdb/users01.dbfchannel ORA_DISK_1: starting piece 1 at 2015/07/09 13:40:48channel ORA_DISK_1: finished piece 1 at 2015/07/09 13:42:34piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T134048_bsw2c0xq_.bkp tag=TAG20150709T134048 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:46channel ORA_DISK_1: starting full datafile backup setchannel ORA_DISK_1: specifying datafile(s) in backup setincluding current control file in backup setincluding current SPFILE in backup setchannel ORA_DISK_1: starting piece 1 at 2015/07/09 13:42:35channel ORA_DISK_1: finished piece 1 at 2015/07/09 13:42:36piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_ncsnf_TAG20150709T134048_bsw2gcly_.bkp tag=TAG20150709T134048 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01Finished backup at 2015/07/09 13:42:36
2. 创建一个表,往里面插入一些数据。记录下时间,等待一会再将表truncate。
SQL> alter user scott account unlock;User altered.SQL> alter user scott identified by tiger;User altered.SQL> conn scott/tigerConnected.SQL> select sysdate from dual;SYSDATE-------------------2015/07/09 13:44:30SQL> create table t1 as select * from emp;Table created.SQL> select sysdate from dual;SYSDATE-------------------2015/07/09 13:45:32SQL> truncate table t1;Table truncated.
在2015/07/09 13:45:32以前,表t1中有14条数据。之后做了truncate。我们现在来看看能不能将数据库恢复到2015/07/09 13:45:32这一时刻。也就是t1被truncate掉之前。
3. 关闭数据库,再启动到mount状态
SQL> conn / as sysdbaConnected.SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area 839282688 bytesFixed Size 2233000 bytesVariable Size 494931288 bytesDatabase Buffers 339738624 bytesRedo Buffers 2379776 bytesDatabase mounted.
4. 恢复数据库
RMAN> RUN { ALLOCATE CHANNEL c1 TYPE DISK; ALLOCATE CHANNEL c2 TYPE DISK; SET UNTIL TIME = '2015/07/09 13:45:32'; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS; }2> 3> 4> 5> 6> 7> 8> using target database control file instead of recovery catalogallocated channel: c1channel c1: SID=20 device type=DISKallocated channel: c2channel c2: SID=21 device type=DISKexecuting command: SET until clauseStarting restore at 2015/07/09 13:50:59channel c1: starting datafile backup set restorechannel c1: specifying datafile(s) to restore from backup setchannel c1: restoring datafile 00001 to /u01/app/oracle/oradata/devdb/system01.dbfchannel c1: restoring datafile 00002 to /u01/app/oracle/oradata/devdb/sysaux01.dbfchannel c1: restoring datafile 00003 to /u01/app/oracle/oradata/devdb/undotbs01.dbfchannel c1: restoring datafile 00004 to /u01/app/oracle/oradata/devdb/users01.dbfchannel c1: restoring datafile 00005 to /u01/app/oracle/oradata/devdb/example01.dbfchannel c1: reading from backup piece /u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T134048_bsw2c0xq_.bkpchannel c1: piece handle=/u01/app/oracle/fast_recovery_area/DEVDB/backupset/2015_07_09/o1_mf_nnndf_TAG20150709T134048_bsw2c0xq_.bkp tag=TAG20150709T134048channel c1: restored backup piece 1channel c1: restore complete, elapsed time: 00:01:15Finished restore at 2015/07/09 13:52:14Starting recover at 2015/07/09 13:52:15starting media recoverymedia recovery complete, elapsed time: 00:00:01Finished recover at 2015/07/09 13:52:16database openedreleased channel: c1released channel: c2
5. 验证数据是否存在。
SQL> conn scott/tiger Connected.SQL> select count(*) from t1; COUNT(*)---------- 14SQL>
可见数据已经找回。
基于时间点的恢复,是不完全恢复的一种,我们还可以基于SCN和日志sequence恢复。
UNTIL SEQUENCE or UNTIL SCN
数据
数据库
时间
也就是
日志
时刻
状态
全备
验证
实战
习之
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库对话技巧
网络安全管理系统如何实现
数据库的概念结构设计中
惠州微商软件开发常见问题
网络安全与信息化建设建议
网络安全教育校园主题团日活动
阿里 网络安全宣传周
道亨铁塔数据库
内蒙古软件开发联系方式
网络安全风险内容
csol一进房间就服务器超时
软件开发经费标准
软件开发文档模板图片
网络安全法密码复杂度
阿里云服务器创建网站
app能用web服务器吗
网络安全法发展历程
软件开发项目计划书ppt
思迅收银系统服务器地址
数据库设计过程的第一个阶段
南通手机软件开发
中国省市县数据库
政府软件开发哪家口碑好
金华炒币量化交易软件开发公司
不是常见的分布式数据库技术
数据库中二级映射有什么好处
全球科技互联网巨头前20名
数据库中 表的组成
哪种数据库压缩比高
国家网络安全部门工作人员收入