暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

741.dmp文件信息判断及导入导出语句

原创 张鹏 2022-10-17
461

741.dmp文件信息判断及导入导出语句

一、判断dmp文件是exp还是expd导出

非官方方法:

确认dmp文件是exp导出还是expdp导出
1)xxd test.dmp | more 或者 xxd -ps -l 2 test.dmp
expdp导出的文件开头为0301,exp导出的文件开头为0303
2)strings test.dmp | more
expdp导出的dmp文件头信息:
“SYS”.“SYS_EXPORT_TABLE_01” -----job名称
x86_64/Linux 2.4.xx -----操作系统版本
bjdb -----数据库名称
ZHS16GBK -----数据库字符集
11.02.00.04.00 -----数据库版本
exp导出的dmp文件头信息:
iEXPORT:V11.02.00 -----版本
USCOTT -----用户
RTABLES -----对象
确认expdp导出的dmp文件的导出命令
strings test.dmp | grep CLIENT_COMMAND
3)如果dmp文件过大,无法打开
获取dmp文件的头信息
dd if=xxx.dmp of=aaa bs=1m count=1

以字符串方式 查看头信息
strings aaa|more
expdp:包含 SYS_EXPORT_TABLE
exp:包含 @EXPORT:V

官方方法:
如何确定一个dmp文件是exp导出的还是expdp导出的?
原创 Oracle 作者:巡完南山巡南山 时间:2019-06-05 16:17:25 1465 0
DBMS_DATAPUMP.GET_DUMPFILE_INFO()存储过程可以从dump文件中获取信息
Filetype返回以下文件类型:
1: Data Pump dump file
2: original Export dump file
在SQL*Plus中,用以下方法获取dump文件的信息:
(注意:替换 为实际值)
– Dump file(test.dmp) is saved in the /tmp/test.
SQL> conn /as sysdba
SQL> create or replace directory test as ‘/tmp/test’;
Directory created.
SQL> set serveroutput on
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 => ‘test.dmp’,
directory => upper(‘test’),
info_table => v_info_table,
filetype => v_filetype);
dbms_output.put_line('Filetype : ’ || v_filetype);
end;
/
SQL>
Filetype : 2
PL/SQL procedure successfully completed.
本文转自MOS原文,如何确定一个dmp文件是传统export(exp)导出的还是DataPump Export(expdp)导出的? (文档 ID 2533832.1)

用DBMS_DATAPUMP获得Oracle导出文件的元数据信息
我们在工作中会有这样的情况,要将一个dmp文件导入到数据库中,可是我们却没有这个文件的元数据信息,比如数据库版本号、字符集,是Datapump文件还是传统的Export文件。Oracle10g以上的版本有一个DBMS_DATAPUMP工具包,里面有一个过程GET_DUMPFILE_INFO可以为我们取得dmp的文件信息。
我们先看看这个文件的过程的描述:

DBMS_DATAPUMP.GET_DUMPFILE_INFO(
filename IN VARCHAR2,
directory IN VARCHAR2,
info_table OUT ku$_dumpfile_info,
filetype OUT NUMBER);

下面是每个参数的描述:

filename A simple filename with no directory path information
directory A directory object that specifies where the file can be found
info_table A PL/SQL table for storing information about the dump file
filetype The type of file (Data Pump dump file, original Export dump file, or unknown)

下面开始测试,注意要在Oracle10g以上版本数据库中测试
1、导出一个文件,为方便起见,我们使用Oracle自带的目录对象DATA_PUMP_DIR

expdp system/password directory=data_pump_dir dumpfile=test.dmp logfile=test.log tables=scott.emp

2、编写PLSQL代码,调用GET_DUMPFILE_INFO过程,获得test.dmp文件元数据信息。

DECLARE
t1 ku$_dumpfile_info;
v1 NUMBER;
item_meaning VARCHAR2 (40);
v_file_type VARCHAR2 (20);
BEGIN
DBMS_DATAPUMP.GET_DUMPFILE_INFO (‘test.dmp’,
‘DATA_PUMP_DIR’,
t1,
v1);

IF v1 = 1
THEN
v_file_type := ‘DATA_PUMP_FILE’;
ELSE
v_file_type := ‘ORIGINAL_EXPORT_FILE’;
END IF;

DBMS_OUTPUT.PUT_LINE ('filetype: ’ || v_file_type);

FOR i IN 1 … t1.COUNT
LOOP
item_meaning :=
CASE t1 (i).item_code
WHEN 1 THEN ‘FILE_VERSION’
WHEN 2 THEN ‘MASTER_PRESENT’
WHEN 3 THEN ‘GUID’
WHEN 4 THEN ‘FILE_NUMBER’
WHEN 5 THEN ‘CHARSET_ID’
WHEN 6 THEN ‘CREATION_DATE’
WHEN 7 THEN ‘FLAGS’
WHEN 8 THEN ‘JOB_NAME’
WHEN 9 THEN ‘PLATFORM’
WHEN 10 THEN ‘INSTANCE’
WHEN 11 THEN ‘LANGUAGE’
WHEN 12 THEN ‘BLOCKSIZE’
WHEN 13 THEN ‘DIRPATH’
WHEN 14 THEN ‘METADATA_COMPRESSED’
WHEN 15 THEN ‘DB_VERSION’
WHEN 16 THEN ‘MASTER_PIECE_COUNT’
WHEN 17 THEN ‘MASTER_PIECE_NUMBER’
WHEN 18 THEN ‘DATA_COMPRESSED’
WHEN 19 THEN ‘METADATA_ENCRYPTED’
WHEN 20 THEN ‘DATA_ENCRYPTED’
ELSE ‘UNKNOWN’
END;

  DBMS_OUTPUT.PUT_LINE (
     RPAD (item_meaning || ':', 30, ' ') || LPAD (t1 (i).VALUE, 30, ' '));

END LOOP;
END;
/

下面是输出结果:

filetype: DATA_PUMP_FILE
FILE_VERSION: 3.1
DB_VERSION: 11.02.00.00.00
MASTER_PRESENT: 1
FLAGS: 2
GUID: 72C6699324794336B115F01D234763
CHARSET_ID: 852
FILE_NUMBER: 1
JOB_NAME: “SYSTEM”.“SYS_EXPORT_TABLE_01”
PLATFORM: IBMPC/WIN_NT-8.1.0
INSTANCE: ii1
LANGUAGE: ZHS16GBK
CREATION_DATE: Mon Nov 22 16:41:26 2010
BLOCKSIZE: 4096
METADATA_COMPRESSED: 1
DATA_COMPRESSED: 0
METADATA_ENCRYPTED: 0
DATA_ENCRYPTED: 0
UNKNOWN: 0
UNKNOWN: 2
MASTER_PIECE_COUNT: 1
MASTER_PIECE_NUMBER: 1

PL/SQL 过程已成功完成。

3、再次用原始的导出方式导出scott.emp数据表,首先获得DATA_PUMP_DIR的位置

SELECT directory_path
FROM DBA_DIRECTORIES
WHERE directory_name=‘DATA_PUMP_DIR’;

DIRECTORY_PATH

E:\app\Oracle\admin\ii1\dpdump\

然后执行
exp system/password file= E:\app\Oracle\admin\ii1\dpdump
test.dmp log=test.log tables=scott.emp

4、最后再次执行上面的PL/SQL代码,得到结果

filetype: ORIGINAL_EXPORT_FILE
DB_VERSION: EXPORT:V11.02.00
CHARSET_ID: 852
DIRPATH: 0

oracle dump 文件解析,实用解析dmp文件内容
配置实验环境:
1.1 生产三个文件
exp woo/oracle table=dump_table file=1.dmp;
expdp woo/oracle tables=dump_table directory=dhome dumpfile=2.dmp;
touch 3.dmp
2.创建随机数据
SQL> create table dump_table as
2 select rownum as id,
3 to_char(sysdate + rownum / 24 / 3600, ‘yyyy-mm-dd hh24:mi:ss’) as inc_datetime,
4 trunc(dbms_random.value(0, 100)) as random_id,
5 dbms_random.string(‘x’, 20) random_string
6 from dual
7 connect by level <= 10;
Table created.
SQL> desc dump_table;
Name Null? Type


ID NUMBER
INC_DATETIME VARCHAR2(19)
RANDOM_ID NUMBER
RANDOM_STRING VARCHAR2(4000)
SQL> select count() from dump_table;
COUNT(
)

10
3.生成如下文件
[oracle@ora11grac1 ~]$ ls -rtl
total 212
-rw-r–r-- 1 oracle oinstall 16384 Mar 18 15:06 1.dmp
-rw-r----- 1 oracle asmadmin 98304 Mar 18 15:13 2.dmp
-rw-r–r-- 1 oracle asmadmin 1071 Mar 18 15:14 export.log
-rw-r----- 1 oracle asmadmin 98304 Mar 18 15:14 3.dmp
4.判断文件室友哪个版本生成的
[oracle@ora11grac1 ~]$ sed -n 1p 1.dmp
EXPORT:V11.02.00
5.判断文件类型
SQL> set serveroutput on
SQL> declare
2 v_filetype NUMBER; – 0=unknown 1=expdp 2=exp 3=ext
3 v_info_table sys.kudumpfileinfo;PL/SQLtablewithfileinfo4begin5dbmsdatapump.getdumpfileinfo(6filename=>1.dmp,7directory=>upper(dhome),8infotable=>vinfotable,filetype=>vfiletype);9dbmsoutput.putline(Filetype:vfiletype);10end;11/Filetype:2SQL>setserveroutputonSQL>declare2vfiletypeNUMBER;0=unknown1=expdp2=exp3=ext3vinfotablesys.ku_dumpfile_info; -- PL/SQL table with file info 4 begin 5 dbms_datapump.get_dumpfile_info( 6 filename => '1.dmp', 7 directory => upper('dhome'), 8 info_table => v_info_table, filetype => v_filetype); 9 dbms_output.put_line('Filetype : ' || v_filetype); 10 end; 11 / Filetype : 2 SQL> set serveroutput on SQL> declare 2 v_filetype NUMBER; -- 0=unknown 1=expdp 2=exp 3=ext 3 v_info_table sys.ku_dumpfile_info; – PL/SQL table with file info
4 begin
5 dbms_datapump.get_dumpfile_info(
6 filename => ‘2.dmp’,
7 directory => upper(‘dhome’),
8 info_table => v_info_table, filetype => v_filetype);
9 dbms_output.put_line('Filetype : ’ || v_filetype);
10 end;
11 /
Filetype : 1
PL/SQL procedure successfully completed.
SQL> set serveroutput on
SQL> declare
2 v_filetype NUMBER; – 0=unknown 1=expdp 2=exp 3=ext
3 v_info_table sys.kudumpfileinfo;PL/SQLtablewithfileinfo4begin5dbmsdatapump.getdumpfileinfo(6filename=>3.dmp,7directory=>upper(dhome),8infotable=>vinfotable,filetype=>vfiletype);9dbmsoutput.putline(Filetype:vfiletype);10end;11/Filetype:1PL/SQLproceduresuccessfullycompleted.SQL>setserveroutputonSQL>declare2vfiletypeNUMBER;0=unknown1=expdp2=exp3=ext3vinfotablesys.ku_dumpfile_info; -- PL/SQL table with file info 4 begin 5 dbms_datapump.get_dumpfile_info( 6 filename => '3.dmp', 7 directory => upper('dhome'), 8 info_table => v_info_table, filetype => v_filetype); 9 dbms_output.put_line('Filetype : ' || v_filetype); 10 end; 11 / Filetype : 1 PL/SQL procedure successfully completed. SQL> set serveroutput on SQL> declare 2 v_filetype NUMBER; -- 0=unknown 1=expdp 2=exp 3=ext 3 v_info_table sys.ku_dumpfile_info; – PL/SQL table with file info
4 begin
5 dbms_datapump.get_dumpfile_info(
6 filename => ‘export.log’,
7 directory => upper(‘dhome’),
8 info_table => v_info_table, filetype => v_filetype);
9 dbms_output.put_line('Filetype : ’ || v_filetype);
10 end;
11 /
Filetype : 0
PL/SQL procedure successfully completed.
6.数据库字符集,数据库名称,操作系统类型,操作系统名称
[oracle@ora11grac1 ~]$ sed -n 1p 2.dmp
\ÒÂÇg€¼uC¡ÈÃë KàS
H€"WOO"."SYS_EXPORT_TABLE_01"x86_64/Linux 2.4.xxora11grac1:woo1AL32UTF8 11.02.00.04.00001:001:000001:000001ÿÿ$$
7.判断文件所属表空间或用户
[oracle@ora11grac1 ~]$ sed -n 2p 1.dmp
DWOO
8.导出方式,USER,TABLE,
[oracle@ora11grac1 ~]$ sed -n 3p 1.dmp
RTABLES
9.判断文件数据块大小
[oracle@ora11grac1 ~]$ sed -n 4p 1.dmp
8192

show_dumpfile_info脚本


需要修改
CONNECT system/manager

CREATE OR REPLACE PROCEDURE show_dumpfile_info(
p_dir VARCHAR2 DEFAULT ‘DATA_PUMP_DIR’,
p_file VARCHAR2 DEFAULT ‘EXPDAT.DMP’)
AS
– p_dir = directory object where dump file can be found
– p_file = simple filename of export dump file (case-sensitive)
v_separator VARCHAR2(80) := ‘--------------------------------------’ ||
‘--------------------------------------’;
v_path all_directories.directory_path%type := ‘?’;
v_filetype NUMBER; – 0=unknown 1=expdp 2=exp 3=ext
v_fileversion VARCHAR2(15); – 0.1=10gR1 1.1=10gR2 (etc.)
v_info_table sys.ku$_dumpfile_info; – PL/SQL table with file info
type valtype IS VARRAY(23) OF VARCHAR2(2048);
var_values valtype := valtype();
no_file_found EXCEPTION;
PRAGMA exception_init(no_file_found, -39211);

BEGIN

– Dump file details:
– ==================
– For Oracle10g Release 2 and higher:
– dbms_datapump.KUDFHDRFILEVERSIONCONSTANTNUMBER:=1;dbmsdatapump.KU_DFHDR_FILE_VERSION CONSTANT NUMBER := 1; -- dbms_datapump.KU_DFHDR_MASTER_PRESENT CONSTANT NUMBER := 2;
– dbms_datapump.KUDFHDRGUIDCONSTANTNUMBER:=3;dbmsdatapump.KU_DFHDR_GUID CONSTANT NUMBER := 3; -- dbms_datapump.KU_DFHDR_FILE_NUMBER CONSTANT NUMBER := 4;
– dbms_datapump.KUDFHDRCHARSETIDCONSTANTNUMBER:=5;dbmsdatapump.KU_DFHDR_CHARSET_ID CONSTANT NUMBER := 5; -- dbms_datapump.KU_DFHDR_CREATION_DATE CONSTANT NUMBER := 6;
– dbms_datapump.KUDFHDRFLAGSCONSTANTNUMBER:=7;dbmsdatapump.KU_DFHDR_FLAGS CONSTANT NUMBER := 7; -- dbms_datapump.KU_DFHDR_JOB_NAME CONSTANT NUMBER := 8;
– dbms_datapump.KUDFHDRPLATFORMCONSTANTNUMBER:=9;dbmsdatapump.KU_DFHDR_PLATFORM CONSTANT NUMBER := 9; -- dbms_datapump.KU_DFHDR_INSTANCE CONSTANT NUMBER := 10;
– dbms_datapump.KUDFHDRLANGUAGECONSTANTNUMBER:=11;dbmsdatapump.KU_DFHDR_LANGUAGE CONSTANT NUMBER := 11; -- dbms_datapump.KU_DFHDR_BLOCKSIZE CONSTANT NUMBER := 12;
– dbms_datapump.KUDFHDRDIRPATHCONSTANTNUMBER:=13;dbmsdatapump.KU_DFHDR_DIRPATH CONSTANT NUMBER := 13; -- dbms_datapump.KU_DFHDR_METADATA_COMPRESSED CONSTANT NUMBER := 14;
– dbms_datapump.KUDFHDRDBVERSIONCONSTANTNUMBER:=15;ForOracle11gR1:dbmsdatapump.KU_DFHDR_DB_VERSION CONSTANT NUMBER := 15; -- For Oracle11gR1: -- dbms_datapump.KU_DFHDR_MASTER_PIECE_COUNT CONSTANT NUMBER := 16;
– dbms_datapump.KUDFHDRMASTERPIECENUMBERCONSTANTNUMBER:=17;dbmsdatapump.KU_DFHDR_MASTER_PIECE_NUMBER CONSTANT NUMBER := 17; -- dbms_datapump.KU_DFHDR_DATA_COMPRESSED CONSTANT NUMBER := 18;
– dbms_datapump.KUDFHDRMETADATAENCRYPTEDCONSTANTNUMBER:=19;dbmsdatapump.KU_DFHDR_METADATA_ENCRYPTED CONSTANT NUMBER := 19; -- dbms_datapump.KU_DFHDR_DATA_ENCRYPTED CONSTANT NUMBER := 20;
– For Oracle11gR2:
– dbms_datapump.KUDFHDRCOLUMNSENCRYPTEDCONSTANTNUMBER:=21;dbmsdatapump.KU_DFHDR_COLUMNS_ENCRYPTED CONSTANT NUMBER := 21; -- dbms_datapump.KU_DFHDR_ENCRIPTION_MODE CONSTANT NUMBER := 22;
– For Oracle12cR1:
– dbms_datapump.KU$_DFHDR_COMPRESSION_ALG CONSTANT NUMBER := 23;

– For Oracle10gR2: KUDFHDRMAXITEMCODECONSTANTNUMBER:=15;ForOracle11gR1:KU_DFHDR_MAX_ITEM_CODE CONSTANT NUMBER := 15; -- For Oracle11gR1: KU_DFHDR_MAX_ITEM_CODE CONSTANT NUMBER := 20;
– For Oracle11gR2: KUDFHDRMAXITEMCODECONSTANTNUMBER:=22;ForOracle12cR1:KU_DFHDR_MAX_ITEM_CODE CONSTANT NUMBER := 22; -- For Oracle12cR1: KU_DFHDR_MAX_ITEM_CODE CONSTANT NUMBER := 23;

– Show header output info:
– ========================

dbms_output.put_line(v_separator);
dbms_output.put_line(‘Purpose…: Obtain details about export ’ ||
‘dumpfile. Version: 18-DEC-2013’);
dbms_output.put_line(‘Required.: RDBMS version: 10.2.0.1.0 or higher’);
dbms_output.put_line(’. ’ ||
‘Export dumpfile version: 7.3.4.0.0 or higher’);
dbms_output.put_line(’. ’ ||
‘Export Data Pump dumpfile version: 10.1.0.1.0 or higher’);
dbms_output.put_line(‘Usage…: ’ ||
‘execute show_dumfile_info(’‘DIRECTORY’’, ‘‘DUMPFILE’’);’);
dbms_output.put_line(‘Example…: ’ ||
‘exec show_dumfile_info(’‘MY_DIR’’, ‘‘expdp_s.dmp’’)’);
dbms_output.put_line(v_separator);
dbms_output.put_line('Filename.: ’ || p_file);
dbms_output.put_line('Directory: ’ || p_dir);

– Retrieve Export dumpfile details:
– =================================

SELECT directory_path INTO v_path FROM all_directories
WHERE directory_name = p_dir
OR directory_name = UPPER(p_dir);

dbms_datapump.get_dumpfile_info(
filename => p_file, directory => UPPER(p_dir),
info_table => v_info_table, filetype => v_filetype);

var_values.EXTEND(23);
FOR i in 1 … 23 LOOP
BEGIN
SELECT value INTO var_values(i) FROM TABLE(v_info_table)
WHERE item_code = i;
EXCEPTION WHEN OTHERS THEN var_values(i) := ‘’;
END;
END LOOP;

dbms_output.put_line('Disk Path: ’ || v_path);

IF v_filetype >= 1 THEN
– Get characterset name:
BEGIN
SELECT var_values(5) || ’ (’ || nls_charset_name(var_values(5)) ||
‘)’ INTO var_values(5) FROM dual;
EXCEPTION WHEN OTHERS THEN null;
END;
IF v_filetype = 2 THEN
dbms_output.put_line(
‘Filetype.: ’ || v_filetype || ’ (Original Export dumpfile)’);
dbms_output.put_line(v_separator);
SELECT DECODE(var_values(13), ‘0’, ‘0 (Conventional Path)’,
‘1’, ‘1 (Direct Path)’, var_values(13))
INTO var_values(13) FROM dual;
dbms_output.put_line(’…Characterset ID of source db…: ’ || var_values(5));
dbms_output.put_line(’…Direct Path Export Mode…: ’ || var_values(13));
dbms_output.put_line(’…Export Version…: ’ || var_values(15));
ELSIF v_filetype = 1 OR v_filetype = 3 THEN
SELECT SUBSTR(var_values(1), 1, 15) INTO v_fileversion FROM dual;
SELECT DECODE(var_values(1),
‘0.1’, ‘0.1 (Oracle10g Release 1: 10.1.0.x)’,
‘1.1’, ‘1.1 (Oracle10g Release 2: 10.2.0.x)’,
‘2.1’, ‘2.1 (Oracle11g Release 1: 11.1.0.x)’,
‘3.1’, ‘3.1 (Oracle11g Release 2: 11.2.0.x)’,
‘4.1’, ‘4.1 (Oracle12c Release 1: 12.1.0.x)’,
var_values(1)) INTO var_values(1) FROM dual;
SELECT DECODE(var_values(2), ‘0’, ‘0 (No)’, ‘1’, ‘1 (Yes)’,
var_values(2)) INTO var_values(2) FROM dual;
SELECT DECODE(var_values(14), ‘0’, ‘0 (No)’, ‘1’, ‘1 (Yes)’,
var_values(14)) INTO var_values(14) FROM dual;
SELECT DECODE(var_values(18), ‘0’, ‘0 (No)’, ‘1’, ‘1 (Yes)’,
var_values(18)) INTO var_values(18) FROM dual;
SELECT DECODE(var_values(19), ‘0’, ‘0 (No)’, ‘1’, ‘1 (Yes)’,
var_values(19)) INTO var_values(19) FROM dual;
SELECT DECODE(var_values(20), ‘0’, ‘0 (No)’, ‘1’, ‘1 (Yes)’,
var_values(20)) INTO var_values(20) FROM dual;
SELECT DECODE(var_values(21), ‘0’, ‘0 (No)’, ‘1’, ‘1 (Yes)’,
var_values(21)) INTO var_values(21) FROM dual;
SELECT DECODE(var_values(22),
‘1’, ‘1 (Unknown)’,
‘2’, ‘2 (None)’,
‘3’, ‘3 (Password)’,
‘4’, ‘4 (Password and Wallet)’,
‘5’, ‘5 (Wallet)’,
var_values(22)) INTO var_values(22) FROM dual;
SELECT DECODE(var_values(23),
‘2’, ‘2 (None)’,
‘3’, ‘3 (Basic)’,
‘4’, ‘4 (Low)’,
‘5’, ‘5 (Medium)’,
‘6’, ‘6 (High)’,
var_values(23)) INTO var_values(23) FROM dual;
IF v_filetype = 1 THEN
dbms_output.put_line(
‘Filetype.: ’ || v_filetype || ’ (Export Data Pump dumpfile)’);
dbms_output.put_line(v_separator);
dbms_output.put_line(’…Database Job Version…: ’ || var_values(15));
dbms_output.put_line(’…Internal Dump File Version…: ’ || var_values(1));
dbms_output.put_line(’…Creation Date…: ’ || var_values(6));
dbms_output.put_line(’…File Number (in dump file set): ’ || var_values(4));
dbms_output.put_line(’…Master Present in dump file…: ’ || var_values(2));
IF dbms_datapump.KUDFHDRMAXITEMCODE>15ANDvfileversion>=2.1THENdbmsoutput.putline(...Masterinhowmanydumpfiles.:varvalues(16));dbmsoutput.putline(...MasterPieceNumberinfile...:varvalues(17));ENDIF;dbmsoutput.putline(...OperatingSystemofsourcedb.:varvalues(9));IFvfileversion>=2.1THENdbmsoutput.putline(...InstanceNameofsourcedb....:varvalues(10));ENDIF;dbmsoutput.putline(...CharactersetIDofsourcedb..:varvalues(5));dbmsoutput.putline(...LanguageNameofcharacterset.:varvalues(11));dbmsoutput.putline(...JobName......................:varvalues(8));dbmsoutput.putline(...GUID(uniquejobidentifier)..:varvalues(3));dbmsoutput.putline(...Blocksizedumpfile(bytes)..:varvalues(12));dbmsoutput.putline(...MetadataCompressed...........:varvalues(14));IFdbmsdatapump.KU_DFHDR_MAX_ITEM_CODE > 15 AND v_fileversion >= '2.1' THEN dbms_output.put_line('...Master in how many dump files.: ' || var_values(16)); dbms_output.put_line('...Master Piece Number in file...: ' || var_values(17)); END IF; dbms_output.put_line('...Operating System of source db.: ' || var_values(9)); IF v_fileversion >= '2.1' THEN dbms_output.put_line('...Instance Name of source db....: ' || var_values(10)); END IF; dbms_output.put_line('...Characterset ID of source db..: ' || var_values(5)); dbms_output.put_line('...Language Name of characterset.: ' || var_values(11)); dbms_output.put_line('...Job Name......................: ' || var_values(8)); dbms_output.put_line('...GUID (unique job identifier)..: ' || var_values(3)); dbms_output.put_line('...Block size dump file (bytes)..: ' || var_values(12)); dbms_output.put_line('...Metadata Compressed...........: ' || var_values(14)); IF dbms_datapump.KU_DFHDR_MAX_ITEM_CODE > 15 THEN
dbms_output.put_line(’…Data Compressed…: ’ || var_values(18));
IF dbms_datapump.KUDFHDRMAXITEMCODE>22ANDvfileversion>=4.1THENdbmsoutput.putline(...CompressionAlgorithm.........:varvalues(23));ENDIF;dbmsoutput.putline(...MetadataEncrypted............:varvalues(19));dbmsoutput.putline(...TableDataEncrypted..........:varvalues(20));dbmsoutput.putline(...ColumnDataEncrypted.........:varvalues(21));dbmsoutput.putline(...EncryptionMode...............:varvalues(22));ENDIF;ELSEdbmsoutput.putline(Filetype.:vfiletype(ExternalTabledumpfile));dbmsoutput.putline(vseparator);dbmsoutput.putline(...DatabaseJobVersion..........:varvalues(15));dbmsoutput.putline(...InternalDumpFileVersion....:varvalues(1));dbmsoutput.putline(...CreationDate.................:varvalues(6));dbmsoutput.putline(...FileNumber(indumpfileset):varvalues(4));dbmsoutput.putline(...OperatingSystemofsourcedb.:varvalues(9));IFvfileversion>=2.1THENdbmsoutput.putline(...InstanceNameofsourcedb....:varvalues(10));ENDIF;dbmsoutput.putline(...CharactersetIDofsourcedb..:varvalues(5));dbmsoutput.putline(...LanguageNameofcharacterset.:varvalues(11));dbmsoutput.putline(...GUID(uniquejobidentifier)..:varvalues(3));dbmsoutput.putline(...Blocksizedumpfile(bytes)..:varvalues(12));IFdbmsdatapump.KU_DFHDR_MAX_ITEM_CODE > 22 AND v_fileversion >= '4.1' THEN dbms_output.put_line('...Compression Algorithm.........: ' || var_values(23)); END IF; dbms_output.put_line('...Metadata Encrypted............: ' || var_values(19)); dbms_output.put_line('...Table Data Encrypted..........: ' || var_values(20)); dbms_output.put_line('...Column Data Encrypted.........: ' || var_values(21)); dbms_output.put_line('...Encryption Mode...............: ' || var_values(22)); END IF; ELSE dbms_output.put_line( 'Filetype.: ' || v_filetype || ' (External Table dumpfile)'); dbms_output.put_line(v_separator); dbms_output.put_line('...Database Job Version..........: ' || var_values(15)); dbms_output.put_line('...Internal Dump File Version....: ' || var_values(1)); dbms_output.put_line('...Creation Date.................: ' || var_values(6)); dbms_output.put_line('...File Number (in dump file set): ' || var_values(4)); dbms_output.put_line('...Operating System of source db.: ' || var_values(9)); IF v_fileversion >= '2.1' THEN dbms_output.put_line('...Instance Name of source db....: ' || var_values(10)); END IF; dbms_output.put_line('...Characterset ID of source db..: ' || var_values(5)); dbms_output.put_line('...Language Name of characterset.: ' || var_values(11)); dbms_output.put_line('...GUID (unique job identifier)..: ' || var_values(3)); dbms_output.put_line('...Block size dump file (bytes)..: ' || var_values(12)); IF dbms_datapump.KU_DFHDR_MAX_ITEM_CODE > 15 THEN
dbms_output.put_line(’…Data Compressed…: ’ || var_values(18));
IF dbms_datapump.KUDFHDRMAXITEMCODE>22ANDvfileversion>=4.1THENdbmsoutput.putline(...CompressionAlgorithm.........:varvalues(23));ENDIF;dbmsoutput.putline(...TableDataEncrypted..........:varvalues(20));dbmsoutput.putline(...EncryptionMode...............:varvalues(22));ENDIF;ENDIF;dbmsoutput.putline(...InternalFlagValues..........:varvalues(7));dbmsoutput.putline(...MaxItemsCode(InfoItems)...:dbmsdatapump.KU_DFHDR_MAX_ITEM_CODE > 22 AND v_fileversion >= '4.1' THEN dbms_output.put_line('...Compression Algorithm.........: ' || var_values(23)); END IF; dbms_output.put_line('...Table Data Encrypted..........: ' || var_values(20)); dbms_output.put_line('...Encryption Mode...............: ' || var_values(22)); END IF; END IF; dbms_output.put_line('...Internal Flag Values..........: ' || var_values(7)); dbms_output.put_line('...Max Items Code (Info Items)...: ' || dbms_datapump.KU_DFHDR_MAX_ITEM_CODE);
END IF;
ELSE
dbms_output.put_line('Filetype.: ’ || v_filetype);
dbms_output.put_line(v_separator);
dbms_output.put_line(‘ERROR…: Not an export dumpfile.’);
END IF;
dbms_output.put_line(v_separator);

EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line(‘Disk Path: ?’);
dbms_output.put_line(‘Filetype.: ?’);
dbms_output.put_line(v_separator);
dbms_output.put_line(‘ERROR…: Directory Object does not exist.’);
dbms_output.put_line(v_separator);
WHEN no_file_found THEN
dbms_output.put_line('Disk Path: ’ || v_path);
dbms_output.put_line(‘Filetype.: ?’);
dbms_output.put_line(v_separator);
dbms_output.put_line(‘ERROR…: File does not exist.’);
dbms_output.put_line(v_separator);
END;
/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论