Oracle Scheduler学习
参考文档:
Primary Note: Overview of Oracle Scheduler (Doc ID 1485539.1)
Oracle® Database Administrator's Guide
12c Release 1 (12.1)
E17636-21
Chapter(30) Administering Oracle Scheduler
Examples of Using the Scheduler
http://docs.oracle.com/cd/E16655_01/server.121/e17636/schedadmin.htm#ADMIN12062
Oracle® Database Administrator's Guide
12c Release 1 (12.1)
E17636-21
Chapter(28) Oracle Scheduler Concepts
http://docs.oracle.com/cd/E16655_01/server.121/e17636/schedover.htm#ADMIN033
Oracle® Database PL/SQL Packages and Types Reference
12c Release 1 (12.1)
E17602-14
Chapter(138) DBMS_SCHEDULER
http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_sched.htm#ARPLS72235
Oracle® Database
Database Administrator’s Guide 19c
E96348-16 September 2022
https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/index.html
Creating a scheduler job that inserts the systimestamp into a table every second
SQL> create table messages (message varchar2(100) not null);Table created.SQL> select * from messages;no rows selectedSQL> Begin2 DBMS_SCHEDULER.CREATE_JOB (3 job_name => 'job_runs_every_second',4 job_type => 'PLSQL_BLOCK',5 job_action => 'Begin insert into messages values (''Current Timestamp is: '' || SYSTIMESTAMP); commit; End;',6 start_date => SYSTIMESTAMP,7 repeat_interval => 'freq=secondly; interval=1',8 end_date => null,9 enabled => TRUE,10 comments => 'A job scheduled to insert into messages table the current timestamp every second');11 End;12 /PL/SQL procedure successfully completed.SQL> Begin2 DBMS_SCHEDULER.RUN_JOB (job_name => 'job_runs_every_second');3 End;4 /PL/SQL procedure successfully completed.SQL> select * from messages;MESSAGE
----------------------------------------------------------------------------------------------------
Current Timestamp is: 24-AUG-12 04.57.00.647000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.01.624000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.02.757000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.03.807000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.04.816000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.05.814000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.06.813000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.07.812000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.08.813000 PM +02:00
Current Timestamp is: 24-AUG-12 04.57.09.810000 PM +02:0010 rows selected.SQL> Begin2 DBMS_SCHEDULER.DISABLE (name => 'job_runs_every_second', FORCE=>TRUE);3 End;4 /PL/SQL procedure successfully completed.SQL> Begin2 DBMS_SCHEDULER.DROP_JOB (job_name => 'job_runs_every_second');3 End;4 /PL/SQL procedure successfully completed.SQL> drop table messages;Table dropped.
Creating a scheduler job that gathers <USER> CBO stats every day at mid-night and every weekend day at 06:00 am
-- create weekdays schedule
SQL> Begin2 DBMS_SCHEDULER.CREATE_SCHEDULE (3 schedule_name => 'WEEKDAYS_MID_NIGHTS_SCHEDULE',4 start_date => NULL, -- If start_date is null, then the date that the job or window is enabled is used.5 repeat_interval => 'freq=daily;byhour=0;byminute=0;bysecond=0;byday=MON,TUE,WED,THU,FRI',6 end_date => NULL,7 comments => 'starts every day Mon-Fri at 12:00 am');8 End;9 /PL/SQL procedure successfully completed.-- create weekends schedule
SQL> Begin2 DBMS_SCHEDULER.CREATE_SCHEDULE (3 schedule_name => 'WEEKENDS_SCHEDULE',4 start_date => NULL, -- If start_date is null, then the date that the job or window is enabled is used.5 repeat_interval => 'freq=daily;byhour=6;byminute=0;bysecond=0;byday=SAT,SUN',6 end_date => NULL,7 comments => 'starts every weekend SAT-SUN at 06:00 am');8 End;9 /PL/SQL procedure successfully completed.-- create weekdays window
SQL> Begin2 DBMS_SCHEDULER.CREATE_WINDOW (3 window_name => 'WEEKDAYS_MID_NIGHTS_WINDOW',4 resource_plan => 'DEFAULT_MAINTENANCE_PLAN',5 schedule_name => 'WEEKDAYS_MID_NIGHTS_SCHEDULE',6 duration => '0 06:00:00',7 window_priority => 'HIGH',8 comments => 'window opens every day Mon-fri at 12:00 am and ends at 06:00 am');9 End;10 /PL/SQL procedure successfully completed.-- create weekends window
SQL> Begin2 DBMS_SCHEDULER.CREATE_WINDOW (3 window_name => 'WEEKENDS_WINDOW',4 resource_plan => 'DEFAULT_MAINTENANCE_PLAN',5 schedule_name => 'WEEKENDS_SCHEDULE',6 duration => '0 06:00:00',7 window_priority => 'HIGH',8 comments => 'window opens every Saturday & Sunday at 06:00 am');9 End;10 /PL/SQL procedure successfully completed.-- create a window group for both weekdays and weekends schedule
SQL> Begin2 DBMS_SCHEDULER.CREATE_GROUP (3 group_name => 'MAINTENANCE_GROUP',4 group_type => 'WINDOW',5 member => 'WEEKDAYS_MID_NIGHTS_WINDOW,WEEKENDS_WINDOW',6 comments => 'This group is designed for grouping weekdays and weekends maintenance windows');7 End;8 /PL/SQL procedure successfully completed.-- create stored procedure
SQL> CREATE OR REPLACE PROCEDURE "SYS"."GATHER_<USER>_STATISTICS_PROC" AS2 Begin3 DBMS_STATS.GATHER_SCHEMA_STATS(ownname => '<USER>', estimate_percent => 100);4 End;5 /Procedure created.-- create program that runs the stored procedure
SQL> Begin2 DBMS_SCHEDULER.CREATE_PROGRAM (3 program_name => 'GATHER_<USER>_STATS_PROGRAM',4 program_type => 'STORED_PROCEDURE',5 program_action => '"SYS"."GATHER_<USER>_STATISTICS_PROC"',6 number_of_arguments => 0,7 enabled => TRUE,8 comments => 'This is the program unit that calls the concerned stored procedure');9 End;10 /PL/SQL procedure successfully completed.-- create job
SQL> Begin2 DBMS_SCHEDULER.CREATE_JOB (3 job_name => 'GATHER_<USER>_STATISTICS_JOB',4 program_name => 'GATHER_<USER>_STATS_PROGRAM',5 schedule_name => 'MAINTENANCE_GROUP',6 enabled => TRUE,7 auto_drop => FALSE,8 comments => 'Job that gathers CBO stats for <USER> schema everyday at 12:00 am and every weekend at 06:00 am',9 job_style => 'REGULAR');10 End;11 /PL/SQL procedure successfully completed.
File Watcher Case Study
SQL*Plus: Release 12.1.0.1.0 Production on Thu Mar 6 13:31:09 2014Copyright (c) 1982, 2013, Oracle. All rights reserved.Enter user-name: / as sysdbaConnected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing optionsSQL> --
SQL> -- Setting the monitoring repeat interval to 1 minute
SQL> --
SQL> begin2 dbms_scheduler.set_attribute ('FILE_WATCHER_SCHEDULE', 'REPEAT_INTERVAL', 'FREQ=MINUTELY;INTERVAL=1');3 end;4 /PL/SQL procedure successfully completed.SQL> grant dba to fw identified by fw;Grant succeeded.SQL> conn fw/fw
Connected.
SQL> --
SQL> -- creating necessary credential
SQL> --
SQL> begin2 dbms_scheduler.create_credential('FW_CREDENTIAL', 'Administrator', 'vcap4CEL');3 end;4 /PL/SQL procedure successfully completed.SQL> --
SQL> -- creating file watcher
SQL> --
SQL> begin2 dbms_scheduler.create_file_watcher (3 file_watcher_name => 'FW_FILE_WATCHER',4 directory_path => 'C:\xxx',5 file_name => '*.txt',6 credential_name => 'FW_CREDENTIAL',7 destination => null,8 enabled => false);9 end;10 /PL/SQL procedure successfully completed.SQL> --
SQL> -- creating monitoring table
SQL> --
SQL> create table fw_monitoring (2 file_timestamp timestamp with time zone,3 directory_path varchar2(4000),4 file_size number);Table created.SQL> --
SQL> -- creating procedure
SQL> --
SQL> create or replace procedure FW_PROC (fw_result in sys.scheduler_filewatcher_result) as2 begin3 insert into fw_monitoring values (4 fw_result.file_timestamp,5 fw_result.directory_path || '/' || fw_result.actual_file_name,6 fw_result.file_size);7 end;8 /Procedure created.SQL> --
SQL> -- creating program
SQL> --
SQL> begin2 dbms_scheduler.create_program (3 program_name => 'FW.FW_PROG',4 program_type => 'STORED_PROCEDURE',5 program_action => 'FW_PROC',6 number_of_arguments => 1,7 enabled => false);8 end;9 /PL/SQL procedure successfully completed.SQL> --
SQL> -- defining metadata argument
SQL> --
SQL> begin2 dbms_scheduler.define_metadata_argument (3 program_name => 'FW.FW_PROG',4 metadata_attribute => 'event_message',5 argument_position => 1);6 end;7 /PL/SQL procedure successfully completed.SQL> --
SQL> -- creating job
SQL> --
SQL> begin2 dbms_scheduler.create_job (3 job_name => 'FW.FW_JOB',4 program_name => 'FW.FW_PROG',5 event_condition => null,6 queue_spec => 'FW_FILE_WATCHER',7 auto_drop => false,8 enabled => false);9 end;10 /PL/SQL procedure successfully completed.SQL> --
SQL> -- setting parallel instances
SQL> --
SQL> begin2 dbms_scheduler.set_attribute ('FW.FW_JOB','PARALLEL_INSTANCES', true);3 end;4 /PL/SQL procedure successfully completed.SQL> --
SQL> -- enable program, job and file watcher
SQL> --
SQL> begin2 dbms_scheduler.enable ('FW.FW_PROG, FW.FW_JOB, FW_FILE_WATCHER');3 end;4 /PL/SQL procedure successfully completed.SQL> -- create <file.txt> in 'c:\xxx' folder
SQL> select to_char(sysdate, 'dd-mm-yyyy hh:mi:ss') as "current time" from dual;current time
-------------------
06-03-2014 01:27:54 SQL> select * from fw_monitoring;no rows selectedSQL> -- wait for at least 1 minute
SQL> select to_char(sysdate, 'dd-mm-yyyy hh:mi:ss') as "current time" from dual;current time
-------------------
06-03-2014 01:29:00 SQL> select * from fw_monitoring;FILE_TIMESTAMP DIRECTORY_PATH FILE_SIZE
------------------------------------------------------------ ------------------------------ ----------
06-MAR-14 01.27.32.376000 PM +00:00 C:\xxx/file.txt 0
END
相关文章:
Oracle Scheduler学习
参考文档: Primary Note: Overview of Oracle Scheduler (Doc ID 1485539.1) Oracle Database Administrators Guide 12c Release 1 (12.1) E17636-21 Chapter(30) Administering Oracle Scheduler Examples of Using the Scheduler http://docs.oracle.com/cd/E166…...
用户体验地图是什么?UX设计心得分享
大家好,我是设计师l1m0身。本篇文章是关于UX设计中的用户体验地图。 对于新手设计师来说,建立用户体验地图会有一些难度。本篇文章中,我会以简单、易懂的语言分享UX设计师如何制作用户体验地图,希望对你的日常项目体验提升有所帮…...
vue3动态路由警告问题
{ path: "/:pathMatch(.*)*", // 必备 component: () > import("/views/error/404.vue"), }, 路由里添加...
17 Linux之大数据定制篇-Shell编程
17 Linux之大数据定制篇-Shell编程 文章目录 17 Linux之大数据定制篇-Shell编程17.1 Shell编程简介17.1.1 为什么要学习Shell编程17.1.2 Shell是什么17.1.3 执行Shell脚本 17.2 Shell的变量17.2.1 Shell变量介绍17.2.2 设置环境变量17.2.3 位置参数变量17.2.4 预定义变量 17.3 …...
SpringBoot集成WebSocket
SpringBoot集成WebSocket 项目结构图 项目架构图 前端项目 socket.js 注意前端这里的端口是9000, 路劲是ws开头 function createScoket(token){var socket;if(typeof(WebSocket) "undefined") {console.log("您的浏览器不支持WebSocket");}else{var ho…...
Linux服务器部署JavaWeb后端项目
适用于:MVVM前后台分离开发、部署、域名配置 前端:Vue 后端:Spring Boot 这篇文章只讲后端部署,前端部署戳这里 目录 Step1:服务器上搭建后端所需环境1、更新服务器软件包2、安装JDK83、安装MySQL4、登录MySQL5、修…...
原生小程序 wxs 语法(详细)
WXS WXS(WeiXin Script)是内联在 WXML 中的脚本段。通过 WXS 可以在模版中内联少量处理脚本,丰富模板的数据预处理能力。另外, WXS 还可以用来编写简单的 WXS 事件响应函数。 从语法上看, WXS 类似于有少量限制的 Java…...
MySQL中count(*)和count(1)和count(column)使用比较
分页查询数据,需要返回total,而这个值一般都是通过count函数实现。但是,针对count函数,有多种写法,如count(*)、count(1) 和 count(column)等。本文主要介绍以上几种写法的差异。 注意,这里仅针对MySQL数据…...
python用 xlwings库对Excel进行 字体、边框设置、合并单元格, 版本转换等操作
xlwings 其他的一些单元格读取写入操作网上很多, 下面就写些如何设置单元格的 字体对齐,字体大小、边框, 合并单元格, 这些设置。 import xlwings as xwapp xw.App(visibleTrue, add_bookFalse) app.display_alerts False #…...
Golang 中的 archive/zip 包详解(二):常用类型
Golang 中的 archive/zip 包用于处理 ZIP 格式的压缩文件,提供了一系列用于创建、读取和解压缩 ZIP 格式文件的函数和类型,使用起来非常方便。 zip.File 类型 定义如下: type File struct {FileHeaderzip *Readerzipr io…...
Qt应用开发(基础篇)——错误提示框 QErrorMessage
一、前言 QErrorMessage类继承于QDialog,是一个用来显示错误信息的对话框。 提示框QDialog 消息对话框 QMessageBox QErrorMessage错误消息对话框提供了一个主文本窗口、一个复选框、一个图标和按钮。文本框用来显示错误信息,复选框用来让用户选择未来是…...
HLS 后端示例
更多 TVM 中文文档可访问 →Apache TVM 是一个端到端的深度学习编译框架,适用于 CPU、GPU 和各种机器学习加速芯片。 | Apache TVM 中文站 TVM 支持带有 SDAccel 的 Xilinx FPGA 板,接下来介绍如何将 TVM 部署到 AWS F1 FPGA 实例。 备注:此功…...
实录分享 | Alluxio在AI/ML场景下的应用
欢迎来到【微直播间】,2min纵览大咖观点 本次分享主要包括五个方面: 关于Alluxio;盘点企业在尝试AI时面临的挑战;Alluxio在技术栈中的位置;Alluxio在模型训练&模型上线场景的应用;效果对比࿱…...
Streamlit 讲解专栏(十二):数据可视化-图表绘制详解(下)
文章目录 1 前言2 使用st.vega_lite_chart绘制Vega-Lite图表2.1 示例1:绘制散点图2.2 示例2:自定义主题样式 3 使用st.plotly_chart函数创建Plotly图表3.1 st.plotly_chart函数的基本用法3.2 st.plotly_chart 函数的更多用法 4 Streamlit 与 Bokeh 结合进…...
Dockerfile 使用教程
1.Dockerfile 1.1 什么是Dockerfile Dockerfile可以认为是 Docker镜像的描述文件,是由一系列命令和参数构成的脚本 。主要作用是 用来构建docker镜像的构建文件 。 通过架构图可以看出通过DockerFile可以直接构建镜像 1.2 Dockerfile解析过程 构建镜像步骤…...
InnoDB的Buffer
一、Buffer内存结构 MySQL 服务器启动的时候就向操作系统申请了一片连续的内存,默认128M,可通过从参数修改。 [server] innodb_buffer_pool_size 268435456 1.1 控制块 控制块包括该页所属的 表空间编号、页号、缓存页在 Buffer Pool 中的地址、链表…...
普洛斯常熟东南数据中心获LEED金级认证及IDCC绿色算力基础设施奖
近日,普洛斯常熟东南数据中心获得美国绿色建筑评估标准体系LEED v4 BDC(建筑设计与建造)金级认证,并获评IDCC2023长三角区域绿色算力基础设施奖。以可持续发展理念为核心,该数据中心从设计规划、开发建设,到…...
RabbitMQ 启动及参数说明
/usr/local/lib/erlang/erts-10.4/bin/beam.smp -W w -A 128 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true – -root /usr/local/lib/erlang -progname erl – -home /var/lib/rabbitmq – -pa /…...
Vite打包性能优化及填坑
最近在使用 Vite4.0 构建一个中型前端项目的过程中,遇到了一些坑,也做了一些项目在构建生产环境时的优化,在这里做一个记录,以便后期查阅。(完整配置在后面) 上面是dist文件夹的截图,里面的内容已经有30mb了ÿ…...
JDBC使用了哪种设计模式
JDK中提供了操作数据库的接口,比如 java.sql.Driver java.sql.Connection java.sql.Statement java.sql.PreparedStatement 不同的数据库厂商提供操作自己数据库的驱动包, 比如mysql public class Driver extends NonRegisteringDriver implements jav…...
SpaceX启动纳斯达克IPO,1.75万亿美元市值目标能否实现?
SpaceX启动纳斯达克IPO5月21日,马斯克旗下的商业航天、通信与AI巨头SpaceX向美国SEC公开提交S - 1注册声明,启动纳斯达克IPO流程。其承销商包括高盛、摩根士丹利、美国银行证券、花旗、摩根大通证券。这版S - 1文件暂未披露具体的发行股数和定价区间。不…...
摆脱论文困扰!!2026 最新降AIGC软件测评与推荐
2026年真正好用的AI论文降重与改写工具,核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...
8.C# —— 随机数、DateTime时间、字符串
一、C# 随机数(伪随机 安全随机)1. 核心概念计算机中没有真正的随机数,生成的都是伪随机数(通过算法 种子计算得出)。种子相同 → 生成的随机数序列完全相同不指定种子 → 默认使用系统当前时间作为种子,…...
ModSecurity-nginx终极指南:如何为Nginx部署下一代WAF防护
ModSecurity-nginx终极指南:如何为Nginx部署下一代WAF防护 【免费下载链接】ModSecurity-nginx ModSecurity v3 Nginx Connector 项目地址: https://gitcode.com/gh_mirrors/mo/ModSecurity-nginx 在当今网络安全威胁日益复杂的环境中,为Web服务器…...
为什么你的蓝晒图总像“褪色老照片”?3个被忽略的--stylize权重陷阱,今晚失效前速查
更多请点击: https://kaifayun.com 第一章:蓝晒法的光学本质与数字转译悖论 蓝晒法(Cyanotype)作为一种1842年诞生的古典摄影工艺,其核心依赖于铁盐在紫外光照射下发生的光还原反应:柠檬酸铁铵与铁氰化钾…...
编程语言对比:从C到Python
好的,我将为你清晰介绍这几种编程语言的主要区别:1. C语言定位:面向过程的系统级编程语言。特点:接近硬件,可直接操作内存(如指针)。语法简洁,无面向对象特性。应用场景:…...
如何在智能电视上打造完美的家庭影院:Jellyfin Android TV客户端完整指南
如何在智能电视上打造完美的家庭影院:Jellyfin Android TV客户端完整指南 【免费下载链接】jellyfin-androidtv Android TV Client for Jellyfin 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-androidtv 想要将智能电视、NVIDIA Shield或亚马逊Fir…...
利用Taotoken模型广场为不同AI应用场景挑选最合适的模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用Taotoken模型广场为不同AI应用场景挑选最合适的模型 在构建AI驱动的应用时,一个常见的挑战是如何为不同的功能模块…...
打印机驱动程序无法使用?原因+修复方法全攻略
日常办公、学习打印时,最让人崩溃的莫过于打印机突然报错,弹出 “打印机驱动程序无法使用”“驱动异常”“驱动失效” 等提示,任凭怎么操作都无法打印。作为连接电脑与打印机的核心桥梁,驱动程序一旦故障,打印机就会彻…...
反向传播:从轮廓到精雕细琢
反向传播:从轮廓到精雕细琢模型知道损失值之后,怎么调整自己的参数?上一篇文章我们讲了损失函数——它像一个指南针,告诉模型"你离正确答案还有多远"。 那知道偏了之后,模型该怎么调整自己的参数?…...
