如何 SELECT 所有在 oracle 上使用 DBLINK 的 JOBS?
How to SELECT all JOBS that using a DBLINK on oracle?
很高兴向大家问好。
我需要有关 oracle 的帮助 select 所有在 oracle 上使用 DBLINK 的作业,以便在维护期间停止它们。
我会感谢你的帮助。
试试这个:
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) ||'%';
我已经创建了一个数据库link
CREATE DATABASE LINK local
CONNECT TO hr IDENTIFIED BY password
USING 'local';
我创建了一个作业,其中我在 job_action 部分使用了数据库名称 link(数据库名称 link 是 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 |
如果您想搜索所有对象以找到您的数据库 link 然后试试这个:
select *
from all_source
, ALL_DB_LINKS
where text like '%'|| DB_LINK ||'%';
很高兴向大家问好。 我需要有关 oracle 的帮助 select 所有在 oracle 上使用 DBLINK 的作业,以便在维护期间停止它们。 我会感谢你的帮助。
试试这个:
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) ||'%';
我已经创建了一个数据库link
CREATE DATABASE LINK local CONNECT TO hr IDENTIFIED BY password USING 'local';
我创建了一个作业,其中我在 job_action 部分使用了数据库名称 link(数据库名称 link 是
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 |
如果您想搜索所有对象以找到您的数据库 link 然后试试这个:
select *
from all_source
, ALL_DB_LINKS
where text like '%'|| DB_LINK ||'%';