Oracle 11g 测试停库对job的影响
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,环境:OS:Centos 7.5DB:Oracle 11.2.0.4.0单实例场景一:job没开始,停库, 再次起库后,起库时间为job开始时间,开始自动运行job,不会自动补停库期间错过的job.场
千家信息网最后更新 2025年11月09日Oracle 11g 测试停库对job的影响
环境:
OS:Centos 7.5
DB:Oracle 11.2.0.4.0单实例
场景一:job没开始,停库, 再次起库后,起库时间为job开始时间,开始自动运行job,不会自动补停库期间错过的job.场景二:job运行一半,停库,再次起库后,起库时间为job开始运行时间,不会接着停库前执行一半的job继续执行,job重新开始执行。场景三:停库前,将job_queue_processes参数设置为0,正在运行的job会继续运行完成,后续的job将不会自动运行。再将job_queue_processes参数改回1000,job将开始运行。
job_queue_processes取值范围为0到1000
当设定该值为0的时候则任意方式创建的job都不会运行。
当设定该值大于1时,且并行执行job时,至少一个为协调进程。其总数不会超出job_queue_processes的值。
实验过程如下:
创建测试数据
---sysSQL> grant execute on DBMS_LOCK to cjc;---cjcSQL> create table t1(id number,itime varchar2(200));
SQL>CREATE OR REPLACE PROCEDURE test_pro isbegin for i in 1 .. 10 loop insert into t1 values (i, to_char(sysdate, 'yyyy/mm/dd hh34:mi:ss')); DBMS_LOCK.SLEEP(10); commit; end loop;end;/
SQL> exec test_pro;PL/SQL procedure successfully completed.Elapsed: 00:01:40.09
创建job
SQL>declare job_id pls_integer;begin sys.dbms_job.submit(job => job_id, what => 'test_pro;', next_date => to_date('2020-07-02 22:25:00', 'yyyy-mm-dd hh34:mi:ss'), interval => 'TRUNC(sysdate,''mi'') + 3 / (24 * 60)'); commit;end;/场景一:job没开始,停库
select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC';
JOBSCHEMA_USERLAST_DATETHIS_DATENEXT_DATEINTERVAL123CJC2020/7/2 22:52:142020/7/2 22:55:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
22:54SQL> shutdown immediate
22:56SQL> startupselect * from dba_jobs_running; SIDJOBFAILURESLAST_DATELAST_SECTHIS_DATETHIS_SECINSTANCE1292302020/7/2 22:52:1422:52:142020/7/2 22:56:2422:56:240
SQL> select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC'; JOBSCHEMA_USERLAST_DATETHIS_DATE NEXT_DATE INTERVAL123CJC2020/7/2 22:52:142020/7/2 22:56:242020/7/2 22:55:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
SQL> select count(*) from t1; COUNT(*)----------10
场景二:job执行一半,停库
select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC'; JOBSCHEMA_USERLAST_DATETHIS_DATENEXT_DATEINTERVAL123CJC2020/7/2 22:56:242020/7/2 22:59:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
select * from dba_jobs_running SIDJOBFAILURESLAST_DATELAST_SECTHIS_DATETHIS_SECINSTANCE1292302020/7/2 22:56:2422:56:242020/7/2 22:59:0022:59:000
SQL> select count(*) from t1; COUNT(*)----------12
22:59 SQL> shutdown immediate
23:00SQL> startup
select * from dba_jobs_running SIDJOBFAILURESLAST_DATELAST_SECTHIS_DATETHIS_SECINSTANCE1302302020/7/2 22:56:2422:56:242020/7/2 23:00:3323:00:330
select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC'; JOBSCHEMA_USERLAST_DATETHIS_DATENEXT_DATEINTERVAL123CJC2020/7/2 22:56:242020/7/2 23:00:332020/7/2 22:59:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
SQL> select count(*) from t1; COUNT(*)----------24
场景三:调节job_queue_processes参数
SQL> show parameter job_queue_processesSQL> select * from dba_jobs_running;SQL> alter system set job_queue_processes=0;SQL> select * from dba_jobs_running;SQL> alter system set job_queue_processes=1000;SQL> select * from dba_jobs_running;SQL> select count(*) from t1;
欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!

运行
场景
时间
参数
再次
测试
公众
实例
总数
数据
方式
时候
正在
环境
范围
过程
进程
错过
学习
实验
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
pdm怎么导出数据库
软件开发实训生怎么样
软件开发出来要办些什么手续
湖南常德网络安全展示
网络技术基础与强化
什么是单节点服务器
乖离隐藏数据库
网络安全钥匙不匹配怎么回事
极路由4 vpn服务器
发生网络安全事件
南坪软件开发报价
针对MYSQL数据库进行注入
fifaol4韩服数据库
迪拜轻量服务器
看网络安全宣传视频读后感
数据库课程设计学分查询
数据库批量在列中加0000
0基础网络安全软考中级
培训机构嵌入式软件开发
web服务器常见的安全问题
软件开发实训生怎么样
gp数据库设置自增序列
eve架设服务器
5g网络安全架构体系图
在哪个文件可以修改dns服务器
安全数据库gbase
数据库分析招聘要求吗
数据库导入后怎么运行
服务器安全证书中的主机名
应用软件开发用什么方向发展