【原创】redhat5安装oracle10g


安装缺失的包:

用 root 用户身份运行以下命令:

rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
如果采用默认安装,该命令执行后通常会提示openmotif,compat-db,compat-
gcc,compat-gcc-c++,compat-libstdc++,compat-libstdc++-devel 没有安装。
如果没有安装,加载光驱并挂载,安装相关的包:
1.1          在/mnt 下创建cdrom
1.2          将光盘放入光驱
1.3          执行命令 mount -t iso9660 /dev/cdrom /mnt/cdrom
命令执行后/mnt/cdrom下将产生光盘下面的文件
1.4          进入光盘目录下  cd /mnt/cdrom/Server

由于缺失的包之间有严格的依赖关系,所以必须按照如下顺序安装缺失的包:

rpm -Uvh compat-db-4*
rpm -Uvh libaio-0*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh glibc-headers-2.5-12.i386.rpm
rpm -Uvh glibc-devel-2.5-12.i386.rpm
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh gcc-4*
rpm -Uvh glibc-2.5-12.i686.rpm
rpm -Uvh libgomp-4.1.1-52.el5.i386.rpm
rpm -Uvh gcc-4.1.1-52.el5.i386.rpm
=========================
rpm -aid gcc-4.1.1-52.el5.i386.rpm
(一)安装oracle
---------------------------------
1.查看oracle支持的最高redhat版本是多少?(oracle 10g支持4以下版本)
修改 vi /etc/redhat-release  中的版本符合其要求,并注意在安装完成后改回来
使用lsb_release -a查看修改后的版本:
2.修改 vi /etc/hosts 文件,删除文件内容,添加如下两行:
127.0.0.1    localhost
IP地址      主机名称

3.配置 vi /etc/sysctl.conf 文件,追加下面内容:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
最后使用 /sbin/sysctl -p 命令使其生效

4.创建oracle用户和组

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
passwd oracle

usermod -g oinstall -G dba oracle

5.创建oracle目录并授权

mkdir -p /oracle/database
chown -R oracle:oinstall /oracle/orcl
chmod -R 775 /oracle/orcl
6.Oracle10g建议对每个linux 帐户可以使用的进程数和打开的文件数设置限制,那么我们需要用root身份修改(使用vi命令)4个文件:
⑴往/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
--------------------------------------------------这里的配置没有用到
⑶往/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
⑷往/etc/csh.login文件里追加以下内容:
if ( $USER == "oracle" ) then
  limit maxproc 16384
  limit descriptors 65536
  umask 022
endif 

(5)修改
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
#SELINUXTYPE=targeted
SELINUXTYPE=disabled
这部操作后如果有界面出现问题,可以重启一下就好了


7.(oracle身份)切换到oracle帐户下(su oracle),往~/.bash_profile文件里追加环境参数:

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/
export ORACLE_HOME
ORACLE_SID=ORCL
export ORACLE_SID
ORACLE_TERM=xterm
export ORACLE_TERM
PATH=/usr/sbin:$PATH
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
#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
export LANG=en_US.utf8
export LANGUAGE=en_US.utf8
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
export LC_ALL=en_US.utf8

保存后使用source ~/.bash_profile命令使设置生效。

8.使用oracle身份登陆linux界面,进入到解压后的文件夹内
运行文件,命令:./runInstaller 

(二)如何设置oracle开机自动启动
-------------------------------
1、需要将oracle10g的脚本文件拷贝到共享目录下,例如software中
2、将文件拷贝到/etc/init.d/目录下命令:cp oracle10g /etc/init.d/
3、修改oracle10g文件内容命令:
vi etc/init.d/oracle10g
将以下内容修改:
ORACLE_HOME=/oracle/product/10.2.0/db_1(将oracle的路径修改正确)
PATH=$PATH:/bin:/usr/bin:/usr/local/bin:$ORACLE_HOME/bin
ORACLE_OWNER=oracle
export ORACLE_HOME PATH
保存: 
:wq
4、修改文件/oracle/product/10.2.0/db_1/bin/dbstart
命令:vi /oracle/product/10.2.0/db_1/bin/dbstart
将以下内容修改:
ORACLE_HOME_LISTNER=/oracle/product/10.2.0/db_1/(将oracle监听的路径修改正确)
保存:
:wq
5、修改文件etc/oratab
如果没有此文件,请执行/oracle/product/10.2.0/db_1目录下的root.sh文件
命令:vi etc/oratab
将以下内容修改:
tlwebdb:/oracle/product/10.2.0/db_1:Y(将N修改成Y,注意必须大写)
保存:
 :wq
6、添加环境变量,有两个文件:/root/.bash_profile、/home/oracle/
命令:vi /root/.bash_profile
添加以下内容:
ORACLE_HOME=/oracle/product/10.2.0/db_1(将oracle的路径填写正确)
export ORACLE_HOME PATH
保存:
:wq
7、添加服务命令:
chkconfig --add oracle10g
查看服务命令
chkconfig --list oracle10g
8、启动oracle服务命令:
service oracle10g start
9、查看以下oracle服务和监听是否起来了命令:
ps -Af
10、关闭oracle服务命令:
service oracle10g stop
原文地址:https://www.cnblogs.com/zhangxsh/p/3494462.html