一、安装环境
CentOS release 6.7 (Final)
Oracle Database 11g Release 2
二、安装前准备
#修改主机名
修改/etc/sysconfig/network配置文件中的HOSTNAME变量
[[email protected] ~]# hostname oracledb ####永久性修改 [[email protected] ~]#vi /etc/sysconfig/network NETWORKING=yes HOSTNAME= oracledb [[email protected] ~]# hostname oracledb
#添加主机名与IP对应记录
[[email protected] ~]# vi /etc/hosts 172.17.22.70 oracledb
#关闭Selinux
[[email protected] ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config [[email protected] ~]# setenforce 0
#iptables开启1521端口
#写入修改 /sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT #保存修改 /etc/init.d/iptables save #重启防火墙,修改生效 service iptables restart
#下载Oracle 11g
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
#检查硬件配置要求
最小内存 1 GB of RAM
虚拟内存容量
Available RAM |
Swap Space Required |
Between 1 GB and 2 GB |
1.5 times the size of RAM |
Between 2 GB and 16 GB |
Equal to the size of RAM |
More than 16 GB |
16 GB |
硬盘空间要求
数据库软件硬盘空间需求:
Installation Type |
Requirement for Software Files (GB) |
Enterprise Edition |
3.95 |
Standard Edition |
3.88 |
数据文件硬盘空间需求:
Installation Type |
Requirement for Data Files (GB) |
Enterprise Edition |
1.7 |
Standard Edition |
1.5 |
检查的命令
#内存 grep MemTotal /proc/meminfo #交换空间 grep SwapTotal /proc/meminfo #磁盘空间 df -ah
#安装所需的软件包
通过查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包。
packages for Oracle Linux 6
binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64)
On Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4:
unixODBC-2.2.14-11.el6 (x86_64) or later unixODBC-2.2.14-11.el6.i686 or later unixODBC-devel-2.2.14-11.el6 (x86_64) or later unixODBC-devel-2.2.14-11.el6.i686 or later
安装软件包
yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++.x86_64 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64
下面的有问题
yum -y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++ libaio libaio-devel make sysstat unixODBC unixODBC-devel
#创建安装oracle所需用户与用户组
root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
[[email protected] ~]# groupadd -g 200 oinstall
[[email protected] ~]# groupadd -g 201 dba
[[email protected] ~]# useradd -u 440 -g oinstall -G dba -d /usr/oracle oracle
[[email protected] ~]# passwd oracle
#更改kernel参数
[[email protected] ~]# vi /etc/sysctl.conf #末尾添加如下 net.ipv4.ip_local_port_range= 9000 65500 fs.file-max = 6815744 kernel.shmall = 10523004 kernel.shmmax = 6465333657 kernel.shmmni = 4096 kernel.sem = 250 32000 100128 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=1048576 fs.aio-max-nr = 1048576
执行以下命令使更改生效
[[email protected] ~]# sysctl -p
#修改系统资源限制
[[email protected] ~]# vi /etc/security/limits.conf
# 在文件末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[[email protected] ~]# 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
fi
[[email protected] ~]# vi /etc/pam.d/login
#下面添加一条pam_limits.so
session required pam_limits.so
#创建安装目录及设置权限
[[email protected] ~]# su - oracle [[email protected] ~]$ chmod 755 /usr/oracle [[email protected] ~]$ mkdir /usr/oracle/app [[email protected] ~]$ chmod 755 /usr/oracle/app/ [[email protected] ~]$ mkdir /usr/oracle/oradata [[email protected] ~]$ chmod 755 /usr/oracle/oradata/ [[email protected] ~]$ vi ./.bash_profile # 在文件末尾添加 umask 022 export ORACLE_BASE=/usr/oracle/app
#设置oracle环境变量
[[email protected] ~]$ vi ~/.bash_profile exportORACLE_BASE=/usr/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl [[email protected] ~]$ source .bash_profile #立即生效
三、安装Oracle Database
[1]上传oracle安装文件到CentOS上
[2] 解压安装文件
unzip linux_11gR2_database_1of2.zip unzip linux_11gR2_database_2of2.zip
[3] 以oracle用户登陆,运行以下命令
./runInstaller
[4]输入邮件地址及密码(oracle用户),以从oralce接收安全更新等信息
[5] 选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件
[6]选择服务器版本
[7] 本实例中选择安装单实例数据库
[8]高级模式安装
[9] 选择语言
[10] 选择要安装的版本,这里选择 “Enterprise Edition”
[11] 指定Oracle Base 与 Software Location, 我们在oracle用户的profile文件里已设置此环境变量,此处保持默认
[12] 指定Inventory Directory, 本例保持默认
[13]选择数据库用途
[14]数据库名及服务名
[15]开启自动内存管理
[16]设置默认编码为UTF8
[17]示例方案
[18]启用Oracle企业管理控制台OEM
[19]选择数据库文件目录
[20]自动备份设置
[21]设置数据库用户名和密码[]
[22]指定oralce特权用户组,本例保持默认
[23] 接下来,oralce安装程序会对安装环境进行检查,
忽略
[24]显示安装信息如下。直接Finish, 开始安装。
[25] 静待oracle安装
[26]当出现以下窗口时,另开一个终端,以root用户登陆,并执行下面的命令。执行完毕后,点击OK
[[email protected] oracle]# /usr/oracle/oraInventory/orainstRoot.sh
[[email protected] oracle]# /usr/oracle/app/product/11.2.0/dbhome_1/root.sh
[27] 至此oracle 11g R2数据库安装完毕。
[28] 环境变量配置
[[email protected] oracle]$ vi ~/.bash_profile # 在文件末尾添加 export ORACLE_BASE=/usr/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl
四、配置自启动
参照CentOS 6下 Oracle11gR2 设置开机自启动
五、启用Scott
六、遇到的问题
问题1:交换空间太小
问题2:先决条件检查缺少package
问题3:oracle 11g 安装及netca,dbca乱码之解决
问题4:无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色
无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<<
参考:
Oracle 与 iptables 和 SELinux 禁用关系说明