加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

大规模升级来临,谈谈Oracle 12cR2使用经验

发布时间:2019-04-17 03:18:26 所属栏目:建站 来源:杨志洪
导读:副标题#e# 大规模升级来临,咱们来谈谈Oracle 12cR2使用经验。 一、升级到12cR2的必要性 随着2019年2月13日,Oracle 19c (Oracle 12.2.0.3) for Exadata 版本发布,Oracle 12cR2体系的数据库版本终于迎来了长期支持版本(Oracle 12c的最后一个大版本),也就

将交易型生产数据库迁移到Oracle 12c(包括Oracle12cR2、Oracle18c、Oracle 19c),有一些特性建议关闭(其中部分特性是从Oracle 10g开始一直都建议关闭的),设计很理想,现实很骨感,我们能做的就是帮忙尽量圆润一些。

下面默认数据库都是Oracle RAC:

1、实例并行执行

PARALLEL_FORCE_LOCAL该参数默认是False。理论上讲,集群多个节点,并行处理的时候多个节点一起来,均衡用力,是最优方案。事实是多节点并行处理的协调成本很高,节点间通讯负载大。因此要改为True,实现进程级别本地化并发处理。

2、内存自动管理

从10g开始sga自动管理sga_target到12c的内存级别自动管理memory_target。核心生产库全部建议改为手动,非核心几个月不看一眼的库可以设置为自动管理。

3、查询结果缓存

一次缓存,百次使用。对某些特定“静态”查询类的系统可能适用,在OLTP里这种场景几乎没有。所有result_cache_max_size=0。

4、布隆过滤算法

Bloom Filter由布隆在1970年提出,用来检索一个对象是否在某个集合中,优点是空间效率高于其他算法,缺点是有一定的误识别率。一旦识别错误,效率就是百倍降低,这对于高效稳定的系统来说是不可接受的。

  1. _bloom_filter_enabled=false;_bloom_pruning_enabled=false 

动态资源重组:每个数据库资源,都有其Master,拥有者和请求者,初衷是根据请求情况来动态调整Master,减少实例间数据传输。

  1. _gc_policy_time=0;_gc_undo_affinity=false;"_gc_read_mostly_locking"=FALSE。 

5、 段延迟创建

新建一个数据表,Oracle只会建这个对象而暂不分配segment,只有当往表里插入第一条数据的时候才创建segment。初衷是节约存储空间,但该特性bug极多。

  1. deferred_segment_creation=false 

6、内存列式存储

In-Memory Option是12c的一大亮点,对特定的应用适用。

通常建议关闭:inmemory_size=0;inmemory_query=disable;

四、几个问题/bug

升级到Oracle 12c后遇到的一些重要bug,建议要去整改。

问题1:SGA手动管理模式下,Oracle偷偷去自动增大Shared pool了(Oracle 19.2解决)。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读