安装前须知:

内存(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)、软件下载

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

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

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

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

博文地址:

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

功能简介:

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

WinSCP下载地址:

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

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

正在上传...

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

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

在Linux中挂载光盘见文章:

安装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

下载地址:

使用本地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仓的安装:

(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 = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1net.bridge.bridge-nf-call-ip6tables = 0net.bridge.bridge-nf-call-iptables = 0net.bridge.bridge-nf-call-arptables = 0kernel.msgmnb = 65536kernel.msgmax = 65536kernel.shmmax = 68719476736kernel.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 = 6815744fs.aio-max-nr=1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576EOF

使内核参数生效:

[root@RHEL64 ~]# /sbin/sysctl -p#如果有如下提示错误,忽略,因为即使未修改参数也提示有这个错误error: "net.bridge.bridge-nf-call-ip6tables" is an unknown keyerror: "net.bridge.bridge-nf-call-iptables" is an unknown keyerror: "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 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle 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/configSELINUX=disable

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

192.168.1.200 RHEL64

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

注意:此处要根据自己的机器名称来修改,否则安装过程会出现如下: 错误。

[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]# lltotal 2295812drwxr-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按钮

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(23)、安装中...

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

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

[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已经开始运行了。

本文参考Oracle官方文档: