结合EM快速解决复杂的配置问题
前段时间客户有个需求,需要在在某个用户下创建一个物化视图,通过db link来从源数据中刷新得到数据,但是刷新的频率有一定的要求,他们希望在每天凌晨4点半的时候刷新这个物化视图,这个工作看起来还是很简单的。
操作系统层面可以通过crontab来完成。
如果通过脚本,可以通过shell运行,然后设定sleep时间,基本能够满足要求。
如果从数据库层面,scheduler job就是一个很不错的选择。dbms_scheduler算是dbms_job的升级版,可以灵活地搭配对应的程序(pl/sql)和调度来完成,这个时候程序和调度就像零件一样,可以在不同的job中灵活组配。
客户倾向于从数据库层面来完成。这个时候思路就很清晰,需要创建program,创建scheduler,然后在job中加载program,scheduler
说起来容易做起来难,如果在文档中查找,也能做出来,但是需要花一些时间来验证,而且很有可能出错,这个时候如果通过图形工具也是一个不错的选择。可能这个时候工作环境中没有图形界面,通过远程连接这些都是不可以实现的,
没有条件我们要创造条件,我们可以在本地安装一套数据库软件,配置EM就可以开工了,但是EM或者Grid control有一个很不错的选项就是show sql的功能,本地创建没有意义,但是我们可以把对应的sql语句拷贝出来,略作修改就是最终的脚本了。
看看通过EM创建job是多么的简单。
创建scheduler的截图如下:
![](https://yqfile.alicdn.com/img_ad7972f36dd446e29c74e478cf0913f8.png)
创建program的截图如下:
创建job的截图如下:
来看看show sql生成的语句吧。
创建scheduler的语句。
BEGIN
sys.dbms_scheduler.create_schedule(
repeat_interval => 'FREQ=DAILY;BYHOUR=4;BYMINUTE=30;BYSECOND=0',
start_date => systimestamp at time zone 'Pacific/Pago_Pago',
schedule_name => '"SYSTEM"."REFRESH_SNAP_BY_DAY"');
END;
创建program的语句
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name=>'"SYSTEM"."PROGRAM_REFRESH_SNAP"',
program_action=>'exec dbms_mview.refresh(''XX'',''C'');',
program_type=>'PLSQL_BLOCK',
number_of_arguments=>0,
comments=>'',
enabled=>TRUE);
END;
创建job的语句
BEGIN
sys.dbms_scheduler.create_job(
job_name => '"SYSTEM"."JOB_REFRESH_SNAP"',
program_name => '"SYSTEM"."PROGRAM_REFRESH_SNAP"',
schedule_name => '"SYSTEM"."REFRESH_SNAP_BY_DAY"',
job_class => '"DEFAULT_JOB_CLASS"',
auto_drop => FALSE,
enabled => TRUE);
END;
结合EM快速解决复杂的配置问题相关推荐
- php pdo 中文乱码,php pdo oracle中文乱码的快速解决方法
在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PAT ...
- (转载)oracle 10g 安装完成后,无法登陆EM的解决办法
(来自:oracle 10g 安装完成后,无法登陆EM的解决办法 ) 状况: 打开http://localhost-:5500/em,系统显示如下信息: 数据库状态当前不可用.可能是因为数据库的状态为 ...
- 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决
视频删了怎么恢复?小技巧帮你快速解决 2019年07月03日 17:20作者:黄页编辑:黄页 分享 视频删了怎么恢复?如何能够将电脑上误删除的一些重要视频文件给恢复呢?相信很多人都想要知道这个答案,毕 ...
- python不能调用matplotlib_快速解决PyCharm无法引用matplotlib的问题
序 笔者今天用PyCharm安装了一些数据分析的时候比较有用的模块,系统是ubuntu,说实话,ubuntu(linux)在这方面还真是很方便,几条语句就把这几个模块下载安装编译过了,比于window ...
- php 使用css乱码,分享CSS字符编码引起乱码快速解决的方法
下面小编就为大家带来一篇分享CSS字符编码引起乱码快速解决的方法.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 乱码引起的CSS失效原理: 由于一个中文是两个字符组成, ...
- mysql5.7 首次登陆_mysql5.7.20第一次登录失败的快速解决方法
一,将介绍如何 (1)mysql5.7是有默认密码的 查找默认密码 grep 'temporary password' /var/log/mysqld.log (2)第一次登录 mysql -uroo ...
- python运行卡死_快速解决jupyter启动卡死的问题
问题描述 系统:Win10:之前安装过Cpython,现在依次使用pip install ipython与pip install jupyter安装了 Ipython 6.5.0与 jupyter 1 ...
- php word组件使用方法,快速解决PHP调用Word组件DCOM权限的问题讲解
下面小编就为大家分享一篇快速解决PHP调用Word组件DCOM权限的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 1. 首先必须要在电脑上安装 Office 2. window ...
- 快速解决正则----模糊匹配、字符类、量词
主体概要 正则表达式是什么 是匹配模式.要么匹配字符.要么匹配位置 内容 掌握字符类和量词就能解决大部分常见正则问题 关键内容:字符组.量词.贪婪.惰性.模糊.横向.纵向.分支.位置 重要的基础 ...
最新文章
- SourceTree 基本介绍
- .NET Framework 4.7正式发布
- 梦见计算机房,梦见未来家里有机房是什么意思?
- MIP 移动网页加速器视频教程全新发布
- FCPX插件Titles Set for Mac - 三合一黑白文本标题模板
- VC++ 6.0(英文正版)安装及其编译注意事项
- linux listen监听,Linux网络协议栈 -- socket listen监听
- c语言4x4按键计算器代码,4X4按键实现计算器功能.doc
- 定制适用于ARM平台的Ubuntu rootfs(根文件系统)
- python查找文件夹下所有文件_如何用Python实现查找/目录下的文件夹或文件,致谢...
- [AutoSAR]NXP HS12(X) AUTOSAR MCAL编译一下
- 求最短路径算法之SPFA算法
- 车辆颜色识别opencv
- 第五届安洵杯网络挑战赛WP
- springboot实现pdf里面插入图片
- Conflux CTO伍鸣博士应邀出席金色沙龙
- 第1章 Java基本概念及环境配置——FAQ1.05 Java SE. Java EE和Java ME有什么区别?
- 全新仿DS网首页模板个人自动发卡,自动发货安装教程及其源码下载
- 《Microduino实战》——2.7 总结
- 关于置信度和置信区间的解释
热门文章
- python软件是干什么用的-python中的django是做什么的
- python哪里下载import包-python 如何找到import的包
- vs2017中编译提示一些系统头文件没有找到
- 数据库设计中的范式形式
- LeetCode Insert Delete GetRandom O(1) - Duplicates allowed
- LeetCode Sudoku Solver
- linux学习之路(一)--centos7安装JDK
- B-Tree 和 B+Tree
- oracle 让人抓狂的错误之 null值 与 无值(无结果)-开发系列(一)
- 浅析Android中的消息机制