flashback之flashback database
来源:互联网 发布:自学unity3d要多久 编辑:程序博客网 时间:2024/06/05 15:44
《三思笔记》--读书笔记
flashback database要求数据库在归档模式,且数据库必须启动flashback database和force logging
制约因素:
1,flashback database 用来将数据库中的数据恢复至之前的某个时间点,而非介质恢复,因此不能使用flashback database恢复之前被删除的某个数据文件
2,如果控制文件被重建,则在此之前所产生的所有flashback logs通通失效,也就是说不能将flashback databse恢复到控制文件被重建之前
3,不支持对数据库执行过shrink操作后的恢复
flashback database操作示例
1,将数据库启动flashback database和force logging
SQL> conn / as sysdbaConnected.SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 417546240 bytesFixed Size 2228944 bytesVariable Size 318770480 bytesDatabase Buffers 92274688 bytesRedo Buffers 4272128 bytesDatabase mounted.SQL> alter database flashback on;Database altered.SQL> alter database force logging;Database altered.SQL> alter database open;Database altered.
2,检查是否启动了flash recovery area
SQL> conn / as sysdbaConnected.SQL> show parameter DB_RECOVERNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string /u01/oracle/app/oracle/fast_re covery_areadb_recovery_file_dest_size big integer 4122M
3,检查是否启用了归档
SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /u02/arch_logOldest online log sequence 1Next log sequence to archive 2Current log sequence 2
4,检查是否启用了flashback database 和force logging
SQL> select flashback_on,force_logging from v$database;FLASHBACK_ON FOR------------------ ---YES YES
5,查询当前的SCN
SQL> select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER------------------------ 1806450
6,模拟误删除操作
SQL> conn cindy/cindy;Connected.SQL> drop table flash_tbl purge;Table dropped.
7,重新启动到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 417546240 bytesFixed Size 2228944 bytesVariable Size 318770480 bytesDatabase Buffers 92274688 bytesRedo Buffers 4272128 bytesDatabase mounted.
SQL> flashback database to scn 1806450;Flashback complete.
至此之后,有两种方式打开数据库
1)alter database open resetlogs
2)另一种方式是先执行alter database open read only打开数据库,然后立刻通过逻辑导出的方式将误操作涉及表的数据导出,再执行recover database命令以重新应用数据库产生的redo,将数据库修复到flashback database操作前的状态,然后再通过逻辑导入的方式,将之前误操作的表重新导入
SQL> alter database open resetlogs;Database altered.SQL> conn cindy/cindy;Connected.SQL> select * from flash_tbl; ID VL---------- -- 8 G 9 H 10 I 11 J 12 K 13 L 14 M 15 N 116 O 117 P 118 Q ID VL---------- -- 119 R 120 S 201 A1 202 B115 rows selected.
显然数据回来了
0 0
- flashback之flashback database
- Oracle Flashback之Flashback database
- Oracle Flashback之flashback database
- flashback六大技术之flashback database
- Oracle Flashback技术之Flashback Database
- Flashback Database!
- flashback database.
- Flashback Database
- Flashback Database
- Flashback Database
- Flashback Database
- flashback database
- flashback之flashback query
- flashback之flashback table
- flashback
- Flashback
- flashback
- flashback
- Percetron Learning Algorithm有限性的证明
- 自考《信息系统开发与管理》之数据流图
- 二分查找算法
- emacs下使用google-cpplint
- BZOJ 1055 HAOI2008 玩具取名 动态规划
- flashback之flashback database
- HDU——4472 Count
- 信息系统开发与管理
- window.showModalDialog参数传递
- POJ Hard Life (最大密度子图)
- AFNetWorking详解
- VS2013中如何解决error C4996: 'fopen'问题
- 同源策略与jsonp跨域
- MapReduce 编程 系列十二 用Hadoop Streaming技术集成newLISP脚本