===可参考support.oracle.com 官方安装文档

https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGJCEA

 

硬件:

df -h /tmp                                                        //一般满足1GB即可

grep MemTotal /proc/meminfo                      // 生产环境一般需要8G以及以上

grep SwapTotal /proc/meminfo                      // 一般设置8--32Gb之间即可

Available RAMSwap Space Required

Between 1 GB and 2 GB1.5 times the size of the RAM

Between 2 GB and 16 GBEqual to the size of the RAM

More than 16 GB16 GB

grep "model name" /proc/cpuinfo                 //查看CPU型号

dmidecode -s system-product-name             //查看主机是物理机还是虚拟机

 

1、修改主机名(需要reboot生效)

[root@rhel68-oracle ~]# cat /etc/sysconfig/network

HOSTNAME=rhel68-oracle

 

[root@rhel68-oracle ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain

192.168.56.222 rhel68-oracle

 

2、关闭防火墙

[root@rhel68-oracle ~]# service iptables stop

[root@rhel68-oracle ~]# service iptables status

iptables: Firewall is not running.

 

[root@rhel68-oracle ~]# chkconfig iptables off

[root@rhel68-oracle ~]# chkconfig --list|grep iptables

iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:of

 

3、关闭selinux

[root@rhel68-oracle ~]# vi /etc/selinux/config

修改SELINUX=disabled

 

4、安装Oracle依赖

==yum安装所需的rpm包

[root@rhel68-oracle ~]#  yum install binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel unixODBC unixODBC-devel

 

==rpm检查是否已安装所需rpm包

[root@rhel68-oracle ~]#  rpm -qa binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel unixODBC unixODBC-devel

 

5、创建orcale用户,将其加入dba组

[root@rhel68-oracle ~]#  groupadd -g 1000 oinstall 

[root@rhel68-oracle ~]#  groupadd -g 1001 dba

[root@rhel68-oracle ~]#  usermod -g oinstall -G dba oracle    (if the oracle user exists)

[root@rhel68-oracle ~]#  useradd -u 2001 -g oinstall -G dba -m -d /home/oracle -s /bin/bash oracle      (if the oracle user not exists)

[root@rhel68-oracle ~]#  passwd oracle   (设置密码)

 

6、修改内核参数

[root@rhel68-oracle ~]# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

 

使配置生效,命令如下:

[root@rhel68-oracle ~]# /sbin/sysctl -p

 

kernel.shmall = 2097152  (内存/4096 getconf PAGESIZE 获取OS块大小)       //重点关注

kernel.shmmax = 8589934592 (一般设置为物理内存的大小或至少一半内存)    //重点关注

kernel.shmmni:整个系统共享内存段的最大数目

fs.file-max:系统中所允许的文件句柄最大数目

net.core.rmem_default:套接字接收缓冲区大小的缺省值

net.core.rmem_max:套接字接收缓冲区大小的最大值

net.core.wmem_default:套接字发送缓冲区大小的缺省值

net.core.wmem_max:套接字发送缓冲区大小的最大值

net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围

 

7、修改用户限制

[root@rhel68-oracle ~]# vi /etc/security/limits.conf

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft stack 10240

oracle hard stack 32768

 

Log in as an installation owner.

Check the soft and hard limits for the file descriptor setting. 

[oracle@rhel68-oracle ~]$ ulimit -Sn

[oracle@rhel68-oracle ~]$ ulimit -Hn

 

Check the soft and hard limits for the number of processes available to a user.

[oracle@rhel68-oracle ~]$ulimit -Su

[oracle@rhel68-oracle ~]$ulimit -Hu

 

Check the soft limit for the stack setting. 

[oracle@rhel68-oracle ~]$ulimit -Ss

[oracle@rhel68-oracle ~]$ulimit -Hs

 

8、修改用户验证选项,行末添加一句

[root@rhel68-oracle ~]# vi /etc/pam.d/login

session required pam_limits.so 

 

9、修改安装所有者在shell下的ulimit限制

[root@rhel68-oracle ~]# vi /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

 

10、创建目录

[root@rhel68-oracle ~]# mkdir -p /u01/app/oracle

[root@rhel68-oracle ~]# mkdir -p /u01/app/oraInventory

[root@rhel68-oracle ~]# mkdir -p /data/oradata

[root@rhel68-oracle ~]# chown -R oracle:oinstall /u01/app/oracle

[root@rhel68-oracle ~]# chown -R oracle:oinstall /u01/app/oraInventory

[root@rhel68-oracle ~]# chown -R oracle:oinstall /data

[root@rhel68-oracle ~]# chmod -R 775 /u01/

 

11、设置oracle用户环境变量

[oracle@rhel68-oracle ~]$ vi .bash_profile

[oracle@rhel68-oracle ~]$ cat .bash_profile 

export ORACLE_SID=hccdb

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'

export TNS_ADMIN=$ORACLE_HOME/network/admin

export PATH=PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

umask 022

 

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

 

查看环境配置是否完成

source .bash_profile

env | grep ORA

 

===安装rlwrap:rlwrap工具可以解决linux下sqlplus提供浏览历史命令行的功能,和删除先前输入错误的字母等问题。

A、安装rlwrap依赖rpm包

[root@rhel68-oracle ~]# rpm -Uvh libtermcap-devel-2.0.8-39.i386.rpm

[root@rhel68-oracle ~]# rpm -Uvh readline-4.3*

[root@rhel68-oracle ~]# rpm -Uvh readline-devel-4.3-13.i386.rpm

[root@rhel68-oracle ~]# rpm -qa|grep readline

readline-6.0-4.el6.x86_64

readline-devel-6.0-4.el6.x86_64

 

B、编译安装rlwrap工具

[root@rhel68-oracle ~]# tar -zxvf rlwrap-0.28.tar.gz

[root@rhel68-oracle ~]# cd rlwrap-0.28

[root@rhel68-oracle ~]# ./configure

[root@rhel68-oracle ~]# make

[root@rhel68-oracle ~]# make install

[root@rhel68-oracle ~]# rlwrap  (此时已经安装完毕,查看rlwrap用法)

[root@rhel68-oracle ~]# vi /home/oracle/.bash_profile 加入下面两句

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

 

12、图形界面安装过程

1、解压文件
[root@rhel68-oracle ~]# su - oracle
[oracle@rhel68-oracle ~]$ cd /home/oracle
[oracle@rhel68-oracle ~]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@rhel68-oracle ~]$ unzip p13390677_112040_Linux-x86-64_2of7.zip

p6880880_112000_Linux-x86-64.zip  (opatch工具包)
p21948347_112040_Linux-x86-64.zip  (PSU 补丁包安装请看我写的其他文章)

 

2、安装(使用VNC登陆,远程至桌面系统)
[root@rhel68-oracle ~]#  rpm -qa|grep vnc  (需要安装tigervnc,如果没有就yum install tigervnc)
tigervnc-server-1.1.0-18.el6.x86_64

[root@rhel68-oracle ~]# xhost +
[root@rhel68-oracle ~]# su - oracle
[oracle@rhel68-oracle ~]$ export DISPLAY=10.31.5.88:1.0
若出现乱码,选择以下其他一个LANG环境变量即可
[oracle@rhel68-oracle ~]$ export
[oracle@rhel68-oracle ~]$ export.UTF-8

[oracle@rhel68-oracle ~]$ cd /home/oracle
[oracle@rhel68-oracle ~]$ cd database
[oracle@rhel68-oracle ~]$ ./runInstaller

 

图形化安装过程省略... 自行解决。(建议仅仅安装数据库软件,后面通过DBCA建库)

 

3、安装最后执行2个脚本(root下执行)
[root@rhel68-oracle ~]# /u01/app/oraInventory/orainstRoot.sh
[root@rhel68-oracle ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh

 

4、返回图形化安装界面,确认即可,安装结束。

 

5、DBCA建库(注意字符集的选择、AMM或ASMM内存管理、专有服务器模式、进程数设置)

 

6、NETCA创建监听(或者手动配置listener.ora和tnsnames.ora文件,请查看网络配置文章)

 

7、Opatch PSU 打补丁(请查看PSU补丁文章)

 

 


Focus On Technology,Thanks To My Family And Friends ! 

                        ---Elegent_Shu---