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

大局限进级光降,谈谈Oracle 12cR2行使履历

发布时间:2019-04-16 14:40:14 所属栏目:编程 来源:杨志洪
导读:大局限进级光降,咱们来谈谈Oracle 12cR2行使履历。 一、进级到12cR2的须要性 跟着2019年2月13日,Oracle 19c (Oracle 12.2.0.3) for Exadata 版本宣布,Oracle 12cR2系统的数据库版本终于迎来了恒久支持版本(Oracle 12c的最后一个大版本),也就是说数据库

掷中Bug 26405036 Large Allocation Of "ges enqueues" and "ges resource dynamic" In The Shared Pool 会把共享池从20g不绝自动resize到200g以上,直到sga_max_size中无法有空余空间了,应用报ora-04031。

办理要领是打补丁,今朝Oracle 18.5的补丁也出来了:

大局限进级光降,谈谈Oracle 12cR2行使履历

姑且办理方案如下:

SQL> oradebug setmypid

SQL> oradebug lkdebug -m reconfig lkdebug

题目2:在home目次发生大量trace文件可能是单个超大文件,空间满导致体系hang。

这个题目征象相似,但不止是一个bug:

缘故起因1:

Trace files generation with message “AUTO SGA: kmgs_parameter_update_timeout gen0 0 mmon alive 1”.

这是Bug 25415713,安装one-off patch可以办理。

缘故起因 2:

Trace files generated from RMAN module with KRB messages.

也许是:

Bug 28174827 :RMAN Unconditional KRB Trace File After Installing Fix Of Bug 22700845

Bug 28390273 :RMAN UNCONDITIONAL KRB TRACE FILE AFTER PATCH 27674384

通过alter system set events 'trace[krb.*] disk disable, memory disable';办理。

缘故起因3:

KZAN: ORA-55917 during CLI write.

KZAN: SYS user audit records will written to files now.

必要禁用KTLI tracing:

alter system set event='55901 trace name context off';

alter system set event='TRACE[RecordCompose] off';

alter system set event='TRACE[FileWrite] off';

alter system set event='TRACE[QueueWrite] off';

题目3:在RAC集群情形下,对大表举办truncate会导致另一个节点hang住。dbaplus社群有过专门诊断文章:你敢在Oracle 12c R2上做大表truncate吗?

该bug在最新版的PSU中已经修复:

大局限进级光降,谈谈Oracle 12cR2行使履历

题目4:进级到Oracle 12c/18c后,低版本数据库客户端毗连会报错:

ORA-28040: No matching authentication protocol/ORA-01017: invalid username/password; logon denied

必要先在sqlnet.ora中插手SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8/SQLNET.ALLOWED_LOGON_VERSION_SERVER=8,然后再重置暗码办理。(参考MOS文档 ID 2296947.1)

五、几个重要参数

尚有其他一些提议配置的参数,大大都是为了停止bug,尚有一部门是为了封锁某些Oracle特征。

ASM初始化参数,memory_target设为2G,process配置为200或以上。

数据库参数:

  • _serial_direct_read= AUTO; 停止high direct path read
  • _lm_tickets=5000;默认1000,增进GES messaging tickets
  • _px_use_large_pool=TRUE;并行会话行使large pool而不是共享池,低落ora4031
  • _b_tree_bitmap_plans=FALSE;
  • SEC_CASE_SENSITIVE_LOGON=FALSE;禁用暗码巨细写敏感
  • _gc_defer_time=0;镌汰历程对热块争用
  • _datafile_write_errors_crash_instance=FALSE;数据文件(sysytem以外表空间)I/O读写错误被发明时,产生错误的数据文件举办offline而不封锁实例。
  • event='10949 trace name context forever:28401 trace name context forever, level 1:10849 trace name context forever, level 1' ;封锁数据库傍边用户一连输入错误暗码导致大量library cache lock;封锁自动serial direct path read特征,停止呈现过多的直接路径读,耗损过多的IO资源
  • _undo_autotune=FALSE;封锁undo自动调解
  • _use_adaptive_log_file_sync=FALSE;写日记缓冲区到文件方法默认是回收Post/wait方法,在11.2.0.3版本开始增进了Polling的方法。封锁该参数不应承切换。
  • "_fix_control"='14142884:ON','8560951:ON','8893626:OFF','9344709:OFF','9195582:OFF','9380298:ON','13704562:OFF','16053273:OFF','8611462:OFF','17760375:OFF','17938754:OFF','8560951:ON'
  • 虽然,同时要声名的是,这些仅仅是以为须要留意的参数,真真相形尚有其他参数也同样要留意。假如你在阅读进程中,以为尚有某些参数是应该必需调解的,接待在文章后头留言,给其他偕行做一个参考。

六、进级参考文章

焦点数据库进级是一件伟大的体系工程,必需颠末严谨的方案拟定、进级测试、机能测试及最后的割接迁徙流程,固然我们已经经验过上千套体系的12c进级,可是每次进级前的测试如故能发明新的缺陷。

有些是应用代码的,有些是SQL机能的,有些是数据库软件的甚职苄些是存储链路的,充实的测试才是确保乐成进级的独一担保。

对付大数据量的进级迁徙,Oracle副总裁swonger有一个演讲:migrate + 200TB database in less than 1 day,讲的是欧洲电网的案例,行使了TTS+expdp+perl等多种本领,值得一看。

链接:

https://www.neooug.org/gloc/Presentations/2018/Swonger_Migrate_200TB.pdf

对付进级来说,不只要体谅进级自己可否认时刻完成,关于进级之后的机能怎样、不变性怎样、可用性、数据同等性和完备性怎样也同样重要,并且都应在正式进级割接前举办充实的模仿验证。

作者先容

杨志洪,dbaplus社群连系提倡人,新炬收集首席布道师,对数据库、数据打点有深入研究,合译《Oracle焦点技能》《Oracle Exadata专家手册》。

(编辑:湖南网)

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

热点阅读