oracle清空表数据truncate 如何恢复oracle中被truncate掉的表?使用oracle prm可以吗?怎么用呢?
如何恢复oracle中被truncate掉的表?使用oracle prm可以吗?怎么用呢?
表被截断时,需要立即还原。首先要做的是关闭所有数据库应用程序,或者关闭脱机表的表空间。只有一个目的是确保空间不会被重用,数据不会被覆盖。只要不重用原始空间(即覆盖数据),就可以恢复数据。有几种方法:
1。使用flashback数据库函数检索截断表:
要使用此方法,数据库必须处于存档模式,并且必须启用flashback和force日志记录功能;
其局限性在于此方法实际将数据库还原到某个时间点,还原数据库的过程需要重新启动数据库。
2、使用Oracle表扫描机制恢复被截断的数据:
提供一个用PLSQL编写的存储过程包来恢复被截断的数据。
truncate的原理是不逐个清除用户数据块上的数据,只重置数据字典和元数据块上的元数据(如存储段头和扩展段图)。也就是说,此时,基础数据不是销毁,而是由系统回收,等待重新分配。因此,要恢复被截断的数据,必须及时备份数据文件。
3、使用Oracle数据恢复工具ODU恢复被截断的数据:
ODU是一个相对易于使用且功能强大的数据恢复工具。它还可以直接扫描数据文件,获得删除的数据。不幸的是,它现在可以在市场上买到。官方版本需要许可证,需要许可证的公司或个人可以购买
oracle清空表数据truncate oracle表被truncate mysql truncate
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。