千家信息网

在AIX5.3中将Oracle SGA定在内存中的步骤是怎样的

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章给大家分享的是有关在AIX5.3中将Oracle SGA定在内存中的步骤是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在
千家信息网最后更新 2025年12月02日在AIX5.3中将Oracle SGA定在内存中的步骤是怎样的

本篇文章给大家分享的是有关在AIX5.3中将Oracle SGA定在内存中的步骤是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

在一些操作系统平台中,我们可以将OracleSGA定在内存里,这样可以避免页交换,从而提高Oracle的性能。在AIX下,要把操作系统的v_pinshm参数设置为1,否则即使在Oracle中将LOCK_SGA设置为TRUE也是不管用的。然而仅仅知道这两个参数还远不够用的,必须对AIX内存管理有一定了解。本文要求操作系统是5.3 ML01以上,Oracle9.2.0.4以上。

首先我们来检查一下操作系统版本:

XXIBM:# oslevel -r

5300-07

可见操作系统版本满足我们的要求。如果这个输出是5300-00,那么就先要给操作系统打补丁。Oracle很多的问题都和操作系统有紧密的联系。

接下来看看有多少内存。查看内存的方法有很多,随便用哪一种吧。

XXIBM:# bootinfo -r

64749568

上面的输出显示操作系统有64G内存。

再用rmss -p来看看当前可用内存是否与实际内存一致。因为有的时候可能出于测试的考虑,我们可能用rmss把内存模拟到某个大小(当然只能向小模拟)。

XXIBM:# rmss -p

Simulated memory size is 63231.9375 Mb.

如果上面的输出小于实际的内存,就要考虑用rmss -r来将内存恢复到实际大小。

接下来让我们检查几个有关内存的参数设置。AIX5.3的默认内存参数

首先检查lru_file_repage的设置。这是5.3新增的参数,这个参数默认为1,但IBM推荐在ML01之后,将这个参数设置为0

XXIBM:# vmo -L lru_file_repage

NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES

--------------------------------------------------------------------

lru_file_repage 1 1 1 0 1 boolean D

在上面的输出中,CUR代表参数的当前值,DEF代表参数默认值,BOOT代表下次启动值。

用下面的命令把lru_file_repage设置为0。下面的设置只是在当前生效,不改变重启的设置。

XXIBM:# vmo -o lru_file_repage=0

Setting lru_file_repage to 0

接下来检查v_pinshm,应该改成1

XXIBM:# vmo -L v_pinshm

NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES

--------------------------------------------------------------------

v_pinshm 1 0 0 0 1 boolean D

XXIBM:# vmo -o v_pinshm=1

Setting v_pinshm to 1

检查一下minperm%maxperm%等参数。在使用lru_file_repage之前,我们习惯把maxperm%设置很小,如20%。但从5.3开始,IBM建议改大。这个参数默认是80IBM建议可以考虑改成90。至于minperm%,默认是20。如果内存在32G-64G,可以改成10,小于32G,改成5,大于64G,保持默认20

XXIBM:# vmo -o minperm%=10

Setting minperm% to 10

XXIBM:# vmo -o maxperm%=90

Setting maxperm% to 90

操作系统的参数调整好了之后,剩下的工作就简单了。登录到Oracle,查看一下LOCK_SGA参数的设置:

XXIBM:# su - oracle

$ sqlplus /nolog

SQL*Plus: Release 9.2.0.6.0 - Production on Fri Sep 19 08:40:10 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn / as sysdba

Connected.

SQL> show parameter lock_sga

NAME TYPE VALUE

------------------------------------ -----------

lock_sga boolean FALSE

这个参数当前为FALSE。要想把SGA定在内存中,要把这个参数改成TRUE

SQL> alter system set lock_sga=true scope=spfile;

System altered.

接下来计算一下当前SGA的大小:

SQL> select sum(value)/1024/1024 from v$sga;

SUM(VALUE)/1024/1024

--------------------

35941.0215

这个大小一般不要超过物理内存的60%。太小也不好,利用不充分。从上面的输出来看,当前的SGA大小基本合适。当然可进一步查看DB_CACHE_SIZE等参数设置是否合理,以确定是否要调整,这里略过。

设置好之后要重新启动数据库。如果数据库能够顺利启动,那么说明设置没问题。

那么怎样才能看出ORACLESGA是否定在内存里呢?可以通过svmon命令来查看。这个命令要用超级用户才可以运行。

$ su -

root's Password:

XXIBM:# svmon -P -t 100|grep -p Pid|head

--------------------------------------------------------------------

Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB 225546 oracle 9313207 9270407 2232 9308982 Y N N

--------------------------------------------------------------------

Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB

119692 oracle 9312614 9270438 2232 9308978 Y N N

--------------------------------------------------------------------

Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB

注意上面输出的InusePin,还有CommandCommand对应oracle,说明进程信息是Oracle的。Inuse代表使用中的内存页,Pin代表定在内存中的页数量,每页大小4KB。这两个值如果相差甚远,则说明随SGA没有定在内存里,如果相差很近,则说明定在了内存里。

如果想在操作系统重启后Oracle也能把SGA定在内存里,并且正常工作,就要把本文一开始设置的v_pinshmlru_file_repage等设置为重起操作系统后也是想要的值。例如:

XXIBM:# vmo -p -o v_pinshm=1

Setting v_pinshm to 1 in nextboot file

Setting v_pinshm to 1

以上就是在AIX5.3中将Oracle SGA定在内存中的步骤是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内存 参数 操作系统 系统 大小 面的 输出 代表 检查 接下来 中将 命令 实际 工作 步骤 两个 建议 数据 数据库 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河北企业软件开发的用途和特点 彪马板鞋商品分析软件开发 上海机械软件开发服务价格 宝山区网络技术服务诚信服务 游览器提交数据到服务器 数据库安全性的控制级别 web 日志管理服务器 能源领域网络安全成全球焦点 计算机网络技术女孩子学怎么样 数据库 自动还原 嵌入式软件开发区海边文案 软件开发人员的薪金 论文 网络安全法知识竞赛登录 表彰软件开发人员 数据库表更新视图同步更新 无痕广告软件开发 svn 连接不上服务器 郧西公司软件开发包括哪些 厦门棋牌软件开发公司排名 艾斯威尔数据库推广 网络安全问题快问快答 茂名星莱网络技术有限公司 计算机软件开发辛苦吗 联机数据库网址 cad画足球数据库 成为企业微信服务器需要本钱吗 达芬奇调色连接到数据库 天津慕诺网络技术有限公司欠薪 流媒体服务器硬盘管理 软件开发工程师的工作岗位
0