2026-03-12 20:23:15
This commit is contained in:
102
vg/datapump_log.sql
Normal file
102
vg/datapump_log.sql
Normal file
@@ -0,0 +1,102 @@
|
||||
@@header
|
||||
|
||||
/*
|
||||
*
|
||||
* Author : Vishal Gupta
|
||||
* Purpose : Display datapump job status
|
||||
* Parameter : 1 - Job owner name
|
||||
* 2 - Datapump Job Name
|
||||
*
|
||||
* Revision History:
|
||||
* ===================
|
||||
* Date Author Description
|
||||
* --------- ------------ -----------------------------------------
|
||||
* 26-Mar-12 Vishal Gupta First Draft
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
VARIABLE owner VARCHAR2(30);
|
||||
VARIABLE job_name VARCHAR2(30);
|
||||
|
||||
|
||||
BEGIN
|
||||
:owner := upper('&&1');
|
||||
:job_name := upper('&&2');
|
||||
IF INSTR(:owner,'.') > 0 THEN
|
||||
:job_name := SUBSTR(:owner, INSTR(:owner,'.') + 1 ) ;
|
||||
:owner := SUBSTR(:owner, 1 , INSTR(:owner,'.') - 1 ) ;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
set serveroutput on
|
||||
|
||||
DECLARE
|
||||
ind NUMBER; -- Loop index
|
||||
h1 NUMBER; -- Data Pump job handle
|
||||
percent_done NUMBER; -- Percentage of job complete
|
||||
job_state VARCHAR2(30); -- To keep track of job state
|
||||
sts ku$_Status; -- The status object returned by get_status
|
||||
jd KU$_JobDesc; -- Job Description
|
||||
js ku$_JobStatus; -- The job status from get_status
|
||||
wsl ku$_WorkerStatusList; -- Worker status
|
||||
wip ku$_logentry;
|
||||
BEGIN
|
||||
h1 := DBMS_DATAPUMP.attach(job_name => :job_name
|
||||
, job_owner => CASE :owner WHEN '' THEN USER ELSE :owner END
|
||||
);
|
||||
|
||||
dbms_datapump.get_status( handle => h1
|
||||
, mask => dbms_datapump.ku$_status_job_error
|
||||
+ dbms_datapump.ku$_status_job_desc
|
||||
+ dbms_datapump.ku$_status_job_status
|
||||
+ dbms_datapump.ku$_status_wip
|
||||
, timeout => 0
|
||||
, job_state => job_state
|
||||
, status => sts);
|
||||
|
||||
js := sts.job_status;
|
||||
jd := sts.job_description;
|
||||
wsl := js.worker_status_list;
|
||||
--wip := sts.wip;
|
||||
wip := sts.ERROR;
|
||||
|
||||
dbms_output.put_line(' ' );
|
||||
dbms_output.put_line('------------------------------------------' );
|
||||
dbms_output.put_line('Datapump Job Details' );
|
||||
dbms_output.put_line('------------------------------------------' );
|
||||
dbms_output.put_line('Job Owner : ' || jd.owner );
|
||||
dbms_output.put_line('Job Name : ' || jd.job_name );
|
||||
dbms_output.put_line('Operation : ' || jd.operation );
|
||||
dbms_output.put_line('Job Mode : ' || jd.job_mode );
|
||||
dbms_output.put_line('Remote Link : ' || jd.remote_link );
|
||||
dbms_output.put_line('Platform : ' || jd.platform );
|
||||
dbms_output.put_line('Exp Platform : ' || jd.exp_platform );
|
||||
dbms_output.put_line('Global Name : ' || jd.global_name );
|
||||
dbms_output.put_line('Exp Global Name : ' || jd.exp_global_name );
|
||||
dbms_output.put_line('Job Start Time : ' || TO_CHAR(jd.start_time,'DD-Mon-YY hh24:mi:ss') );
|
||||
dbms_output.put_line('Exp Start Time : ' || TO_CHAR(jd.exp_start_time,'DD-Mon-YY hh24:mi:ss') );
|
||||
dbms_output.put_line('SCN : ' || jd.scn );
|
||||
dbms_output.put_line('Max Degree : ' || jd.max_degree );
|
||||
dbms_output.put_line('Termin Reason : ' || jd.term_reason );
|
||||
dbms_output.put_line('Logfile : ' || jd.log_file );
|
||||
dbms_output.put_line('SQL File : ' || jd.sql_file );
|
||||
|
||||
dbms_output.put_line('------------------------------------------' );
|
||||
dbms_output.put_line('Datapump Job Log' );
|
||||
dbms_output.put_line('------------------------------------------' );
|
||||
|
||||
ind := wip.first;
|
||||
while ind is not null
|
||||
loop
|
||||
dbms_output.put_line( wip(ind).loglinenumber || ' - ' || wip(ind).logtext || ' , Error Number - ' || wip(ind).errornumber );
|
||||
|
||||
ind := wip.next(ind);
|
||||
end loop;
|
||||
|
||||
DBMS_DATAPUMP.detach(h1);
|
||||
end;
|
||||
/
|
||||
|
||||
@@footer
|
||||
Reference in New Issue
Block a user