从事IT基础架构多年,发现自己原来更合适去当老师……喜欢关注新鲜事物,不仅限于IT领域。
分类: Oracle
2007-08-23 10:46:57
binutils-2.17.50.0.6-2.el5 compat-libstdc++-33-3.2.3-61 elfutils-libelf-0.125-3.el5 elfutils-libelf-devel-0.125 glibc-2.5-12 glibc-common-2.5-12 glibc-devel-2.5-12 gcc-4.1.1-52 gcc-c++-4.1.1-52 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.1-52 libstdc++-4.1.1 libstdc++-devel-4.1.1-52.e15 make-3.81-1.1 sysstat-7.0.0 unixODBC-2.2.11 unixODBC-devel-2.2.11 以往在linux上用oracle对rpm包要求很严格,少一个都可能出问题,用rpm -q命令一一检查(或者rpm -qa|grep也行),没安装的用rpm -ivh命令装上。
然后是内核参数,要求如下:
Parameter | Value | File |
---|---|---|
semmsl semmns semopm semmni | 250 32000 100 128 | /proc/sys/kernel/sem |
shmall | 2097152 | /proc/sys/kernel/shmall |
shmmax | Minimum of the following values:
| /proc/sys/kernel/shmmax |
shmmni | 4096 | /proc/sys/kernel/shmmni |
file-max | 512 * PROCESSES | /proc/sys/fs/file-max |
ip_local_port_range | Minimum:1024 Maximum: 65000 | /proc/sys/net/ipv4/ip_local_port_range |
rmem_default | 4194304 | /proc/sys/net/core/rmem_default |
rmem_max | 4194304 | /proc/sys/net/core/rmem_max |
wmem_default | 262144 | /proc/sys/net/core/wmem_default |
wmem_max | 262144 | /proc/sys/net/core/wmem_max |
需要注意,如果当前值比上表中的值高,就不需要修改。用下面的命令可以直接看到这些参数的当前值:
Parameter | Command |
---|---|
semmsl, semmns, semopm, and semmni | # /sbin/sysctl -a | grep sem This command displays the value of the semaphore parameters in the order listed. |
shmall, shmmax, and shmmni | # /sbin/sysctl -a | grep shm This command displays the details of the shared memory segment sizes. |
file-max | # /sbin/sysctl -a | grep file-max This command displays the maximum number of file handles. |
ip_local_port_range | # /sbin/sysctl -a | grep ip_local_port_range This command displays a range of port numbers. |
rmem_default | # /sbin/sysctl -a | grep rmem_default |
rmem_max | # /sbin/sysctl -a | grep rmem_max |
wmem_default | # /sbin/sysctl -a | grep wmem_default |
wmem_max | # /sbin/sysctl -a | grep wmem_max |
发现有需要修改的参数后,建立/etc/sysctl.conf 文件,编辑如下内容(需要改的就放到里面,不需要的不用放里面):
fs.file-max = 512 * PROCESSES kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144
这里kernel.sem要指定就要指定所有四个值。
之后执行/sbin/sysctl -p命令使之生效,在核对一下看是否正确。
出于改善性能的考虑,需要增加一下用户限制。
首先编辑/etc/security/limits.conf 增加下面几行内容:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
然后编辑/etc/pam.d/login 文件,增加下面内容:
session required /lib/security/pam_limits.so session required pam_limits.so 如果是64位系统,就不需要加第一行了。
最后编辑/etc/profile 文件(suse系统是/etc/profile.local),增加下面内容:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi C shell会有所不同,查手册便知。
安装手册的内容,还需要建立确认很多东西,不过都是些无所谓的东西了。
下面可以开始着手装server了,登陆oracle用户在.bash_profile里设定环境变量,如ORACLE_HOME、ORACLE_BASE、ORACLE_SID、PATH等。
mount -t iso9660 /dev/dvd /mnt/dvd加载光驱(或/dev/cdrom),命令sudo eject /mnt/dvd可以弹出光驱。
另外提一句,在安装之前,想提高一下linux的shm,可以用下面的方法:
umount tmpfs
mount -t tmpfs -o size=700m tmpfs /dev/shm
这样shm就变为700M了。
注意用命令改完,重启后又会失效,要永久改变需要编辑/etc/fstab文件,将里面fstab一行改为:tmpfs /dev/shm tmpfs size=700m 0 0
对于linux大内存问题,这里先不说了。
用root执行xhost +启动X服务,由于是本地安装不用设DISPLAY了(设了好像反倒有问题)
准备工作就绪,执行/mnt/dvd/runInstaller可以开始安装了。安装过程跟以前差不多,一步步照做就行了,中间会有校验一步,之前的过程如果都做了,stop这些校验也没什么问题(我第一次校验的时候竟然hung了,不知道为啥),还会提示是否顺便建个database,以后再说,之后等着就行了,安装玩了3个多G,好像又变得庞大了,呵呵。