ПОПРОБУЙТЕ:
SELECT JOB_NAME
FROM ALL_SCHEDULER_JOBS, ALL_DB_LINKS
WHERE JOB_ACTION LIKE '%'|| DB_LINK ||'%'
OR DB_LINK LIKE '%'|| JOB_ACTION ||'%'; --this line is more like just in case...
Возможно, вам придется поиграть с upper
следующим образом:
SELECT JOB_NAME
FROM ALL_SCHEDULER_JOBS, ALL_DB_LINKS
WHERE upper(JOB_ACTION) LIKE '%'|| DB_LINK ||'%'
OR DB_LINK LIKE '%'|| upper(JOB_ACTION) ||'%';
Я создал ссылку на базу данных
CREATE DATABASE LINK local
CONNECT TO hr IDENTIFIED BY password
USING 'local';
Я создал задание, в котором я использовал имя ссылки на базу данных в разделе job_action (имя ссылки на базу данных: LOCAL
).
BEGIN
-- Job defined entirely by the CREATE JOB procedure.
DBMS_SCHEDULER.create_job (
job_name => 'Update_Status',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN ;LOCAL; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'freq=minutely; bysecond=0;',
end_date => NULL,
enabled => TRUE,
auto_drop => FALSE,
comments => 'Job defined entirely by the CREATE JOB procedure.');
END;
Я выполнил этот запрос сверху:
SELECT JOB_NAME
FROM ALL_SCHEDULER_JOBS, ALL_DB_LINKS
WHERE JOB_ACTION LIKE '%'|| DB_LINK ||'%'
OR DB_LINK LIKE '%'|| JOB_ACTION ||'%';
Результат запроса был:
| JOB_NAME |
+-----------------+
| UPDATE_STATUS |
Если вы хотите найти все объекты, чтобы найти ссылку на БД, попробуйте следующее:
select *
from all_source
, ALL_DB_LINKS
where text like '%'|| DB_LINK ||'%';