安装前须知:

内存(RAM)的最小要求是 1GB,建议 2GB 及以上。

虚拟内存 swap 建议:内存为 1GB~2GB 时建议swap大小为内存大小的 1.5 倍;内存为 2GB~16GB 时建议swap大小为内存的大小;内存超过 16GB 时swap保持16GB。要求临时文件目录,如 /tmp 的磁盘空间至少 1GB。

磁盘空间要求:

企业版为4.35GB的安装空间和1.7GB以上的数据文件空间。

标准版为4.22GB的安装空间和1.5GB以上的数据文件空间。

需要 X window 图形界面。

需要 root 用户权限。


本文安装环境:

操作系统:CentOS release 6.4 (Final)

IP 地 址:192.168.1.200(静态)

机器名称:RHEL64

Oracle版:Oracle 11gR2(x64)

VMware版:VMware Workstation 10

分区情况:

/boot  放在最前面512M

/      根分区61440M

swap   交换分区,内存小于2G是内存的2倍,内存大于2G,填写2G


(1)、软件下载

下载地址:(不同时期,下载地址可能会变,建议大家到官网相关模块查找)

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html


参考如下图片,先要点击Accept License Agreement,然后再下载相关版本的软件,本文选用的是:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

wKiom1QcNmOxUNHOAAcbRhzcSSk881.jpg


(2)、安装Linux系统,此步骤可以参考以前的博文,如下:


博文地址:http://alipay.blog.51cto.com/7119970/1542040


(3)、上传软件到Linux虚拟机上面,本文使用的是WinSCP,上传方式很多,大家可以使用自己使用自己喜欢的方式。


功能简介:

WinSCP是一款支持SSH(Secure SHell)的SCP(Secure CoPy)文件传输软件。只要文件主机支持SSH协定,你就可以安心的下载、上传文件。他的操作界面是参考NC(Norton Commander)的双视窗排列方式,使用起来不会有太大的困难。在WinSCP中,一般的文件操作都没有问题,如:复制、移动、更名文件或文件夹等。


WinSCP下载地址:

http://dlsw.baidu.com/sw-search-sp/soft/3b/15150/winscp555setup.1410763925.exe


安装完成之后连接主机:(主机IP:192.168.1.200)


wKioL1QdBriA93OqAAHH-jMnFww521.jpg


wKiom1QcOMujTIN-AABnx1NA0PI733.jpg


wKioL1QcOObB_JowAAFXrvinbqc071.jpg


从左边往右边拖拽,即可把windows系统的文件上传到Linux的相关目录


wKiom1QdBqDDyzCJAAJo2R1DDM0790.jpg


正在上传...


wKioL1QcOPWxqjsDAADjYr76bJQ094.jpg



如下图,可以看出linux.x64_11gR2_database已经上传到了linux的/root/Download目录


wKiom1QcOOXDMtjVAAIbr7y0GVU738.jpg



(3)、挂载光盘,安装相关的软件依赖包,这里以CentOS-6.4-x86_64为准,实际安装的时候根据本机的版本来确定具体的软件版本。


在Linux中挂载光盘见文章:

http://alipay.blog.51cto.com/7119970/1542659


安装Oracle需要的软件包:


binutils-2.20.51.0.2-5.36.el6.x86_64.rpm

compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm 

elfutils-libelf-0.152-1.el6.x86_64.rpm 

elfutils-libelf-devel-0.152-1.el6.x86_64.rpm 

gcc-4.4.7-3.el6.x86_64.rpm

gcc-c++-4.4.7-3.el6.x86_64.rpm 

glibc-2.12-1.107.el6.x86_64.rpm

glibc-common-2.12-1.107.el6.x86_64.rpm 

glibc-devel-2.12-1.107.el6.x86_64.rpm 

glibc-headers-2.12-1.107.el6.x86_64.rpm 

kernel-headers-2.6.32-358.el6.x86_64.rpm 

pdksh-5.2.14-37.el5_8.1.x86_64

libaio-0.3.107-10.el6.x86_64.rpm

libaio-devel-0.3.107-10.el6.x86_64.rpm 

libgcc-4.4.7-3.el6.x86_64.rpm 

libgomp-4.4.7-3.el6.x86_64.rpm

libstdc++-4.4.7-3.el6.x86_64.rpm

libstdc++-devel-4.4.7-3.el6.x86_64.rpm 

make-3.81-20.el6.x86_64.rpm 

numactl-devel-2.0.7-6.el6.x86_64.rpm 

sysstat-9.0.4-20.el6.x86_64.rpm 

unixODBC-2.2.14-12.el6_3.x86_64.rpm  

unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm 


pdksh-5.2.14-37.el5_8.1.x86_64.rpm

下载地址:

http://down.51cto.com/data/1875073


使用本地YUM仓安装相关软件:

[root@RHEL64 ~]# yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat libXp unixODBC unixODBC-devel

CentOS release 6.4 (Final)本地yum仓的安装:

http://alipay.blog.51cto.com/7119970/1542693


(4)、使用root创建相关账号,修改系统内核相关参数

创建组:

[root@RHEL64 ~]#groupadd oinstall
[root@RHEL64 ~]#groupadd dba
[root@RHEL64 ~]#groupadd oper

如果组不存在则使用如下:

[root@RHEL64 ~]# useradd -g oinstall -G dba,oper oracle
[root@RHEL64 ~]# passwd oracle

创建用户:如果用户已经存在,请使用

[root@RHEL64 ~]#usermod -a -G dba,oper oracle


查看Linux系统内核参数:

[root@RHEL64 ~]# grep ^[^#] /etc/sysctl.conf 
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
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296


内核参数说明:

fs.file-max = 6815744

fs.aio-max-nr=1048576

#一次能够使用的内存总量,以页为单位,I386平台,Linux页大小为4K, 64位操作系统修改为4194304

kernel.shmall = 2097152

#定义共享内存段的最大大小,以字节为单位。默认为32M   (32位系统最大2G,64位操作系统根据内存大小修改)

kernel.shmmax = 2147483648

#定义共享内存段的最大数量,缺省4096

kernel.shmmni = 4096

#sem其实是semaphores的缩写

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 = 1048576


修改内核参数:

[root@RHEL64 ~]# cat << EOF >>/etc/sysctl.conf 
fs.file-max = 6815744
fs.aio-max-nr=1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576
EOF

使内核参数生效:

[root@RHEL64 ~]# /sbin/sysctl -p
#如果有如下提示错误,忽略,因为即使未修改参数也提示有这个错误
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key

修改系统资源限制:

[root@RHEL64 ~]# cat << EOF >>/etc/security/limits.conf 
> oracle soft nproc 2047
> oracle hard nproc 16384
> oracle soft nofile 1024
> oracle hard nofile 65536
> oracle soft stack 10240
> EOF

检验设置:

[root@RHEL64 ~]# grep ^[^#] /etc/security/limits.conf 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

 编辑文件 vi /etc/pam.d/login,添加如下行(11gR1有要求,R2没有要求):

[root@RHEL64 ~]# grep ^[^#] /etc/pam.d/login
[root@RHEL64 ~]# cat << EOF >>/etc/pam.d/login
> session    required     pam_limits.so
> EOF
[root@RHEL64 ~]# grep ^[^#] /etc/pam.d/login

编辑 vi /etc/profile 文件,添加如下行(11gR1有要求,R2没有要求):

[root@RHEL64 ~]# cat << EOF >>/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

关闭SELinux,修改该文件可使重启系统后不启动SELinux。

(关闭当前已开启的SELinux使用如下命令:setenforce 0)

[root@RHEL64 ~]# vi /etc/selinux/config
SELINUX=disable


编辑文件 vi /etc/hosts,添加一行:

192.168.1.200 RHEL64

若不进行此操作会在安装时弹出警告,并且可能影响监听程序的正常运行,所以建议做这个修改。

注意:此处要根据自己的机器名称来修改,否则安装过程会出现如下:[INS-06101] IP address of localhost could not be determined 错误。

[root@RHEL64 ~]# cat << EOF >>/etc/hosts
> 192.168.1.200 RHEL64
> EOF


创建所需的目录:

[root@RHEL64 ~]# mkdir /opt/oracle
[root@RHEL64 ~]# chown oracle:oinstall /opt/oracle/
[root@RHEL64 ~]# chmod 755 /opt/oracle/
[root@RHEL64 ~]# mkdir /opt/oracle/11g
[root@RHEL64 ~]# chown oracle:oinstall /opt/oracle/11g/
[root@RHEL64 ~]# chmod 755 /opt/oracle/11g/

 安装时还需要设置 Inventory 目录,所以需创建该目录:

[root@RHEL64 ~]# mkdir /opt/oraInventory
[root@RHEL64 ~]# chown oracle:oinstall /opt/oraInventory/
[root@RHEL64 ~]# chmod 755 /opt/oraInventory/

解压Oracle数据库安装包:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

[root@RHEL64 Downloads]# unzip linux.x64_11gR2_database_1of2.zip; unzip linux.x64_11gR2_database_2of2.zip;
[root@RHEL64 Downloads]# ll
total 2295812
drwxr-xr-x. 8 root root       4096 Aug 21  2009 database
-rw-r--r--. 1 root root 1239269270 Sep 18 21:28 linux.x64_11gR2_database_1of2.zip
-rw-r--r--. 1 root root 1111416131 Sep 18 21:39 linux.x64_11gR2_database_2of2.zip
-rw-r--r--. 1 root root     210877 Sep 20 08:52 pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[root@RHEL64 Downloads]# chmod -R 700 /home/oracle/database/
[root@RHEL64 Downloads]# chown -R oracle:oinstall /home/oracle/database/


(5)、退出 root,以 oracle 身份登录

[root@RHEL64 Desktop]# su - oracle
[oracle@RHEL64 ~]$ pwd
/home/oracle
[oracle@RHEL64 ~]$ cat << EOF >>/home/oracle/.bash_profile
> ORACLE_BASE=/opt/oracle; 
> ORACLE_HOME=$ORACLE_BASE/11g; 
> ORACLE_SID=orcl; 
> LD_LIBRARY_PATH=$ORACLE_HOME/lib;
> PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin;
> export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH;
> stty erase ^H
> EOF

保存退出后执行如下命令使以上设置立即生效:

oracle@RHEL64 ~]$ source /home/oracle/.bash_profile

开始安装:

[oracle@RHEL64 ~]$ export LANG=en_US

[oracle@RHEL64 database]$ pwd

/home/oracle/database

[oracle@RHEL64 database]$ ./runInstaller 

Starting Oracle Universal Installer...


Checking Temp space: must be greater than 120 MB.   Actual 42133 MB    Passed

Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed

Checking monitor: must be configured to display at least 256 colors.    Actual 16777216    Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-09-20_04-50-37PM. Please wait ...[oracle@RHEL64 database]$ 



(1)、以下进入图像安装界面,输入电子邮箱,点击next按钮

wKiom1QdT7-wEIjuAAI44LfdGhg025.jpg

(2)、由于我的机器没有连接外网,提示我输入代理信息,选中复选框,点击Continue按钮

wKioL1QdT9zzDrobAACzFeGSsg8246.jpg

(3)、选中第一项,在安装完成时创建并简单配置数据库,点击next

wKiom1QdTmfAoVcPAAHmdjf_i4U506.jpg

(4)、选中Server Class,点击next

wKiom1QdTmrwQ75FAAJWXKAoNNg093.jpg

(5)、以单例模式安装(若安装RAC,选择下一项),点击next

wKioL1QdTorjjlYVAAHcugraA5k329.jpg

(6)、选中Advanced install,点击next

wKiom1QdTnHg1_WbAAJvvXUDBQs069.jpg

(7)、安装程序界面上的语言,默认English即可,点击next

wKioL1QdTpHykdHfAAKRhS7D8i4915.jpg

(8)、选择安装企业版,点击next

wKioL1QdTpaTpeGJAAMR8kHDZyc301.jpg

(9)、安装基目录和Home目录,由于我们已设置好环境变量Oracle_BASE和ORACLE_HOME,此处无需再选择,点击next

wKiom1QdToHhbR9BAAJ5YmWMJ1k010.jpg

(10)、以oinstall群组身份进行安装,点击next

wKioL1QdTqLT774TAAK4CY8lqAg660.jpg

(11)、安装用于事务处理的数据库(数据仓库选中下一项),点击next

wKiom1QdTonjH0uLAAKF-IYeUNg299.jpg

(12)、由于我们已设置好环境变量ORACLE_SID,所以此步无需修改,点击next

wKioL1QdTqrj6JNkAALGlY9BgNI679.jpg

(13)、可使用的最大内存,Oracle建议使用自动内存管理,点击选项卡Character sets选择字符集

wKiom1QdTpLzProSAANtIDg00EY347.jpg

(14)、选择UTF-8作为数据库字符集,点击Sample Schemas顺便创建Oracle提供的案例

wKiom1QdTpfwkrykAAMviMBjJzs645.jpg

(15)、选中复选框,点击next

wKioL1QdTriQfgtuAAKosMmXV3A540.jpg

(16)、根据需要设置,点击next

wKiom1QdTqDxpYweAANOzfXZq-Q477.jpg

(17)、此步可选择数据文件的存储方式,我选了简单的文件系统,点击next

wKioL1QdTsKwEh7WAAOTEQ3X850002.jpg

(18)、是否启用自动备份,在生产环境还是启用的好,点击next

wKiom1QdTqqzs7sbAALGutImqs4619.jpg

(19)、为系统管理帐号设置密码,输入完后点击next

wKiom1QdTrvThsReAAN4FFiLCcA513.jpg

(20)、选择DBA帐号所属群组(可使用conn / as sysdba登录数据库)和oper帐号所属群组,点击next

wKioL1QdTtzBmEEZAAL6aGfavgw890.jpg

(21)、安装程序对环境进行检查,由于CentOS的32bit程序包都是i686的,而Oracle要求i386,所以此处会失败,忽略即可。点击next

wKioL1QdTurTsbiyAAPDNzbb4zg700.jpg

(22)、点击Finish,开始安装

wKioL1QdTu-yOm2pAANMCeSH23w916.jpg

(23)、安装中...wKiom1QdVa2C5i6gAAOK2xcgN9A294.jpg


wKioL1QdVdXB7MSjAAOa1dHEphc446.jpg

(24)、点击Password Management可设置相关管理帐号的密码,由于在(步骤-19)已设,点击OK

wKiom1QdVb-ivTR4AATFcwzU63I006.jpg


wKiom1QdVcbgTEB1AAQUwa4fV5c106.jpg

(25)、保留,先执行下一步:以root身份登录执行那两个sh文件

wKioL1QdVejhREFSAAOrKrlxhYU989.jpg

[root@RHEL64 oraInventory]# ./orainstRoot.sh

Changing permissions of /opt/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.


Changing groupname of /opt/oraInventory to oinstall.

The execution of the script is complete.

[root@RHEL64 11g]# ./root.sh

Running Oracle 11g root.sh script...


The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /opt/oracle/11g


Enter the full pathname of the local bin directory: [/usr/local/bin]: 

   Copying dbhome to /usr/local/bin ...

   Copying oraenv to /usr/local/bin ...

   Copying coraenv to /usr/local/bin ...



Creating /etc/oratab file...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root.sh script.

Now product-specific root actions will be performed.

Finished product-specific root actions.


以root身份登录执行orainstRoot.sh root.sh文件,如上图左下角。执行完成后,点击OK,就大功告成了。

(26)、 打开浏览器,输入https://localhost:1158/em,可打开Database Control管理界面,则Oracle已经开始运行了。

wKiom1QdVc7AQ1cpAAJC91OGIUc192.jpg


本文参考Oracle官方文档: Oracle Database Quick Installation Guide 11g Release 2 (11.2) for Linux x86-64