119 lines
1.7 KiB
Markdown
119 lines
1.7 KiB
Markdown
## oracle 数据库 job 操作
|
|
|
|
|
|
|
|
**停止job** `force => TRUE` 不检查任务是否正在运行强制停止
|
|
|
|
```sql
|
|
BEGIN
|
|
DBMS_SCHEDULER.STOP_JOB(job_name => 'TEST_JOB', force => TRUE);
|
|
END;
|
|
```
|
|
|
|
|
|
|
|
**删除job** `force => TRUE` 不检查任务是否正在运行强制删除
|
|
|
|
```sql
|
|
BEGIN
|
|
DBMS_SCHEDULER.DROP_JOB(job_name => 'TEST_JOB');
|
|
END;
|
|
|
|
```
|
|
|
|
|
|
|
|
**创建job**
|
|
|
|
```
|
|
BEGIN
|
|
DBMS_SCHEDULER.CREATE_JOB (
|
|
job_name => 'MC_CH_ISSUE_INFO_CLEAN_NEW',
|
|
job_type => 'PLSQL_BLOCK',
|
|
job_action => 'BEGIN MC_CH_ISSUE_INFO_CLEAN_EVD; END;',
|
|
start_date => SYSTIMESTAMP,
|
|
repeat_interval => 'FREQ=DAILY; BYHOUR=8; BYMINUTE=25;',
|
|
enabled => TRUE
|
|
);
|
|
END;
|
|
```
|
|
|
|
|
|
|
|
停止执行计划
|
|
|
|
```
|
|
BEGIN
|
|
DBMS_SCHEDULER.DISABLE('MC_CH_ISSUE_INFO_CLEAN');
|
|
END;
|
|
```
|
|
|
|
|
|
|
|
运行一个计划
|
|
|
|
```
|
|
BEGIN
|
|
DBMS_SCHEDULER.RUN_JOB('test_job');
|
|
END;
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 关闭sesseion
|
|
|
|
```
|
|
SELECT
|
|
s.sid,
|
|
s.serial#,
|
|
s.username,
|
|
s.osuser,
|
|
s.machine,
|
|
s.program,
|
|
s.sql_id,
|
|
l.type,
|
|
l.lmode,
|
|
l.request
|
|
FROM
|
|
v$session s
|
|
JOIN v$lock l ON s.sid = l.sid
|
|
WHERE
|
|
l.id1 = (SELECT object_id FROM dba_objects WHERE object_name = 'MKT_TEST')
|
|
AND l.type = 'TM'; -- TM 锁表示表锁
|
|
|
|
|
|
|
|
SELECT
|
|
s.sid,
|
|
s.serial#,
|
|
s.username,
|
|
s.osuser,
|
|
s.machine,
|
|
s.program,
|
|
s.sql_id,
|
|
q.sql_text
|
|
FROM
|
|
v$session s
|
|
JOIN v$sql q ON s.sql_id = q.sql_id
|
|
WHERE
|
|
s.sid =250 -- 替换为实际的 SID
|
|
AND s.serial# = 53879; -- 替换为实际的 SERIAL#
|
|
|
|
--关闭
|
|
ALTER SYSTEM KILL SESSION '250,53879';
|
|
--强制关闭
|
|
ALTER SYSTEM DISCONNECT SESSION '250,53879' IMMEDIATE;
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 数据库重启
|
|
|
|
sqlplus / as sysdba
|
|
SQL> shutdown immediate;
|
|
SQL> startup;
|