文档课题:判断dmp文件的导出方式是exp or expdp.
环境:oracle 11.2.0.4 64位 + centos 7.9 64位
说明:测试swm.dmp(exp导出文件),LUNM_MCC_44.DMP(expdp导出文件).
应用场景:客户将导出的dmp文件交给DBA进行导入作业,而DBA会遇到不知道该文件在导出时是exp or expdp,此时就可以通过以下测试判断dmp文件的导出方式.
1、exp
测试exp文件.
[oracle@liujun ~]$ mkdir dmpfile
sftp> cd /home/oracle/dmpfile
sftp> lcd F:\install_upgrade\迁移
sftp> put swm.dmp
[root@liujun ~]# cd /home/oracle/dmpfile
[root@liujun dmpfile]# chown oracle:oinstall swm.dmp
SQL> create or replace directory dump_dir as '/home/oracle/dmpfile';
Directory created.
SQL> set serveroutput on
SQL> declare
v_filetype NUMBER; -- 0=unknown 1=expdp 2=exp 3=ext
v_info_table sys.ku$_dumpfile_info; -- PL/SQL table with file info
begin
dbms_datapump.get_dumpfile_info(filename => 'swm.dmp',
directory => upper('dump_dir'),
info_table => v_info_table,
filetype => v_filetype);
dbms_output.put_line('Filetype : ' || v_filetype);
end;
/
Filetype : 2
PL/SQL procedure successfully completed.
说明:结果为2,判断出为exp文件.
2、expdp
测试expdp文件.
sftp> lcd F:\install_upgrade\迁移
sftp> put LUNM_MCC_44.DMP
[root@liujun dmpfile]# chown oracle:oinstall LUNM_MCC_44.DMP
SQL> set serveroutput on
SQL> declare
v_filetype NUMBER; -- 0=unknown 1=expdp 2=exp 3=ext
v_info_table sys.ku$_dumpfile_info; -- PL/SQL table with file info
begin
dbms_datapump.get_dumpfile_info(filename => 'swm.dmp',
directory => upper('dump_dir'),
info_table => v_info_table,
filetype => v_filetype);
dbms_output.put_line('Filetype : ' || v_filetype);
end;
/
Filetype : 1
PL/SQL procedure successfully completed.
说明:结果为1,判断出为expdp文件.