如何校验dmp文件为exp导出还是expdp导出

在Oracle数据库当中DBMS_DATAPUMP.GET_DUMPFILE_INFO()存储过程可以从dump文件中获取信息
Filetype返回以下文件类型:
0: unknown
1: Data Pump dump file
2: original Export dump file

可以通过DBMS_DATAPUMP.GET_DUMPFILE_INFO()存储过程来判断dmp文件是通过exp导出还是expdp导出;
首先创建一个directory目录用于保存dmp文件

SQL> create or replace directory cmpa  as '/tmp/****';

Directory created.

如何校验dmp文件为exp导出还是expdp导出

然后在sqlplus当中执行如下代码:

set serveroutput on
declare
 v_filetype    NUMBER; 
 v_info_table  sys.ku$_dumpfile_info; 
begin
 dbms_datapump.get_dumpfile_info(
  filename => 'woner_****_20191204.dmp',
  directory => upper('****'), --****就是directory目录的名称
  info_table => v_info_table, filetype => v_filetype);
  dbms_output.put_line('Filetype : ' || v_filetype);
end;

如何校验dmp文件为exp导出还是expdp导出

本示例输出filetype为2,表示导出的文件是exp导出的;

还有其他的方式比如通过string或者用文本工具强行打开查看文件头也可以识别,但是这种的更官方一些;

上一篇:带你读《思科软件定义访问 : 实现基于业务意图的园区网络》第二章软件定义访问体系结构2.6(二)


下一篇:ORACLE10g新特性——全局HASH分区索引