LINUX+ORACLE安装和优化注意事项


linux 部分概念和术语

vlm         very large memory(>4G)

shmfs       shared memory file system on /dev/shm

highmem     higher memory addresses above 1GB

highpte     kernel patch which allows putting pte-s into highmem

as2.1安装技巧及优化

主要的安装模式的选择

1.直接回车 --图形方式

2.text     --文本方式

3.lowers

前3种是老版本的

4.nofb

5.expert   --是在硬件发生问题时可以用的方式

6.rescure

7.dd       --可以驱动as2.1不支持的驱动程序

对于选择oracle 9iR2则必须要选择software Development

如果内存<4G需要SMP内核,>4G需要ENTERPRISE内核

SMP可以应用于调试版本

安全性:检查FTP(WU-FTPD) 用/sbin/chkconfig wu-ftpd

[root@crm_stby crmtemp]# /sbin/chkconfig --list|grep ftp

wu-ftpd:        on

也可以去掉rsh,rexec,rlogin等的服务

service xinetd stop

安装ORACLE9IR2 9.2.0.4时relink出错,那么可能需要2.11.90.0.8-13.i386.rpm

rpm -qa|grep binutils

[root@crm_stby crmtemp]# rpm -qa|grep binutils

binutils-2.11.90.0.8-12

[root@oint2 root]# rpm -qa|grep binutils

binutils-2.11.90.0.8-12

如果binutils-2.11.90.0.8-13要返回到binutils-2.11.90.0.8-12

那么rpm -Uvh --force binutils-2.11.90.0.8-12.rpm

remove $ORACLE_HOME/bin/genclntsh

$ORACLE_HOME/ldap/lib/ins_ldap.mk

$ORACLE_HOME/ldap/lib/env_ldap.mk

$ORACLE_HOME/sqlplus/lib/env_sqlplus.mk

如果出现不能从cdrom下安装

#hdparm -d0 /dev/cdrom

>>>>>>>>>>

memory 16G

sga > 8G

需要使用bigpages in sysv

使用bigpages in shmfs出错

shmmax

如果这个参数设置不合理,可能造成安装数据库不成功

比如dbca等

对于ORACLE至少要设置物理内存的一半

可以使用echo "..." >/proc/sys/kernel/shmmax

对于4G内存的,建议用2G的shmmax

--dell的所有机器都只能支持16G,OS可以支持64G

swap至少是物理内存的大小

>>>>>>>>>>>

shmfs

SGA>1.7G to 7G 需要创建shmfs

创建shmfs的过程

/etc/fstab      --增加/dev/shm

/etc/rc.local

mount -t shm shmfs -o size=32g /dev/shm

or

mount -t shm shmfs -o nr_blocks=8388608

修改oracle init参数

use_indirect_data_buffer=true

>>>>>>>>>

lower mapped 可以不用shmfs就可以见SGA从1.7G到2.7G(至少4G内存)

比如echo 268435456 > /proc/$pid/mapped_base

run

genksms -s 0x15000000 >ksms.s

make -f ins_rdbms.mk ksms.o

make -f ins_rdbms.mk.ioracle

>>>>>>>>>

bigpages

就相当于大块

可以是4M大小的页

对enterprise kernel 可以提高性能,可以支持大SGA

可以通过cat /proc/meminfo查看bigpages

[root@crm_prim root]# cat /proc/meminfo

total:    used:    free:  shared: buffers:  cached:

Mem:  3691954176 3686764544  5189632 1456910336 227459072 1706139648

Swap: 8587083776 32186368 8554897408

MemTotal:      3605424 kB

MemFree:          5068 kB

MemShared:     1422764 kB

Buffers:        222128 kB

Cached:        1635240 kB

SwapCached:      30912 kB

Active:        2296884 kB

Inact_dirty:    867120 kB

Inact_clean:    147040 kB

Inact_target:   901324 kB

HighTotal:     2752384 kB

HighFree:         2036 kB

LowTotal:       853040 kB

LowFree:          3032 kB

SwapTotal:     8385824 kB

SwapFree:      8354392 kB

BigPagesFree:        0 kB  --没有使用BigPagesFree

在/etc/rc.local中设置

echo 2> /proc/sys/kernel/shm-use-bigpages (bigpages 在shmfs中)

echo 1> /proc/sys/kernel/shm-use-bigpages (bigpages 在sysv中)

echo 0> /proc/sys/kernel/shm-use-bigpages (没有bigpages功能)

在/etc/lilo.conf中加入

append="bigpages=xxxxMB"  --xxxx是page大小

>>>>>>>>

semmsl

推荐100

semmns

[root@crm_stby root]#  sysctl -a|grep sem

kernel.sem = 600        1024    100     128

>>>>>>>>

异步IO

ORACLE的默认IO是同步

make -f ins_rdbms.mk async_on

在ORACLE的初始化参数中设置

disk_asynch_io = true

相关的内核参数

/proc/sys/fs/aio-max-size

默认131072

对于oltp已经足够了,如果是dss可以设置成1M

注意在2.6内核这些都可以不用调整,现在好象还需要测试,as3.0默认也是2.4内核