D'abord, je suis en train de créer un travail exécutable:Est-ce une façon valide d'utiliser Oracle Recovery Manager avec Oracle Job Scheduler?
BEGIN
DBMS_SCHEDULER.CREATE_JOB(job_name => 'PIPE_JOB', job_type => 'EXECUTABLE', job_action => 'RMAN PIPE TEST_PIPE_1 target/TIMEOUT = 60');
END;
Ensuite, je suis en train d'exécuter le travail avec cette série de commandes Oracle:
DECLARE
pipename CONSTANT VARCHAR2(100) := 'TEST_PIPE_1';
create_result INTEGER;
send_result INTEGER;
BEGIN
create_result := DBMS_PIPE.CREATE_PIPE(pipename);
DBMS_PIPE.PACK_MESSAGE('BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DEVICE TYPE DISK DATABASE INCLUDE CURRENT CONTROLFILE;');
send_result := DBMS_PIPE.SEND_MESSAGE(pipename);
DBMS_SCHEDULER.RUN_JOB(job_name => 'PIPE_JOB', use_current_session => false);
END;
Maintenant, quand je fais l'appel à RUN_JOB , l'exécutable RMAN démarre sur le serveur, mais se ferme immédiatement, vraisemblablement parce qu'il ne reçoit jamais les commandes que j'essaye de placer dans le tube.
Comment utiliser les tubes correctement pour que RMAN reçoive les commandes que j'essaie de lui envoyer?
Quand vous dites "Vous pouvez faire des paramètres", que voulez-vous dire exactement? Je peux ajouter des paramètres de ligne de commande à l'exécutable lorsque je crée le travail? Et où aurais-je besoin d'un script shell? (Je suis très nouveau à toutes les choses Oracle) –