千家信息网

Oracle 表和表数据恢复

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1. 表恢复对误删的表,只要没有使用 purge 永久删除选项,那么基本上是能从 flashback table 区恢复回来的。数据表和其中的数据都是可以恢复回来的,记得 flashback tabl
千家信息网最后更新 2026年11月01日Oracle 表和表数据恢复

1. 表恢复

对误删的表,只要没有使用 purge 永久删除选项,那么基本上是能从 flashback table 区恢复回来的。

数据表和其中的数据都是可以恢复回来的,记得 flashback table 是从 Oralce 10g 提供的,一般步骤有:

a.从 flashback table 里查询被删除的数据表

select * from recyclebin order by droptime desc

b.执行表的恢复

flashback table '需要恢复的表名' to before drop

回到顶部

2. 表数据恢复

对误删的表记录,只要没有 truncate 语句,就可以根据事务的提交时间进行选择恢复。

这功能也是 oracle 10g 以上提供的,一般步骤有:

a. 先从 flashback_transaction_query 视图里查询,视图提供了供查询用的表名称、事务提交时间、undo_sql等字段。

select * from flashback_transaction_query where table_name='需要恢复数据的表名(大写)';

b.查询删除的时间点

select to_char(sysdate, 'yyyy-mm-dd hh34:mi:ss') time,       to_char(dbms_flashback.get_system_change_number) scn  from dual;

或者你知道大概记得删除点,你也可以这样试试查询,找出删除前的时间点

select * from '需要恢复数据的表名' as of timestamp to_timestamp('时间点', 'yyyy-mm-dd hh34:mi:ss');

c.进行数据恢复

通过第二步找到数据丢失的时间点,恢复极为简单,语句为

flashback table '需要恢复数据的表名' to timestamp to_timestamp('数据丢失的前一时间点','yyyy-mm-dd hh34:mi:ss');

注意:在执行上述操作的时候,需要允许 oracle 修改分配给行的 rowid,这时候 oracle 需要给恢复的数据分配新的物理地址。

alter table table_name enable row movement;

其实找到数据丢失前的时间点后,恢复数据也可以将需要恢复的数据直接插入到目标表中

insert into '数据丢失的表' select * from t of timestamp to_timestamp('时间点', 'yyyy-mm-dd hh34:mi:ss') where .......;


数据 时间 查询 数据恢复 事务 数据表 步骤 视图 语句 a. 分配 功能 名称 地址 大写 字段 时候 物理 目标 顶部 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司简介 互联网科技财经 智能科技公司是互联网公司吗 互联网与科技金融数据 中国 科技 互联网 礼当家互联网科技 善班互联网科技有限公司 时间互联网络科技 菲比寻常互联网科技 左右互联网络科技 卫星互联网科技股票 中国航天科技大学国际工业互联网 呼和浩特新华互联网科技学院 区块链结合互联网科技 小米互联网科技园入驻 张家口科技产业互联网平台 广州三三互联网科技有限公司 玉溪新华互联网科技怎么选 安徽零酒互联网科技有限公司 互联网科技对化妆品行业 互联网时代科技改变生活 崇明区互联网教育科技售后服务 浙南科技城互联网大厦建设工程 沐思想互联网科技有限公司 互联网第三次科技革命特征 启辰互联网科技 信承诺互联网科技有限公司 普陀区互联网教育科技管理办法 中国互联网公司的科技投入 广州三三互联网科技有限公司
0