我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用fy_recover_data恢复truncate表的数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用fy_recover_data恢复truncate表的数据

1.       @/home/oracle/FY_Recover_Data.SQL
创建需要的package
[oracle@localhost oradata]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Thu May 17 00:43:59 2018

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> @/home/oracle/FY_Recover_Data.SQL

Package created.

Package body created.

2.       创建测试数据:
create table scott.test_emp tablespace users as select * from scott.emp;
truncate table scott.test_emp

3.       执行脚本:
注意路径:“/u01/app/oracle/oradata/orcl/”最后的”/”不能缺少
DECLARE

  tgtowner VARCHAR2(30);

  tgttable VARCHAR2(30);

  datapath VARCHAR2(4000);

  datadir  VARCHAR2(30);

  rects    VARCHAR2(30);

  recfile  VARCHAR2(30);

  rstts    VARCHAR2(30);

  rstfile  VARCHAR2(30);

  blksz    NUMBER;

  rectab   VARCHAR2(30);

  rsttab   VARCHAR2(30);

  copyfile VARCHAR2(30);

BEGIN

  tgtowner := 'SCOTT'; --table owner

  tgttable := 'TEST_EMP'; --table name

  datapath := '/u01/app/oracle/oradata/orcl/'; --必须和test.t1表所在的数据文件的目录相同

  datadir  := 'FY_DATA_DIR'; --oracle中目录的名字,可以修改

  fy_recover_data.prepare_files(tgtowner,

                                tgttable,

                                datapath,

                                datadir,

                                rects,

                                recfile,

                                rstts,

                                rstfile,

                                blksz);

  fy_recover_data.fill_blocks(tgtowner,

                              tgttable,

                              datadir,

                              rects,

                              recfile,

                              rstts,

                              8,

                              tgtowner,

                              tgtowner,

                              rectab,

                              rsttab,

                              copyfile);

  fy_recover_data.recover_table(tgtowner,

                                tgttable,

                                tgtowner,

                                rectab,

                                tgtowner,

                                rsttab,

                                datadir,

                                datadir,

                                recfile,

                                datadir,

                                copyfile,

                                blksz);

 

END;

执行完成之后,会看到scott用户下多了表:
SQL> select table_name, tablespace_name from dba_tables where owner = 'SCOTT';

 

TABLE_NAME                             TABLESPACE_NAME

------------------------------ ------------------------------

DEPT                                             USERS

EMP                                              USERS

BONUS                                         USERS

SALGRADE                                   USERS

TEST_EMP$                                 FY_REC_DATA

TEST_EMP$$                              FY_RST_DATA

TEST_EMP                                   USERS

 

7 rows selected.

将TEST_EMP$$插回TEST_EMP

使用fy_recover_data恢复truncate表的数据FY_Recover_Data.sql


参考:http://www.hellodba.com/reader.php?ID=191&lang=cn

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用fy_recover_data恢复truncate表的数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle使用fy_recover_data恢复truncate删除的数据

目录前言1.创建测试表2.truncate table pak_tab3 编译fy_recover_data包4.执行fy_rechttp://www.cppcns.comover_data包5.把数据插回原表6.校验数据总结前言TRUN
2022-07-20

mysql5.7使用binlog 恢复数据的方法

第一步:保证mysql已经开启binlogshow variables like '%log_bin%'; log_bin 为 on是开启。第二步:进入binlog文件目录,找到二进制日志文件mysql> show binary logs;
2022-05-15

sql怎么恢复一张表的数据

要恢复一张表的数据,你可以使用以下方法:1. 使用备份:如果你有之前的备份,可以直接将备份文件导入数据库,并选择恢复需要的表数据。2. 使用恢复工具:一些数据库管理系统提供了数据恢复工具,可以帮助你恢复被删除的表数据。你可以查阅相关文档了解
2023-09-22

Oracle数据库使用DMP文件恢复数据

要使用DMP文件恢复Oracle数据库中的数据,可以按照以下步骤进行操作:1. 在Oracle数据库服务器上找到DMP文件,并确保数据库版本与DMP文件版本匹配。如果版本不匹配,需要使用相应版本的Oracle数据库工具进行数据导入。2. 登
2023-09-17

delete误删数据使用SCN恢复

参考51CTO博客问题描述:使用scn号恢复误删数据1.查询系统闪回的scn值以及当前日志的scn值,因为我这个是测试,创建的表是在在后边,所以scn值要大于下边这两个scn值,所以对我恢复数据没有用,如果我创建的数据是在下边这两个SCN值之前,也就是比这两个
delete误删数据使用SCN恢复
2018-08-21

怎么使用mysql binlog恢复数据

这篇文章主要介绍“怎么使用mysql binlog恢复数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用mysql binlog恢复数据”文章能帮助大家解决问题。如果想通过 mysql 的
2023-07-05

怎么使用mysqldump恢复数据库

要使用mysqldump恢复数据库,您需要先备份数据库并将备份文件保存在一个安全的位置。然后按照以下步骤进行恢复:打开命令行工具或终端窗口。使用以下命令登录到MySQL服务器:mysql -u username -p(其中usernam
怎么使用mysqldump恢复数据库
2024-04-09

navicat删除的数据库表如何恢复

要恢复在Navicat中删除的数据库表,您可以尝试以下方法:1. 使用Navicat的“还原数据库对象”的功能。打开Navicat,连接到数据库服务器,右键点击数据库,选择“还原数据库对象”,然后选择要恢复的数据库表并点击“确定”。2. 如
2023-09-22

mysql怎么恢复刚删除的表数据

快速恢复刚删除的表:使用 flush logs 和 alter table 命令。深度恢复较长时间删除的表:满足条件(二进制日志启用、事件记录)、确定事件日志位置、转储日志、编辑 sql 文件、应用 sql 文件。如何在 MySQL 中恢复
mysql怎么恢复刚删除的表数据
2024-04-14

sqlserver恢复表数据的方法是什么

在SQL Server中,恢复表数据的方法通常包括以下几种:使用事务日志备份进行恢复:如果表数据被意外删除或修改,可以通过还原事务日志备份来恢复表数据到之前的状态。使用备份进行恢复:如果有定期备份数据库的策略,可以通过还原数据库备份来恢复表
sqlserver恢复表数据的方法是什么
2024-04-09

怎么使用oracle快照恢复数据

使用Oracle快照恢复数据的步骤如下:1. 确保你有一个可用的数据库快照。在Oracle数据库中,可以使用RMAN(Recovery Manager)或Flashback技术创建数据库快照。如果你没有创建快照,你需要先创建一个。2. 确定
2023-08-26

使用Navicat恢复阿里云数据库

本文主要介绍了如何使用Navicat恢复阿里云数据库。Navicat是一款强大的数据库管理工具,可以方便地管理和备份各种数据库。本文将详细介绍如何使用Navicat恢复阿里云数据库,希望能帮助到需要的用户。正文:首先,我们需要登录到阿里云控制台。在控制台的左侧导航栏中,找到并点击“数据库”。在数据库列表中,找到我
使用Navicat恢复阿里云数据库
2023-12-12

编程热搜

目录