当前位置: 首页 > news >正文

恢复DELETE数据的PACKAGE(操作手册篇)(仅做研究使用)

恢复DELETE数据的PACKAGE(操作手册篇)

关于package的介绍和使用演示,请见《Oracle恢复DELETE数据的PACKAGE(介绍篇)》

安装

package下载链接
https://download.csdn.net/download/sp60cn/92942843
我将恢复delete数据PACKAGE简单集成在一个sql文件中,方便直接执行创建,或者自行复制sql文件中的创建语句执行也可以。

sqlplus/assysdba@del_recover_basic.sql

脚本就是简单的sqlplus / as sysdba进入数据库后执行创建,如果不是ORACLE_SID指向的实例,请修改脚本中的登录部分,或是复制语句后自行执行创建。
如果是CDB/PDB环境,请在要恢复的源表所在的容器的SYS用户中执行创建。

注意事项

  • 暂时仅支持恢复普通表,暂不支持如分区表、索引组织表等类型的表。
  • 暂时仅支持恢复NUMBER, VARCHAR2, CHAR, DATE, TIMESTAMP, RAW这六种数据类型。
  • 大部分不支持的数据类型会填充为null(目前已知的有CLOB、BLOB、XMLTYPE、INTERVAL等)。
  • 部分不支持的数据类型可能还会导致数据读取错误(目前已知的有LONG、LONG RAW)。
  • 源表元数据必须存在(未被 DROP)
  • 若底层数据被覆盖,则无法恢复。
  • 目标数据文件必须在文件系统(不支持共享存储)
  • 支持CDB/PDB环境
  • 目前已知适用于Oracle11g和Oracle19c,期间版本和更高版应该是支持的,但未经过测试。
  • 如果源表中有行迁移、行链接现象,会导致恢复失败。
  • 由于测试环境有局限性,不同环境可能导致失败。
  • 测试脚本的环境为Linux的Oracle19c的单机数据库。

参数详解

init_set 过程

设置恢复时的输出模式。
语法:

DEL_RECOVER_BASIC.INIT_SET(tracingINBOOLEANDEFAULTFALSE,loggingINBOOLEANDEFAULTTRUE);

参数:

参数模式默认值描述
tracingINFALSE恢复时是否输出详细的字段解析信息,供开发调试时使用。
loggingINTRUE恢复时是否输出恢复信息(如对象号、恢复出的表名、处理的数据文件、使用的目录、恢复的行数),建议保持开启。

使用说明:

  • init_set的设置会持续整个会话,直到再次调用覆盖。
  • init_set单独执行没有效果,它是为recover_deleted_table过程服务的。
  • 在sqlplus中执行recover_deleted_table恢复时,务必打开set serveroutput on,否则init_set的设置不会有任何输出。
  • 若源表较大,不建议开启tracing,会导致恢复时间加长。

示例:

EXECDEL_RECOVER_BASIC.init_set(FALSE,TRUE);

recover_deleted_table 过程

创建恢复表,读取数据文件,解析行内数据,将指定源表的数据恢复到恢复表内。
语法:

DEL_RECOVER_BASIC.RECOVER_DELETE_TABLE(p_ownerINVARCHAR2,p_tableINVARCHAR2,p_new_ownerINVARCHAR2DEFAULTUSER,p_new_tableINVARCHAR2DEFAULTNULL,p_ts_nameINVARCHAR2DEFAULTNULL);

参数:

项目模式默认值描述
p_ownerIN源表所属的用户(模式)名称。必选。
p_tableIN源表名称。必须与 dba_tables.table_name 完全一致,不能包含空格。必选。
p_new_ownerINUSER恢复表所属的用户名。默认为当前用户(即执行USER函数返回的用户名)。可选。
p_new_tableINNULL恢复表的名称。若为 NULL,自动生成 R_源表名(若重名则自动添加数字后缀)。可选。
p_ts_nameINNULL恢复表存放的表空间名称。若为 NULL,则使用恢复表所属用户的默认表空间。可选。

使用说明:

  • 再次说明,在sqlplus中执行recover_deleted_table恢复时,建议打开set serveroutput on,否则不会有任何输出。
  • 在SYS用户中创建,在SYS用户中执行。
  • 需要预先存在指向源表数据所在数据文件的目录对象,如不存在,在执行RECOVER_DELETE_TABLE后会提供一个创建语句,创建目录后再次执行恢复即可。
  • 恢复表会自动创建,但不包含源表的约束、索引、触发器、权限等
  • 每成功恢复一行即自动提交,无需用户手动 COMMIT。
  • 若恢复表名已存在,脚本会自动添加数字后缀(如 R_EMP_1),不会覆盖已有表。
  • 每个参数的值均需全部大写
  • 若数据量大,恢复时间可能会很长。

示例:

EXECDEL_RECOVER_BASIC.recover_deleted_table('TEST','EMP','TEST');

usage 过程

显示包的简要帮助信息。
语法:

DEL_RECOVER_BASIC.USAGE;

示例:

EXECDEL_RECOVER_BASIC.usage;
http://www.rkmt.cn/news/1461828.html

相关文章:

  • 终极指南:如何免费使用Cursor Pro破解工具突破AI编程助手限制
  • AI辅助开发新体验:让快马平台的AI帮你思考和优化yolov5模型代码
  • AutoClaw:面向业务的网页数据采集工作流设计范式
  • AI辅助开发新思路:利用快马多模型能力打造你的智能版typora编辑器
  • 告别重复劳动:用快马生成自动化工具高效管理ft232r驱动与串口配置
  • D2RML:基于智能令牌认证的暗黑破坏神2重制版高级自动化多实例管理引擎
  • Navicat Mac版无限重置教程:3种方法轻松延长试用期
  • 意图识别系统实战:从模糊到精准的七条规则
  • OpenAI GPT-4 Turbo升级:结构化输出、推理可观测与字段级计费
  • 树莓派硬件UART配置实战:直连RS-232/RS-485工业设备
  • 069、非线性控制与线性化方法
  • 手把手教你:在Ubuntu 22.04上为Docker容器或特定服务创建专属FTP用户(避开nologin陷阱)
  • 2026年短视频矩阵视频混剪头部工具市场动态深度解析:超级智剪、筷子科技、超级编导
  • PitchDetect:在浏览器中实现实时音高检测的奇妙工具 [特殊字符]
  • 062、LQR在姿态控制中的应用
  • DDrawCompat完全指南:3个简单步骤让经典游戏在Windows 11流畅运行
  • 2026年金蝶软件服务商:数字化转型三大核心趋势 - 资讯纵览
  • BilibiliDown:B站视频音频一键提取终极指南,免费获取高质量音源
  • 影刀RPA店群自动化架构:Python gRPC远程调用与执行器插件化实战
  • 基于DDS与Arduino的DIY函数信号发生器设计与实现
  • 2026 靠谱的关务系统甄选参考 综合适配度出众产品推荐 - 每日行业榜
  • 抖音无水印视频下载技术:Python与Electron双版本深度解析
  • 2026年企业级AI编程工具选型指南与深度评测
  • 树莓派CPU负载硬件指示器:用数字电路实现低开销系统监控
  • 手机从疯狂涨价到集体降价,厂商清库存,消费者换机热情还在吗?
  • 员工首日留存率提升41%:2024年最紧急的入职智能化窗口期只剩90天
  • 2026年免费音频转文字工具保姆级教程:手把手教你快速转录
  • 保姆级教程:在ESXi 7.0上把网卡直通给软路由,榨干千兆带宽
  • 2026 西安豆包推广公司口碑推荐:真实用户评价与核心优势
  • MATLAB近红外光谱一键预处理工具包:SG平滑、SNV、MSC、导数运算及组合方法全集成