数据库版本:Oracle 10.2.0.1 Enterprise Edition x86_64
操作系统版本:Oracle Linux 5.7 x86_64
注:#表示为root用户下输入该命令,$表示为oracle用户下输入该命令。
1.创建用户和组
# groupadd -g 501 oinstall
# groupadd -g 502 dba
# useradd -g oinstall -G dba oracle
# passwd oracle
2.检查硬件配置信息。
# cat /proc/meminfo | grep MemTotal
# cat /proc/meminfo | grep SwapTotal
8G及8G以上,建议swap为物理内存的75%
# df –h 检查磁盘空间
# df -h /tmp
# cat /proc/version 检查系统版本
3.检查安装包是否安装
binutils-2.17.50.0.6*
compat-libstdc++-33-3.2.3*
elfutils-libelf-0.137*
elfutils*
gcc-4.1.2*
gcc-c++-4.1.2*
glibc-2.5-42*
glibc-common-2.5*
glibc-devel-2.5*
glibc-devel-i386
glibc-headers-2.5*
ksh-20080202*
libaio-0.3.106*
libaio-devel-0.3.106*
libgcc-4.1.2*
libstdc++-4.1.2*
libstdc++-devel-4*
make-3.81*
sysstat-7.0.2*
unixODBC-2.2.11*
unixODBC-devel-2.2.11*
libXp-1.0.0-8.1.el5.i386
4.配置内核参数
添加以下内容到/etc/sysctl.conf:
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- fs.file-max = 101365
- net.ipv4.ip_local_port_range = 1024 65500
- net.core.rmem_default=4194304
- net.core.rmem_max=4194304
- net.core.wmem_default=262144
- net.core.wmem_max=262144
# sysctl -p
5.设置oracle用户shell限制
# echo 'oracle soft nproc 2047' >> /etc/security/limits.conf
# echo 'oracle hard nproc 16384' >> /etc/security/limits.conf
# echo 'oracle soft nofile 1024' >> /etc/security/limits.conf
# echo 'oracle hard nofile 65536' >> /etc/security/limits.conf
# echo 'session required /lib/security/pam_limits.so' >> /etc/pam.d/login
# echo 'session required pam_limits.so' >> /etc/pam.d/login
添加以下内容到/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
6.创建需要的目录
# mkdir -p /u01/oracle
# chown -R oracle:oinstall /u01/oracle
# chmod -R 775 /u01
7.配置oracle用户环境
添加以下内容到/home/oracle/.bash_profile:
- export ORACLE_BASE=/u01/oracle
- export ORACLE_HOME=$ORACLE_BASE/10.2.0
- export ORACLE_SID=orcl
- export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/lib/bulitins
- export PATH=$PATH:/usr/X11R6/bin:$ORACLE_HOME/bin
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib:/usr/X11R6/lib
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdk/jre/lib/i386
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdk/jre/lib/i386/server
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/rdbms/lib
- export CLASS_PATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib
- export CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/rdbms/jlib
- export CLASS_PATH=$CLASS_PATH:$ORACLE_HOME/network/jlib
- export SHLIB_PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32
- export NLS_LANG=american_america.ZHS16GBK
8.配置IP和主机名对应
# hostname 查看主机名
# echo 'host_ip host_name' >> /etc/hosts
# reboot 重启系统
以oracle用户登录,否则会出现环境变量没有生效,无法启动图形界面安装这两个问题。
$ export LANG=en.US_UTF-8 避免出现乱码
$ ./runInstaller -ignoreSysPrereqs 加该参数忽略系统版本检查。
安装完oracle软件后根据版本安装相应补丁
$ dbca
PS:
在安装oracle软件时报错
error in invoking target 'install' of makefile '/u01/oracle/10.2.0/orcl/ctx/lib/ins_ctx.mk'.
解决办法:
一般出现该错误都是gcc或者相应的lib包没装好。
这次出现错误是因为缺少32位的lib文件,需要装上glibc-devel-i386包。。。
在dbca建库的时候报错
ORA-27125:unable to create shared memory segment
解决方法:
1.确定安装oracle所使用的用户组
在oracle用户下执行命令id
可以看到oracle组dba id 502
2.修改内核参数
echo "502" >/proc/sys/vm/hugetlb_shm_group
在dbca建库的时候报错
ORA-00600:internal error code,arguments
解决方法:设置IP和主机名对应