暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在 AIX 上配置 Oracle 数据库并使用大页

原创 Yanhong 2022-10-12
1366

在部署新的 Oracle 基础架构时,90% 的基础架构都是在 Linux 上实施的。这是有道理的,因为甲骨文在Linux上运行得非常稳定和高性能,它也是甲骨文自己的开发平台。但是,由于多样性使生活变得有趣,我最近有幸在 AIX 上为客户部署了一个新的 Oracle 环境。

AIX不是linux,有些事情的工作方式有点不同,但是Oracle数据库的安装运行或多或少是顺利的。

由于根据Oracle的最佳实践,SGA应该使用大页,因此我们为数据库准备了200个大小为16M的大页。我们可以用svmon实用程序来验证这一点

svmon PageSize PoolSize inuse pgsp pin virtual s 4 KB - 812827 29012 228798 252287 m 64 KB - 61455 202 14189 61743 L 16 MB 200 0 0 200 0 S 16 GB - 0 0 0 0

因此,我们可以看到,200 Pages可用但未在使用中,因为此时我不在服务器上设置数据库。下一步是创建一个 Oracle 19c 数据库,其中 dbca 处于静默模式,并具有所有必要的设置。在 Oracle 19c 中,初始化参数的默认设置USE_LARGE_PAGES=TRUE。这意味着如果oracle在服务器上找到一些大页,它将使用它,如果没有,它将为具有正常页面的sga分配内存。

因此,在创建数据库后,我检查了数据库的告警日志并查看以下输出:

PAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s) 2022-08-11T12:57:12.094226+02:00 4K Configured 0 0 NONE 2022-08-11T12:57:12.096517+02:00 64K Configured 118 118 NONE --> PGA 2022-08-11T12:57:12.099008+02:00 16M Configured 192 192 NONE --> SGA 2022-08-11T12:57:12.101851+02:00 16G Configured 0 0 NONE 2022-08-11T12:57:12.104649+02:00

目前为止,一切都好。从告警日志中发现,预言机已经为SGA分配了192个大页。为了真正确定一切正常,我们再次检查svmon

svmon PageSize PoolSize inuse pgsp pin virtual s 4 KB - 812827 29012 228798 252287 m 64 KB - 61455 202 14189 61743 L 16 MB 200 0 0 200 0 S 16 GB - 0 0 0 0

嗯…稍等片刻。Oracle告诉我们,它已经分配了192个1600万个页,但AIX告诉我们,所有200个页面仍然没有使用。那么谁是对的呢?让我们再做一次检查。我们可以将参数 USE_LARGE_PAGESTRUE 更改为 ONLY。这意味着,如果 Oracle 无法在启动期间分配大页,则实例将失败。因此,我们更改参数并重新启动数据库。如果它出现大页被使用并且预言机是正确的,如果我们在启动期间遇到错误,我们知道预言机无法分配一些大页,svmon是正确的。(那是我的反对意见,这是错误的🙁 )

SQL> alter system set use_large_pages=only scope=spfile; SQL> startup force;

数据库没有问题,告警日志告诉我分配了192个页面。所以它一定是好的,因为我设置 use_large_pages=only,数据库只能从大页面开始对么?很遗憾,其实并非如此。在对预言机支持进行了一些重新搜索之后,我终于发现,这个参数在AIX上是无用的。棘手的部分,预言机告诉你,它已经分配了页面,但事实并非如此。要为数据库分配 16M 页,您必须设置以下 init.ora 参数

SQL> alter system set lock_sga=true; SQL> startup force

lock_sga参数设置为 true 并重新启动数据库后,您可以看到,现在 svmon 也显示页面正在使用中

svmon PageSize PoolSize inuse pgsp pin virtual s 4 KB - 812827 29012 228798 252287 m 64 KB - 61455 202 14189 61743 L 16 MB 200 193 0 200 193 S 16 GB - 0 0 0 0

本文完。

原文标题:Configure Oracle DB for using Large Pages on AIX
原文作者:Alain Fuhrer
原文地址:https://www.dbi-services.com/blog/configure-oracle-db-for-using-large-pages-on-aix/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论