Oracleのジョブを使って、業務処理が流れたらBigQueryへバルクインサートする仕組みを検証しています。
何度か検証していて、stop状態で滞留してしまったジョブ?があって業務処理を流すと既にジョブがあると警告が出て失敗します。
ジョブをdropしてもジョブは無いと警告が出ます。
過去に実行したジョブでstopになってしまった履歴を削除してから業務処理を流したいです。
出来ればDDLやDMLで実行したいです。
環境:Oracle12c、Windows7
SQL> select OWNER,JOB_NAME,STATUS,LOG_DATE from dba_scheduler_job_run_details where OWNER = 'SYSTEM' and JOB_NAME = 'EMBULK_TEST' and LOG_DATE like '18-11-30%' or LOG_DATE like '18-12-03%' order by LOG_DATE; OWNER JOB_NAME STATUS LOG_DATE --------------- --------------- -------------------- -------------------------------------------------- SYSTEM EMBULK_TEST FAILED 18-11-30 13:59:08.142000 +09:00 SYSTEM EMBULK_TEST FAILED 18-11-30 14:10:56.929000 +09:00 SYSTEM EMBULK_TEST FAILED 18-11-30 14:19:46.739000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-11-30 14:25:31.078000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-11-30 14:27:19.067000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-11-30 14:31:05.175000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-11-30 14:39:52.969000 +09:00 SYSTEM EMBULK_TEST FAILED 18-11-30 14:47:08.360000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-11-30 14:57:52.402000 +09:00 SYSTEM EMBULK_TEST FAILED 18-11-30 15:43:30.205000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 15:56:52.915000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 15:57:00.290000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 15:57:05.297000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 16:04:09.378000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 16:28:28.928000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 16:28:41.326000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-11-30 16:53:08.780000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-12-03 10:43:58.680000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-12-03 10:44:09.055000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-12-03 10:47:31.641000 +09:00 SYSTEM EMBULK_TEST STOPPED 18-12-03 10:58:18.357000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-12-03 11:20:35.262000 +09:00 SYSTEM EMBULK_TEST SUCCEEDED 18-12-03 11:25:08.811000 +09:00 SQL> exec dbms_scheduler.drop_job('EMBULK_TEST'); BEGIN dbms_scheduler.drop_job('EMBULK_TEST'); END; * 行1でエラーが発生しました。: ORA-27475: 不明なjob "SYSTEM"."EMBULK_TEST" ORA-06512: "SYS.DBMS_ISCHED", 行274 ORA-06512: "SYS.DBMS_SCHEDULER", 行753 ORA-06512: 行1 SQL> select owner,job_name,state,JOB_ACTION,enabled from dba_scheduler_jobs where job_name = 'EMBULK_TEST'; レコードが選択されませんでした。 SQL> exec CRE_SAMPLE_DATA; ------------------------- OracleDB to BigQuery Bulk Insert Start BEGIN CRE_SAMPLE_DATA; END; * 行1でエラーが発生しました。: ORA-27477: "SYSTEM"."EMBULK_TEST"はすでに存在します ORA-06512: "SYS.DBMS_ISCHED", 行175 ORA-06512: "SYS.DBMS_SCHEDULER", 行288 ORA-06512: "SYSTEM.EMBULK_TR", 行9 ORA-04088: トリガー'SYSTEM.EMBULK_TR'の実行中にエラーが発生しました ORA-06512: "SYSTEM.CRE_SAMPLE_DATA", 行23 ORA-06512: 行1
回答2件
あなたの回答
tips
プレビュー