oracle数据恢复(flashback)
来源:互联网 发布:三防漆涂覆机程序编程 编辑:程序博客网 时间:2024/04/29 08:27
首先,有一种比较通用的,大家都会选择的东西,叫做“备份”。
用的是exp和imp命令,详细的命令格式网上有很多,在这里就不罗列了。一般来讲,需要备份(特定用户下的)所有对象(表)或指定对象(表)。可以用类似于下面这样的命令
[-dlbond@-]$exp username/userpasswd file=dmp_file_name.dmp tables=table_name
相应的,如果想导入备份数据,则可以用类似下面这样的命令
[-dlbond@-]$imp username/userpasswd file=dmp_file_name.dmp full=y
特别地,在imp命令中有一个full选项,如果想将备份文件的所有信息导入数据库,则可以用full=y,如果只想导入指定的对象(表),可以使用tables=table_name
以上就是关于数据的备份与恢复的简单内容,随时做好备份是一个特别好的习惯,就像rpg游戏当中的存档,如果你不随时在重要节点存档的话,出现“胜败乃兵家常事,大侠请重新来过”,那就只能是痛哭流涕了。
如果有时想恢复一些小动作的话,比如仅仅是误删了一条数据,或是一个表格,可能对于exp和imp来说,就有些大材小用了。如果你用的是oracle的话,可以考虑用flashback(闪回)功能。flashback分为:1.flashback query 2.flashback table 3.flashback database。就个人理解来看,前两个比较常用,而第三个相对来说使用率不高。
flashback query
就名称来看,是“闪回查询”,即只能查询到操作(例如删了某条记录)之前的内容,但不对表格实际内容做修改。有两种检索方式,一种是按时间查询,一种是按scn查询。
按时间查询比较好理解,比如说五分钟之前我删除了一条记录,但是我现在又想看一下被我删除的那条记录,就可以查询五分钟之前的表格数据,类似于
select * from table_name as of timestamp systimestamp - interval '5' minute;如果想查询指定时间的数据,则可以用类似下面这样的语句
select * from table_name as of timestamp to_timestamp('2015-04-30 08:00:01','yyyy-mm-dd hh24:mi:ss')
对于scn,则是oracle的一种机制,每条执行语句都对应一个scn号码。可以用下面的语句来查询当前scn
select dbms_flashback.get_system_change_number from dual;而scn号是递增的,如要退回之前scn的数据,可以用类似下面的语句
select * from table_name as of scn dbms_flashback.get_system_change_number-1000;具体后面的数字可以自己尝试。
flashback table
可以闪回操作前的数据,即修改了表的内容。同样支持timestamp和scn两种方式
flashback table table_name to timestamp systimestamp - interval '5' minute;
flashback table table_name to scn dbms_flashback.get_system_change_number-1000;
另外,flashback table还支持类似下面的语句
flashback table table_name to before drop;如要使上面的语句生效,需要满足几个条件。以下为简单的说明。
说明:oracle有一个类似于垃圾箱的一个东西recyclebin,一般情况下是开启的。可用下面的命令查询
SQL> show parameter recyclebin如果当前状态为off,则可以使用下面的命令开启
SQL>alter system set recyclebin=on;
另外,如果数据库空间不足,会默认冲洗掉recyclebin中最早的数据,如果冲洗掉了想要恢复的数据,则无法恢复。
- oracle数据恢复(flashback)
- Oracle数据恢复--flashback
- Oracle Flashback技术总结(恢复数据到某一刻)
- Oracle Study之案例--数据恢复神器Flashback(4)
- Oracle Study之案例--数据恢复神器Flashback(1)
- Oracle Study之案例--数据恢复神器Flashback(2)
- Oracle Study之案例--数据恢复神器Flashback(3)
- 误删除数据恢复(flashback)
- flashback table恢复数据
- 使用flashback恢复数据
- oracle 使用flashback(闪回)恢复误删除的数据 或 误删除的表
- oracle 使用flashback(闪回)恢复误删除的数据 或 误删除的表
- 用Oracle闪回功能(flashback)恢复删除的数据
- 用Oracle闪回功能(flashback)恢复删除的数据
- oracle数据误操作恢复【flashback闪回操作】
- Oracle Study之案例--数据恢复神器Flashback(1)
- Oracle Study之案例--数据恢复神器Flashback(2)
- Oracle Study之案例--数据恢复神器Flashback(3)
- 电脑配置
- 【Rails学习笔记】用户关注功能(三)
- Ajax-实现Google Suggest风格搜索
- 【Rails学习笔记】用户关注功能(二)
- 软考之设计模式(策略)
- oracle数据恢复(flashback)
- 【Rails学习笔记】用户关注功能(一)
- CListContainerElement 扩展任意类型的列表控件--表头拖拽不起作用
- vCenter Server 基礎應用
- java基础入门-父类引用子类对象
- 【Rails】在Rails中使用Gravatar
- 【Rails学习笔记】用户微博【下】
- 【Rails学习笔记】用户微博【上】
- Android eclipse 项目依赖