首先,我創建可執行作業:這是將Oracle Recovery Manager與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;
接下來,我想這一系列甲骨文的執行作業命令:
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;
現在,當我撥打電話到RUN_JOB RMAN可執行文件在服務器上啓動,但隨即立即退出,可能是因爲它從未收到我試圖打包到管道中的命令。
如何正確使用管道使RMAN收到我想要發送的命令?
當你說「你可以做參數」時,你究竟是什麼意思?創建作業時,我可以將命令行參數添加到可執行文件中?哪裏需要一個shell腳本? (我對Oracle的所有東西都很陌生) –