一转成双 不能两全的爱:oracle11g 安装在rhel5

来源:百度文库 编辑:中财网 时间:2024/05/15 11:20:06
oracle11g 安装在rhel5-RHEL6
2011-10-26 21:43:50| 分类:linux下Oracle 10 | 标签: |字号大中小
安装后的体会: 其实安装oracle11g 并没有想象的的复杂 只要注意安装前检查所需的软件包 、建立oracle的环境变量、还有就是系统的权限 把握好以上三点安装起来其实非常简单. 好了,闲话少说 接下来介绍下安装过程吧
一、
1.检查系统硬件:oracle的官方要求是 内存至少为1G 交换空间为内存的2倍。
2.磁盘空间检查: /tmp 最好挂载空间有1G以上 否则安装过程中会有磁盘不足的提示


二、检查系统软件
1.内核版本:

2.软件件包检查:
Oracle 11g 对 Red Hat Enterprise Linux 5(32-bit)软件包要求:
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
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
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


以上软件包不能缺少,否则安装过程会中断, 软件包都在前三张光盘里的server中
三、修改linux内核参数
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
如果值大于要求的值则不必修改

现在我来介绍下如何修改参数
vi /etc/sysctl.conf
使内核参数立即生效
#sysctl -p
四、创建oracle用户和组
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
创建文件系统 /machenlong
改变文件系统/machenlong 的所有者,以便以后将数据库安装在/machenlong 文件系统上:
# chown oracle:oinstall /machenlong
五、为oracle用户设置环境变量(此步很重要)
1. 用文本编辑器 vi 编辑.bash_profile 参数文件:


添加以上参数
2.为oracle用户设置shell限制:
#vi /etc/security/limits.conf
添加以下参数

#vi /etc/pam.d/login
添加以下参数

在/etc/profile 文件中输入以下内容:

以上步骤是最麻烦的.剩下的就简单拉
六、解压oracle11g
#unzip linux_x86_11gR1_database.zip

记得用chmod 777 runInstaller 否则没有权限执行
然后注销后用oracle登录

我这里为了方便直接用root了..
大家要注销后oracle登录噢
然后基本上就和windows查不多的界面了
我来说下最后的问题

#sh oraInventory/orainstRoot.sh
# sh oracle/product/11.1.0/db_1/root.sh
体会与总结
在安装 Oracle 之前按要求配置操作系统是安装成功的关键
RHEL5.3 安装 oracle 11g
Oracle.netGCCLinuxBash
参考了以下三篇文章安装成功,特记录!
http://ithero.iteye.com/blog/315092
http://www.oracle.com/technology/global/cn/obe/11gr1_db/install/dbinst/dbinst.htm
http://linux.chinaunix.net/techdoc/database/2008/04/25/996956.shtml
建议,安装系统的时候将硬盘空间大于等于10G,可以单独弄一个大的分区来存放oracle安装后的程序,我此次实验系统共总就10G,完成的时候很险,差一点不够,安装oracle 11g 提示是需要3.4G,而我只有3.6G了。。。。
一、检查硬件需求
1、检查内存空间大小
[root@tech_002 ~]# grep MemTotal /proc/meminfo
MemTotal: 3041772 kB
2、查看交换分区swap
[root@tech_002 home]# grep SwapTotal
/proc/meminfo SwapTotal: 2031608 kB
3、假如交换分区空间不够,可以增加
创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G。
dd if=/dev/zero of=/home/swap bs=1024 count=5120000
5120000+0 records in
5120000+0 records out
5242880000 bytes (5.2 GB) copied, 39.3974 seconds, 133 MB/s
接着再把这个分区变成swap分区。
[root@tech_002 home]# /sbin/mkswap /home/swap
Setting up swapspace version 1, size = 5242875 kB
然后把它加到fstab里面
[root@tech_002 home]# echo "/home/swap swap swap defaults 0 0" >> /etc/fstab ; cat /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/home/swap swap swap defaults 0 0
4、oracle 11g 所必须的安装包
[root@tech_002 ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
binutils-2.17.50.0.6-9.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.137-3.el5
elfutils-libelf-devel-0.137-3.el5
glibc-2.5-34
glibc-common-2.5-34
glibc-devel-2.5-34
gcc-4.1.2-44.el5
gcc-c++-4.1.2-44.el5
libaio-devel-0.3.106-3.2
libaio-0.3.106-3.2
libgcc-4.1.2-44.el5
libstdc++-4.1.2-44.el5
libstdc++-devel-4.1.2-44.el5
make-3.81-3.el5
sysstat-7.0.2-3.el5
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
5、配置内核参数
cat >> /etc/sysctl.conf <kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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
EOF
然后执行
[root@tech_002 etc]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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
6、给系统添加oracle 用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
7、添加参数
cat >> /etc/security/limits.conf <oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <session required /lib/security/pam_limits.so
session required pam_limits.so
EOF
cat >> /etc/profile <if [ $USER = "oracle " ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
8、创建目录
mkdir -p /oracle_11/app/
chown -R oracle :oinstall /oracle_11/app/
chmod -R 755 /oracle_11/app/
sudo mkdir /oracle_11/tmp
sudo chmod a+wr /oracle_11/tmp
9、修改用户的shell
more /home/oracle /.bash_profile
# .bash_profile
umask 022
TMP=/oracle_11/tmp
TMPDIR=/oracle_11/tmp
export TMP TMPDIR
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/oracle_11/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11 .1.0/db_1
export ORACLE_SID=orcl
##注意,如果是想远程无界面安装oracle,在这里请用这行:export DISPLAY=10.10.10.254:0.0,并在远程安装的主机上启用Xmanager - Passive 程序 。
export DISPLAY=:0.0
export PATH=$ORACLE_HOME/bin:$PATH
#export ORA_CRS_HOME=$ORACLE_BASE/crs
#export ORACLE_PATH=$ORACLE_BASE/common/oracle /sql:.:$ORACLE_HOME/rdbms/admin
#export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:${PATH}:$HOME/bin
#export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
#export PATH=${PATH}:$ORACLE_BASE/common/oracle /bin
#export ORACLE_TERM=xterm
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$ORACLE_HOME/nls/data
#export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/lib
#export LIBPATH=$LIBPATH:$ORA_CRS_HOME/lib:$ORACLE_HOME/lib
#export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JRE
#export NLS_LANG=AMERICAN_AMERICA.ZHS16G
#export ORA_NLS10=$ORACLE_HOME/nls/data
以root身份打开另一个终端窗口
--这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面
#xhost +
#xhost + localhost
#su - oracle
$unzip linux_x86_11gR1_database.zip
$cd database/
$./runInstaller -ignoreSysPreReqs
如果是使用的远程无界面安装方式,需要在远程windows主机上打开Xmanager - Passive程序,当在oracle主机执行./runinstall的时候安装界面会出现在windows主机上。
然后就参照http://www.oracle.com/technology/global/cn/obe/11gr1_db/install/dbinst/dbinst.htm 官方进行安装!!
RHEL6安装Oracle 11g R2
1.使用DVD做yum源
1.1.
新建dvd挂载目录[root@oracle ~]# mkdir /media/iso
1.2.
挂载dvd到指定目录[root@oracle ~]# mount /dev/cdrom /media/iso/
1.3.
进入yum.repos.d文件夹,[root@oracle ~]# cd /etc/yum.repos.d/
1.4.
删除原有的repo文件[root@oracle yum.repos.d]# rm -rf *
1.5.
新建使用dvd为源的repo文件[root@oracle yum.repos.d]# vim iso.repo
[Server]
name=Server
baseurl=file:///media/iso/Server
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/iso/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/iso/LoadBalancer
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/iso/LoadBalancer
enabled=1
gpgcheck=0
1.6.清空原有yum信息
[root@oracle yum.repos.d]# yum clean all
1.7.更新yum
[root@oracle yum.repos.d]# yum update
2.安装依赖软件包
2.1.配置好yum源后,使用root用户安装软件包
[root@oracle ~]# cd /media/iso/Packages/
[root@oracle Packages]# yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
这些依赖包必须要安装,因为版本不同,在oracle安装时会提示缺少依赖包,忽略后可以正常安装使用Oracle。
3.修改内核参数
3.1.修改内核参数
[root@oracle ~]#vim /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
3.2.使内核参数实时生效
[root@oracle ~]# sysctl -p
4.新建用户和组
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba -m oracle
[root@oracle ~]# passwd oracle
5.为oracle用户设置Shell限制
5.1.修改/etc/security/limits.conf,加入
[root@oracle ~]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
5.2.修改/etc/pam.d/login,加入
[root@oracle ~]# vim /etc/pam.d/login
session required pam_limits.so
5.3.修改/etc/profile,加入
[root@oracle ~]# vim /etc/profile
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
6.新建安装目录
6.1.新建目录
[root@oracle ~]# mkdir -p /u01/app/oracle
6.2.设置目录所有权
[root@oracle ~]# chown oracle:oinstall /u01/app
6.3.设置目录权限
[root@oracle ~]# chmod -R 775 /u01/app
7.准备oracle安装文件
7.1修改/etc/hosts文件
[root@oracle ~]#vim /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.137.112 oracle.domain.com oracle
注意将主机名对应到真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上
7.2解压oracle安装文件包
[root@oracle u01]# unzip /media/linux.x64_11gR2_/linux.x64_11gR2_database_1of2.zip && unzip /media/linux.x64_11gR2_/linux.x64_11gR2_database_2of2.zip
7.3切换到oracle用户,图形界面登录,执行oracle安装文件
[oracle@oracle ~]$ cd /u01/database/
[oracle@oracle database]$ ./runInstaller

1.png (53.49 KB)
2011-7-5 19:51
可以留空,忽略错误

2.png (52.18 KB)
2011-7-5 19:51
选择安装软件并创建数据库,也可只安装软件不创建数据库

3.png (49.09 KB)
2011-7-5 19:51
选择Server版本

4.png (52.4 KB)
2011-7-5 19:51
单实例数据库

5.png (48.81 KB)
2011-7-5 19:51
高级模式

6.png (52.49 KB)
2011-7-5 19:51
添加中文支持

7.png (59.01 KB)
2011-7-5 19:51
企业版

8.png (59.81 KB)
2011-7-5 19:51
安装目录

9.png (54.42 KB)
2011-7-5 19:51

10.png (50.6 KB)
2011-7-5 19:51

11.png (58.69 KB)
2011-7-5 19:51
数据库名及服务名

12.png (69.73 KB)
2011-7-5 19:51
自动内存管理及其他设置

13.png (61.28 KB)
2011-7-5 19:51
启用oracle企业管理控制台OEM

14.png (53.82 KB)
2011-7-5 19:51
选择文件系统及数据库文件目录

15.png (63.97 KB)
2011-7-5 19:51
自动备份管理

16.png (54.72 KB)
2011-7-5 19:51
数据库的用户名密码设置

17.png (60.89 KB)
2011-7-5 19:51

18.png (68.75 KB)
2011-7-5 19:51
数据库预安装检测,缺乏软件包错误可忽略,是因软件版本引起的,只要确认安装了rhel6 dvd里的软件版本即可。

19.png (67.08 KB)
2011-7-5 19:51

20.png (80.55 KB)
2011-7-5 19:51
安装完成后根据提示用root身份执行两个sh脚本
8.让oracle和oem随机启动
8.1.修改/etc/oratab
[root@oracle ~]#vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y(N改为Y)
8.2.修改$ORACLE_HOME/BIN/dbstart和$ORACLE_HOME/BIN/dbshut[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改为$ORACLE_HOME)
8.3.建立启动脚本
[root@oracle ~]#/etc/rc.d/init.d/oracle
#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/racle11log
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdwn oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0
8.4.给脚本设置权限
[root@oracle ~]#chmod 755 /etc/rc.d/init.d/oracle
8.5.建立服务
[root@oracle ~]#chkconfig --add oracle
[root@oracle ~]#chkconfig oracle on
linux上shmmax参数的设置及含义
shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。
查看linux上该参数的值:
[root@tcl_A ~]# cat /proc/sys/kernel/shmmax
4294967295
[root@tcl_A ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
可以通过ipcs命令查看此设置下共享内存的分配,可以看到oracle分配了多少个内存段满足SGA设置需要
[root@tcl ~]# ipcs -sa
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x78e95ec0 0 oracle 640 612368384 89
------ Semaphore Arrays --------
key semid owner perms nsems
0x427ff554 98304 oracle 640 152
0x427ff555 131073 oracle 640 152
0x427ff556 163842 oracle 640 152
0x00000000 3637251 nobody 600 1
0x00000000 3670020 nobody 600 1
0x00000000 3702789 nobody 600 1
------ Message Queues --------
key msqid owner perms used-bytes messages
可以看见SGA使用了612368384bytes使用ps -ef|grep ora_查看oracle的进程PID
[root@tcl ~]# ps -ef|grep ora_
oracle 5479 1 0 Jul11 ? 00:01:34 ora_pmon_orcl
oracle 5481 1 0 Jul11 ? 00:00:01 ora_psp0_orcl
oracle 5483 1 0 Jul11 ? 00:00:00 ora_mman_orcl
oracle 5485 1 0 Jul11 ? 00:07:29 ora_dbw0_orcl
oracle 5487 1 0 Jul11 ? 00:24:49 ora_lgwr_orcl
oracle 5489 1 0 Jul11 ? 00:06:18 ora_ckpt_orcl
oracle 5491 1 0 Jul11 ? 00:02:04 ora_smon_orcl
oracle 5493 1 0 Jul11 ? 00:00:00 ora_reco_orcl
oracle 5495 1 0 Jul11 ? 00:01:55 ora_cjq0_orcl
oracle 5497 1 0 Jul11 ? 00:00:34 ora_mmon_orcl
oracle 5499 1 0 Jul11 ? 00:01:32 ora_mmnl_orcl
oracle 5501 1 0 Jul11 ? 00:00:00 ora_d000_orcl
oracle 5503 1 0 Jul11 ? 00:00:00 ora_s000_orcl
oracle 5519 1 0 Jul11 ? 00:00:00 ora_qmnc_orcl
oracle 5605 1 0 Jul11 ? 00:00:10 ora_q000_orcl
oracle 5607 1 0 Jul11 ? 00:00:06 ora_q001_orcl
oracle 7407 1 0 16:37 ? 00:00:00 ora_j001_orcl
使用pmap命令可以看到每个共享内存段的地址空间
查看PID为5493,进程为ora_reco_orcl使用的内存地址空间。
[root@tcl ~]# pmap 5493
5493: ora_reco_orcl
00110000 896K r-x-- /opt/app/oracle/product/10.2/lib/libhasgen10.so
001f0000 16K rwx-- /opt/app/oracle/product/10.2/lib/libhasgen10.so
001f4000 16K rwx-- [ anon ]
001f8000 468K r-x-- /opt/app/oracle/product/10.2/lib/libocr10.so
0026d000 4K rwx-- /opt/app/oracle/product/10.2/lib/libocr10.so
0026e000 4K rwx-- [ anon ]
0026f000 292K r-x-- /opt/app/oracle/product/10.2/lib/libocrb10.so
002b8000 4K rwx-- /opt/app/oracle/product/10.2/lib/libocrb10.so
002b9000 4K rwx-- [ anon ]
002ba000 344K r-x-- /opt/app/oracle/product/10.2/lib/libocrutl10.so
00310000 16K rwx-- /opt/app/oracle/product/10.2/lib/libocrutl10.so
00314000 4K rwx-- [ anon ]
00321000 4K rwx-- [ anon ]
00322000 76K r-x-- /lib/libnsl-2.5.so
00335000 4K r-x-- /lib/libnsl-2.5.so
00336000 4K rwx-- /lib/libnsl-2.5.so
00337000 160K rwx-- [ anon ]
0035f000 36K r-x-- /lib/libnss_files-2.5.so
00368000 4K r-x-- /lib/libnss_files-2.5.so
00369000 4K rwx-- /lib/libnss_files-2.5.so
0036a000 4K r-x-- /opt/app/oracle/product/10.2/lib/libskgxn2.so
0036b000 4K rwx-- /opt/app/oracle/product/10.2/lib/libskgxn2.so
0036c000 1912K r-x-- /opt/app/oracle/product/10.2/lib/libnnz10.so
0054a000 156K rwx-- /opt/app/oracle/product/10.2/lib/libnnz10.so
00571000 1036K rwx-- [ anon ]
00696000 104K r-x-- /lib/ld-2.5.so
006b0000 4K r-x-- /lib/ld-2.5.so
006b1000 4K rwx-- /lib/ld-2.5.so
006b2000 140K rwx-- [ anon ]
00762000 4K r-x-- [ anon ]
00796000 4K rwx-- [ anon ]
00800000 148K r-x-- /lib/libm-2.5.so
00825000 4K r-x-- /lib/libm-2.5.so
00826000 4K rwx-- /lib/libm-2.5.so
00829000 8K r-x-- /lib/libdl-2.5.so
0082b000 4K r-x-- /lib/libdl-2.5.so
0082c000 4K rwx-- /lib/libdl-2.5.so
0082f000 76K r-x-- /lib/libpthread-2.5.so
00842000 4K r-x-- /lib/libpthread-2.5.so
00843000 4K rwx-- /lib/libpthread-2.5.so
00844000 8K rwx-- [ anon ]
00846000 1276K r-x-- /lib/libc-2.5.so
00985000 8K r-x-- /lib/libc-2.5.so
00987000 4K rwx-- /lib/libc-2.5.so
00988000 12K rwx-- [ anon ]
009ed000 4K rwxs- /opt/app/oracle/product/10.2/dbs/hc_orcl.dat
00ac7000 32K r-x-- /opt/app/oracle/product/10.2/lib/libclsra10.so
00acf000 4K rwx-- /opt/app/oracle/product/10.2/lib/libclsra10.so
00b3f000 140K rwx-- [ anon ]
00c03000 8K rwx-- [ anon ]
00ce7000 132K r-x-- /opt/app/oracle/product/10.2/lib/libskgxp10.so
00d08000 8K rwx-- /opt/app/oracle/product/10.2/lib/libskgxp10.so
00d4e000 140K rwx-- [ anon ]
00db7000 92K r-x-- /opt/app/oracle/product/10.2/lib/libdbcfg10.so
00dce000 8K rwx-- /opt/app/oracle/product/10.2/lib/libdbcfg10.so
00de1000 4K r-x-- /usr/lib/libaio.so.1.0.1
00de2000 4K rwx-- /usr/lib/libaio.so.1.0.1
00e62000 4K rwx-- [ anon ]
00e86000 4K rwx-- [ anon ]
00e87000 7060K r-x-- /opt/app/oracle/product/10.2/lib/libjox10.so
0156c000 264K rwx-- /opt/app/oracle/product/10.2/lib/libjox10.so
015ae000 4K rwx-- [ anon ]
08048000 79720K r-x-- /opt/app/oracle/product/10.2/bin/oracle
0ce22000 340K rwx-- /opt/app/oracle/product/10.2/bin/oracle
0ce77000 120K rwx-- [ anon ]
0d71f000 264K rwx-- [ anon ]
20000000 598016K rwxs- [ shmid=0x0 ]
b7e9b000 84K rwx-- /dev/zero
b7eb0000 64K rwx-- /dev/zero
b7ec0000 64K rwx-- /dev/zero
b7ed0000 64K rwx-- /dev/zero
b7ee0000 64K rwx-- /dev/zero
b7ef0000 64K rwx-- /dev/zero
b7f00000 108K rwx-- /dev/zero
bfa40000 84K rwx-- [ stack ]
total 694264K
如果设置的shmmax小于SGA,SGA被分配到多个内存共享段。修改shmmax值大于sga
修改shmmax方法:
echo 4294967295 /proc/sys/kernel/shmmax
对于shmmax文件的修改,系统重启后会复位,可以通过修改/etc/sysctl.conf使修改永久化。
在/etc/sysctl.conf
增加
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
使用sysctl -p生效
重启数据库使更改生效
如果没有修改shmmax参数,在oracle启动过程中会出现以下错误
Starting ORACLE instance (normal) Thu Nov 17 09:27:29 2005 WARNING: EINVAL creating segment of size 0x0000000033400000 fix shm parameters in /etc/system or equivalent