Bonjour a tous

je prépare des scripts pour effectuer des export par datapump sur une 10g (10.2) (os Solaris) avec des job qui se lance via dbms_scheduler (je me suis inspiré de la doc de Jaouad)

voila ce que j'ai fait pour l'instance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
su ma machine :
init.ora :
utl_file_dir = '/users/usr1/scripts/ora_scheduler'
 
répertoire :
ls -ltr
drwxrwwrwx   2 usr1 nsgroup      512 Jun 24 15:04 ora_scheduler
mes scripts :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
BEGIN
DBMS_SCHEDULER.create_program (
    program_name        => 'prog_dp',
    program_type        => 'EXECUTABLE',
    program_action      => '/users/usr1/scripts/ora_scheduler/schedule_dp.sh',
    number_of_arguments => 0,
    enabled             => TRUE,
    comments            => 'Program de datapump');
DBMS_SCHEDULER.create_job (
    job_name        => 'job_dp',
    program_name    => 'prog_dp',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=hours; INTERVAL=12',
    end_date        => NULL,
    enabled         => TRUE,
    comments        => 'Job qui lance prog_dp');
END;
/
le script /users/usr1/scripts/ora_scheduler/schedule_dp.sh contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#! /bin/ksh
ORACLE_HOME=/opt/oracle/product/102/db
export ORACLE_HOME
 
ORACLE_SID=BD1
export ORACLE_SID
 
$ORACLE_HOME/bin/exp userid=impexp/impexp file=/users/usr1/scripts/ora_scheduler/exp_user1.dmp log
=/users/usr1/scripts/ora_scheduler/exp_user1.log owner=user1
lorsque j'execute mon job :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
begin
 DBMS_SCHEDULER.run_job (job_name            => 'job_dp',
                          use_current_session => FALSE);
end;
PL/SQL procedure successfully completed.
/
je regarde ce qui s'est passé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT
owner||' | '|| job_name||' | '|| status||' | '|| error#||' | '|| additional_info
  FROM dba_scheduler_job_run_details
 ORDER BY actual_start_date desc;
IMPEXP | JOB_DP | SUCCEEDED | 0 | STANDARD_ERROR="Export: Release 10.2.0.2.0 - Production on Wed Jun 24 15:51:05 2009 Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 "


1/Je demande votre conseil pour savoir s'il est mieu d'utiliser un script sh pour faire le datapump ou bien en utilisant le dbms_datapump (ce dernier fonctionne trés bien d'ailleurs), je veux savoir le pour et le contre
la différence c'est qu'actuellement notre import export fonctionne deja avec des scripts sh

voila pour l'instant les deux interrogations que j'ai

Merci pour votre aide

[j'ai edité car j'ai reussi a résoudre un problème que j'avais]