ITPub博客

首页 > 数据库 > Oracle > 【ASK_ORACLE】一眼判断出Oracle的dmp文件是用expdp导出还是exp导出

【ASK_ORACLE】一眼判断出Oracle的dmp文件是用expdp导出还是exp导出

原创 Oracle 作者:Attack_on_Jager 时间:2022-10-28 11:43:51 0 删除 编辑

前言

有时候DBA或者开发为了从Oracle中提数,会给你dmp文件让你导入,如果在不说明的情况下,你是不是就很困惑这个dmp文件到底是什么方式导出的?大部分开发们喜欢使用exp,DBA们则喜欢用expdp,而且有时候溯源也很困难,所以本文就提供一种方式来一眼就能看出dmp文件的导出方式,让你不再烦恼!


一眼就能看出的方法

Oracle提供了一个获取dmp文件信息的存储过程: DBMS_DATAPUMP.GET_DUMPFILE_INFO()

该存储过程有四种输出,分别是数字“0-3”,现在就来说明下这四个数字的含义:

0:unknown

1:expdp

2:exp

3:ext


具体使用方式:

1. 使用sys用户登录

$ sqlplus / as sysdba


2. 创建目录对象 (要确保dmp文件在自定义的目录下)

SQL> create or replace directory dmp_dir as '/backup/dump';


3. 打开PL/SQL的结果输出显示,否则sqlplus默认是不会显示结果的

SQL> set serveroutput on


4. 执行存储过程

declare
 v_filetype NUMBER;  -- 此处会显示“0-3”
begin
 dbms_datapump.get_dumpfile_info(
  filename => 'tables.dmp',  -- dmp文件名
  directory => 'DMP_DIR',  -- 目录对象名,需要大写,或者调用函数upper()转换一下
  filetype => v_filetype);
  dbms_output.put_line('Filetype : ' || v_filetype);
end;
/
Filetype : 1  --1就是对应的expdp方式
PL/SQL procedure successfully completed.



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2920826/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在某银行任职DBA,拥有多年数据库运维经验,擅长Oracle,MySQL。尤其擅长Oracle的SQL优化,数据库性能调优,数据库备份、恢复与迁移。拥有的认证:OCM 12c,OCM 11g,MySQL OCP,RHCE,阿里云ACP,巨杉SCDP,软考系统集成工程师认证,Oracle Iaas OCA,OBCA,TDSQL认证,TBase认证

注册时间:2021-01-11

  • 博文量
    142
  • 访问量
    482825