数据库:12.1.0.2,rac,cdb模式

笔者负责移动两个12.1.0.2的cdb集群,一个在aix上,一个在linux上,不幸的是,它们都是混合型,数据有100多T。

由于其它部门交付的时候,已经是12c,之前对12c不是很熟悉,但还是想看看是否可以在不分库的前提下,最大化性能。

结果不行,因为有些偏向OLTP的应用会常常觉得慢。

怎么办?只好先通过SERVICE指定节点,每个服务至少两个节点,服务内部采用taf配置,一个主节点,一个备用节点。

例如为某个oltp创建的服务如下:

srvctl add service -db wgdb -service nsn_flowdb -preferred wgdb2 -available wgdb4 -tafpolicy preconnect -policy automatic  -failovertype session -failovermethod basic -failoverretry 180 -failoverdelay 2 -pdb nsn_flow

并且在节点2上,只分配给所有这些oltp类型应用,其它olap类型的在其它节点。

个人觉得,就这点上,oracle数据库远远优于各种rdbms和bigdata,光这个方面,就可以节约企业的不少资源和成本。

其它rdbms的资源管理有点复杂,远远不如oracle这么方便。

话说,oracle做得这么方便,就是为了向cloud靠拢。

之后一段时间,大部分时候,oltp应用都很快,但偶尔还是会发生慢的情况,例如某个上午或者下午的某个时间点。

怎么回事?然后分析了下作业的运行日志,发现作业本身并不按照创建的服务运行,而是在所有节点上,按照oracle数据库自己的均衡算法,分布在各个节点上运行。

又研究了下oracle的作业,发现可以通过调度类来控制服务,很高兴,不需要什么复杂的操作。

但问题又来了:

1.现有的作业采用的是默认调度类,默认调度类并不指定节点

2.后续各个开发人员如果在没有强制的情况下,还是会使用默认的调度类

于是决定修改其它pdb的默认调度类:

begin
dbms_scheduler.set_attribute(name => 'DEFAULT_JOB_CLASS',attribute => 'comments',value => 'This is for all olap app');
dbms_scheduler.set_attribute(name => 'DEFAULT_JOB_CLASS',attribute => 'service',value => 'wybigdata');
end;

至于,在特定节点上跑OLap过程慢,没有关系,olap就是可以容忍这样的情况。

鉴于oracle的调度这么强大,后续决定强制各个厂商改用调度来执行他们的作业,而不是job,后者台糟糕,早应该抛入历史垃圾堆了。

除了通过service来控制资源分配,oracle还可以通过其它方式管理调度作业的资源分配,例如通过资源组。

所以,在搭建集群的初期,选择集群的配置方式是非常重要的。

oracle12c管理作业资源的一种方式的更多相关文章

  1. 访问WEB-INF下JSP资源的几种方式(转)

    访问WEB-INF下JSP资源的几种方式 方法一: 本来WEB-INF中的jsp就是无法通过地址栏访问的,所以安全. 如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置ser ...

  2. k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...

  3. k8s创建资源的两种方式

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建 kubectl run nginx-deployment --image=nginx: -- ...

  4. k8s 创建资源的两种方式【转】

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...

  5. k8s创建资源的两种方式(5)

    一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg ...

  6. kubernetes创建资源的两种方式

    一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令行的方式直接创建,比如: kubectl run httpd-app --image ...

  7. 第5篇K8S创建资源的两种方式

      一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=r ...

  8. K8S(02)管理核心资源的三种基本方法

    系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 管理k8s核心资源的三种基本方法: 目录 系列 ...

  9. k8s创建资源的两种方式及DaemonSet应用(5)

    一.创建方式分类 Kubernetes 支持两种方式创建资源: (1)用 kubectl 命令直接创建,比如: kubectl run httpd-app --image=reg.yunwei.com ...

随机推荐

  1. Jms学习篇一:JMS介绍

    1.JMS介绍: JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API JMS是一种与厂商无关的 API,用来访问 ...

  2. csharp: ClientScript.RegisterStartupScript int net4.0

    //彈出提示 ClientScriptManager cs = Page.ClientScript; StringBuilder sb = new StringBuilder(); sb.Append ...

  3. 如何将bug杀死在摇篮里?

    阿里妹导读:在欧洲中世纪的传说中,有一种叫“人狼”的妖怪,就是人面狼身.它们会讲人话,专在月圆之夜去袭击人类.而且传说中对“人狼”用一般的枪弹是不起作用的,普通子弹都伤不到也打不死它,只有一种用银子作 ...

  4. SharePoint 2010配置PDF文件全文检索

    一.安装Adobe PDF 64 bit IFilter version 9合Adobe Reader 9下载地址: http://www.adobe.com/support/downloads/de ...

  5. java实现多文件上传01

    1.html代码 <html> <head> <link rel="stylesheet" type="text/css" hre ...

  6. C# 调用第三方DLL z

    http://blog.163.com/da7_1@126/blog/static/104072678201311721326318/ 以下代码为本人在实际项目中编写的调用第三方DLL接口程序的完整代 ...

  7. IOS开发之——IOS模拟器调试蓝牙BLE

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhenyu5211314/article/details/24399887 因为在iPhone 4s ...

  8. cs229 斯坦福机器学习笔记(一)-- 入门与LR模型

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/Dinosoft/article/details/34960693 前言 说到机器学习,非常多人推荐的学习资 ...

  9. POJ 1379 模拟退火

    模拟退火算法,很久之前就写过一篇文章了.双倍经验题(POJ 2420) 题意: 在一个矩形区域内,求一个点的距离到所有点的距离最短的那个,最大. 这个题意,很像二分定义,但是毫无思路,也不能暴力枚举, ...

  10. 【[SCOI2015]情报传递】

    非常无脑的板子题,就当是练一下板子 我们可以先将所有的操作离线下来,之后那些搜集过情报的点就有了点权,对于查询操作,就是查询一下这条路径上有几个点点权满足\(st<=now-C+1\) #inc ...