安装前须知:
内存(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系统,此步骤可以参考以前的博文,如下:
博文地址: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)
从左边往右边拖拽,即可把windows系统的文件上传到Linux的相关目录
正在上传...
如下图,可以看出linux.x64_11gR2_database已经上传到了linux的/root/Download目录
(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按钮
(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,开始安装
(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官方文档: Oracle Database Quick Installation Guide 11g Release 2 (11.2) for Linux x86-64