Oracle数据库软件可以跑在几乎所有的Windows/Unix系列操作系统上,由于linux系统的易获得,开源,建议学习使用。(本次使用RedHat 5.3 32bit)
1)安装Linux操作系统
2)配置Linux操作环境
1.安装所需软件包(Linux安装软件包建议使用命令rpm -ivh Name.rpm 安装包一般都在光盘内,插入光盘后自动挂在/media 下)
--------------------------------------------------------------------------------
在CentOS 6.4下安装Oracle 11gR2(x64)
--------------------------------------------------------------------------------
rpm -ivh setarch-2*
rpm -ivh make-3*
rpm -ivh glibc-2*
rpm -ivh libaio-0*
rpm -ivh compat-libstdc++-33-3*
rpm -ivh compat-gcc-34-3*
rpm -ivh compat-gcc-34-c++-3*
rpm -ivh gcc-4*
rpm -ivh libXp-1*
rpm -ivh openmotif-2*
rpm -ivh compat-db-4*
rpm -ivh binutils-*
rpm -ivh control-center-*
rpm -ivh gcc-c++-*
rpm -ivh glibc-common-*
rpm -ivh gnome-libs-*
rpm -ivh libstdc++-*
rpm -ivh libstdc++-devel-*
ps:
linux每个版本安装oracle可能需要的安装包不一样,可以通过oracle联机文档查看所需包,安装思路是一样的。
如果碰到类似 glibc-devel >= 2.2.90-12 is needed by compat-gcc-34-3.4.6-4.i386意思是安装compat-gcc包前需要安装glibc-devel,所以先rpm -ivh glibc-devel* 安装完成后再安装compat-gcc ,下面是示例:
2.设置内核参数(/etc/sysctl.conf)
vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 101365
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.ip_local_port_range = 1024 65000
#/sbin/sysctl -p (使其立刻生效)
具体参数定义可以查看官方文档,也推荐David dai的一篇关于内核参数的文章,下面是传送门:
3.用户资源设置
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
4.用户shell资源设置
/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
For the Bourne, Bash, or Korn shell, add the following lines to the/etc/profile file:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5.设置用户登录验证模块设置
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
ps:
我们平常登陆实际上是运行一个程序login .
来叛断我们是不是这个用户,如果是的说就给我们shell.不是的话,就进不去.
而/etc/pam/login这件文件就是我们验证过程中需要经过哪些模块的认证.
根据设定来叛断我们的帐号密码是不是正确.
当这个文件有问题的时候,验证就会出错,尽管我的帐号密码是正常的,也进不去.
6.禁用SELINUX
编辑/etc/selinux/config,将SELINUX设置为SELINUX=disabled
7.添加oracle相关用户和组,并为其设置密码
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle -d /u01
# chmod -R 777 /u01
# chown oracle:oinstall /u01
# passwd oracle
8.修改操作系统版本信息(因为oracle10g检查不通过redhat5.3,我们要骗它说我们是4.0)
vi /etc/redhat-release
注释掉 #Red Hat Enterprise Linux Server release 5.2 (Tikanga)
添加 redhat-4
9.设置oracle用户环境变量
su - oracle(切换到oracle用户)
vi .bash_profile
添加如下内容
ORACLE_BASE=/u01; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=WILLSON;export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH
保存退出
su - oracle 重新登录使环境生效