solaris:/etc/system文件中oracle参数详解 与 RMAN 使用

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
操作系统:solaris 8
oracle:8i/9i
安装都要修改:/etc/system文件,在末尾添加:
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
set semsys:seminfo_semmns=256
这是安装oracle9i至少要的值(他说)。oracle有个脚本,如附件,可以检查系统环境,并对配置的系统参数提供推荐的最低值(但要求oracle为901或902,脚本上传服务器,按照说明(不行看一下脚本编写就知道怎么用))。(不许上传.sh文件,修改为txt,用editplus看,txt为差不多乱麻)
可是我在安装过程中,好几次遇到,如果这些值,不翻倍,或者需要多翻几倍,oracle是装不上的(8i/9i一山的骆驼)。(可从脚本或者猜测得到答案)
那位好人,能不能解释一下这些参数对操作系统的影响,对oracle的影响等等,从各个方面讲解一下(不然我老放心不下,我改的太大对系统长期运行有什么潜在危险×……※%),或者提供相关资料也行。
我不仅想了解他,还想懂他,鄙视他,谢谢了各位。
如下为我目前搜索出来的资料:
Oracle数据库运行的时候,用共享内存来实现Oracle的SGA,所以要调整一下Linux的内核参数来适应Oracle的SGA的要求,这个方面到底要调整到多少才适合,可以参考Oracle官方的安装文档(那片文档?不会是安装文档吧,就讲了不大丁点的)。一般而言,主要就是共享内存段最大尺寸要调整,Linux内核默认共享内存段最大尺寸是32M,如果Oracle SGA开的大于32M(一般商业运行,肯定大于32M),SGA就会分段,占据几个不连续的共享内存段,造成Oracle的性能下降。
命令ipcs -al可以查看共享内存参数,命令ipcs查看共享内存使用情况。
修改内核参数可以修改内核源码再重新编译内核,这个方法有点麻烦,关于共享内存的参数在源码目录下的include/linux/下的shm.h和sem.h文件中。
另一个简单的办法是直接修改内核参数,即修改/proc下的文件,立即生效。
可以修改/proc/sys/kernel下的shmmax和sem
shmmax是以字节记的共享内存段的最大尺寸,
shmmni是共享内存段的最大数量
shmmax是共享内存总共最大容量(shmmax*shmmni)
sem是信号量参数,msgmax,msgmnb,msgmni是消息队列的参数。
一个共享存储器段的最大尺寸( SHMMAX )
共享存储器段的最小尺寸 ( SHMMIN )
系统中共享存储器标识符的最大数量 ( SHMMNI )
一个用户进程能附带的共享存储器段的最大数量 ( SHMSEG )
在系统中信号灯标识符的最大数量 ( SEMMNI )
在一个集合中的信号灯的最大数量 ( SEMMSL )
在系统中信号灯的最大数量 ( SEMMNS )
按semop调用操作的最大数量 ( SEMOPM )
信号灯最大值 ( SEMVMX )
全部允许的共享存储器由下列公式确定:
SHMMAX * SHMSEG
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
up,没有人会吗?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
斑竹帮忙,有解释?没解释。有资料?没资料。
给个回答嘛,不然老掉着也不大对,是么,
扑通,救命阿~~~~~
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
Parameter Description
SEMMNS The number of semaphores in the system. In addition to the
requirements of the operating system and other software, you should
allow at least one semaphore for each Oracle server process—that is,
the sum of the setting of the PROCESSES parameter for all instances
on the system. If the semaphore clients are not always shut down and
started up in strict sequence, then an extra allowance at least equal to
the largest single requirement is recommended.
Further, the kernel parameter controlling the maximum number of
simultaneous processes owned by a single named user (often MAXUP)
should be at least equal to the SEMMNS setting, with an allowance for
other administrative processes owned by the "oracle" user that do not
require semaphores. However, this parameter should not be so large
as to allow the risk of another user creating so many processes that the
kernel process table would be completely filled. Therefore, the kernel
parameter controlling the maximum number of simultaneous
processes for all users (often NPROC) should be at least three times
the value of SEMMNS.
SEMMSL
The size limit for a single semaphore set. This parameter is not defined
on some operating systems. Where it is defined, and where Oracle
requires all the semaphores for an instance to be allocated in a single
semaphore set, this parameter must be at least equal to the largest
PROCESSES parameter required for any instance.
SEMMNI
The number of semaphore set identifiers in the system. In addition to
the requirements of the operating system and other software, you
should allow one identifier per instance, or more if the SEMMSL
parameter is set such that multiple semaphore sets will be required for
any instance.
SEMMNU
The number of semaphore undo structures in the system. Undo
structures are used to recover the kernel semaphore data structures in
the event of the unexpected death of a process during a semaphore
operation. SEMMNU should be greater than the peak number of
running and runnable processes.
If Oracle uses System V semaphores on your operating system by default, but also
supports the use of a post-wait driver, then you should use the post-wait driver
instead. This normally involves setting the USE_POST_WAIT_DRIVER
parameter to TRUE, and it is sometimes necessary to set the
POST_WAIT_DEVICE parameter as well. Please consult your Oracle installation
guide, because the instructions are operating system and release dependent.
The semaphore parameters are operating system kernel
parameters and cannot be set in the Oracle initialization
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
Oracle 的安装文档里面解释得比较清楚了
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
读读这本书
http://www.itpub.net/showthread.php?s=&threadid=93296
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
感谢三位大恩大德,我正在学习中。当有一天我能真的把他们理顺的时候,我会找回这个帖子,帖上。
关于这个参数的问题,原来我没有怎么重视,得过且过,是在有的机器需要翻几倍才装的上的情况下,上级质疑这样做会不会带来什么灾难后果(因为机器要拿到现场给客户跑),我就看着他傻笑,我说~~~:俺们那旮旯盛产高丽参,就吃猪肉顿粉条,我也不知道!!!于是就。。。
再次感谢一下
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
Oracle8i Internal Services For waits, latches, locks
这本书里,在第二章,对这些参数有详细的说明,经典之作,相信对你会有很大帮助的。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 eygle 发布
[B]Oracle8i Internal Services For waits, latches, locks
这本书里,在第二章,对这些参数有详细的说明,经典之作,相信对你会有很大帮助的。 [/B]


就是从这上面摘下来的 :)
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
你给一段话,我给一本书
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行