在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.
然后在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;
本示例输出filetype为2,表示导出的文件是exp导出的;
还有其他的方式比如通过string或者用文本工具强行打开查看文件头也可以识别,但是这种的更官方一些;