本文转自: https://www.cnblogs.com/xqzt/p/5456401.html 但结合实际情况,内容稍有改动。一、安装环境CentOS Linux release 7.2.1511 (Core)Oracle Database 11g Release 2 (11.2.0.4)二、安装安准备 2.1 修改主机名修改/etc/sysconfig/network配置文件中的HOSTNAME变量[root@xqzt ~]# hostnamectl set-hostname oracledb####永久性修改[root@xqzt ~]#vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME= oracledb[root@xqzt ~]# hostname oracledb 2.2 添加主机名与IP对应记录
[root@xqzt ~]# vi /etc/hosts 172.17.22.70 oracledb
2.3%20关闭Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config [root@oracledb ~]# setenforce 0
2.4%20firewall开启1521端口
[root@sdba ~]# firewall-cmd --permanent --zone=public --add-port=1521/tcp success [root@sdba ~]# firewall-cmd --reload success
2.5下载
Oracle%2011g
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2.6%20检查硬件配置要求最小内存%201%20GB%20of%20RAM
虚拟内存容量
|
Available%20RAM |
Swap%20Space%20Required |
|
Between%201%20GB%20and%202%20GB |
1.5%20times%20the%20size%20of%20RAM |
|
Between%202%20GB%20and%2016%20GB |
Equal%20to%20the%20size%20of%20RAM |
|
More%20than%2016%20GB |
16%20GB |
硬盘空间要求数据库软件硬盘空间需求:
|
Installation%20Type |
Requirement%20for%20Software%20Files%20(GB) |
|
Enterprise%20Edition |
3.95 |
|
Standard%20Edition |
3.88 |
数据文件硬盘空间需求:
|
Installation%20Type |
Requirement%20for%20Data%20Files%20(GB) |
|
Enterprise%20Edition |
1.7 |
|
Standard%20Edition |
1.5 |
检查的命令#内存%20grep%20MemTotal%20/proc/meminfo#交换空间%20grep%20SwapTotal%20/proc/meminfo#磁盘空间%20df%20-ah 2.7 安装所需的软件包通过查看Oracle安装文档中列出的Package%20Requirements可以查看在不同平台上需要的软件包。 packages%20for%20Oracle%20Linux%207binutils-2.23.52.0.1-12.el7.x86_64compat-libcap1-1.10-3.el7.x86_64gcc-4.8.2-3.el7.x86_64gcc-c++-4.8.2-3.el7.x86_64glibc-2.17-36.el7.i686glibc-2.17-36.el7.x86_64glibc-devel-2.17-36.el7.i686glibc-devel-2.17-36.el7.x86_64ksh%20libaio-0.3.109-9.el7.i686%20libaio-0.3.109-9.el7.x86_64libaio-devel-0.3.109-9.el7.i686%20libaio-devel-0.3.109-9.el7.x86_64libgcc-4.8.2-3.el7.i686%20libgcc-4.8.2-3.el7.x86_64libstdc++-4.8.2-3.el7.i686%20libstdc++-4.8.2-3.el7.x86_64libstdc++-devel-4.8.2-3.el7.i686%20libstdc++-devel-4.8.2-3.el7.x86_64libXi-1.7.2-1.el7.i686%20libXi-1.7.2-1.el7.x86_64libXtst-1.2.2-1.el7.i686%20libXtst-1.2.2-1.el7.x86_64make-3.82-19.el7.x86_64%20sysstat-10.1.5-1.el7.x86_64 Oracle%20ODBC%20DriversOn%20Oracle%20Linux%206,%20Red%20Hat%20Enterprise%20Linux%206,%20and%20Asianux%20Server%204:
unixODBC-2.3.1-6.el7.x86_64 or later unixODBC-2.3.1-6.el7.i686 or later unixODBC-devel-2.3.1-6.el7.x86_64 or later unixODBC-devel-2.3.1-6.el7.i686 or later
安装软件包yum%20-y%20install%20binutilsyum%20-y%20install%20compat-libcap1yum%20install%20-y%20gcc%20gcc-c++%20glibc.i686%20glibc.x86_64%20glibc-devel.i686%20glibc-devel.x86_64yum%20install%20-y%20libaio.i686%20libaio.x86_64%20libaio-devel.i686%20libaio-devel.x86_64yum%20install%20-y%20libgcc.i686%20libgcc.x86_64%20libstdc++.i686%20libstdc++.x86_64%20libstdc++-devel.i686%20libstdc++-devel.x86_64yum%20install%20-y%20libXi.i686%20libXi.x86_64%20libXtst.i686%20libXtst.x86_64yum%20install%20-y%20makeyum%20install%20-y%20sysstatyum%20install%20-y%20unixODBC.i686%20unixODBC.x86_64%20unixODBC-devel.i686%20unixODBC-devel.x86_64
ksh无用 %20yum%20install%20-y%20ksh %20需要安装pdksh,另外还需要安装elfutils-libelf-devel
wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm cd /tmp rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
yum install -y elfutils-libelf-devel
否则会提示缺少package
2.8创建安装oracle所需用户与用户组root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba -d /home/oracle oracle
[root@oracledb ~]# passwd oracle
2.9%20更改kernel参数[root@oracledb%20~]#%20vi%20/etc/sysctl.conf#末尾添加如下net.ipv4.ip_local_port_range=%209000%2065500fs.file-max%20=%206815744%20kernel.shmall%20=%2010523004kernel.shmmax%20=%206465333657kernel.shmmni%20=%204096kernel.sem%20=%20250%2032000%20100%20128net.core.rmem_default=262144net.core.wmem_default=262144net.core.rmem_max=4194304net.core.wmem_max=1048576fs.aio-max-nr%20=%201048576执行以下命令使更改生效
[root@oracledb ~]# sysctl -p
2.10%20修改系统资源限制
[root@oracledb ~]# vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
[root@oracledb ~]# 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
[root@oracledb ~]# vi /etc/pam.d/login #下面添加一条pam_limits.so session required pam_limits.so
2.11%20创建安装目录及设置权限创建如下的目录
[oracle@oracledb /]$ tree /u01/ /u01/ └── oracle ├── app └── oradata
root创建
[root@oracledb ~]# mkdir –p /u01/oracle [root@oracledb ~]# chown –R oracle:oinstall /u01
oracle创建[root@localhost%20~]#%20su%20-%20oracle[oracle@localhost%20~]$%20chmod%20755%20/u01/oracle[oracle@localhost%20~]$%20mkdir%20/u01/oracle/app[oracle@localhost%20~]$%20chmod%20755%20/u01/oracle/app/[oracle@localhost%20~]$%20mkdir%20/u01/oracle/oradata[oracle@localhost%20~]$%20chmod%20755%20/u01/oracle/oradata/[oracle@localhost%20~]$%20vi%20./.bash_profile#%20在文件末尾添加umask%20022export%20ORACLE_BASE=/u01/oracle/app
2.12%20设置oracle环境变量[oracle@oracledb%20~]$%20vi%20~/.bash_profileexport%20ORACLE_BASE=/u01/oracle/appexport%20ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export%20PATH=$PATH:$ORACLE_HOME/binexport%20ORACLE_SID=orcl[oracle@oracledb%20~]$%20source%20.bash_profile%20#立即生效
三、安装database
[1]上传oracle安装文件到CentOS上windows下使用putty的pscp工具I:\>pscp%20-r%20"oracle%20database%2011.2.0.4"%20oracle@服务器IP:/u01oracle@172.17.84.83's%20password:p13390677_112040_Linux-x8%20|%201362873%20kB%20|%2025714.6%20kB/s%20|%20ETA:%2000:00:00%20|%20100%p13390677_112040_Linux-x8%20|%201124320%20kB%20|%2026769.5%20kB/s%20|%20ETA:%2000:00:00%20|%20100%p13390677_112040_Linux-x8%20|%201177003%20kB%20|%2027372.2%20kB/s%20|%20ETA:%2000:00:00%20|%20100%p13390677_112040_Linux-x8%20|%20640651%20kB%20|%2027854.4%20kB/s%20|%20ETA:%2000:00:00%20|%20100%p13390677_112040_Linux-x8%20|%20585127%20kB%20|%2027863.2%20kB/s%20|%20ETA:%2000:00:00%20|%20100%p13390677_112040_Linux-x8%20|%20476926%20kB%20|%2028054.5%20kB/s%20|%20ETA:%2000:00:00%20|%20100%p13390677_112040_Linux-x8%20|%20116719%20kB%20|%2029180.0%20kB/s%20|%20ETA:%2000:00:00%20|%20100%[2]%20解压安装文件unzip%20p13390677_112040_Linux-x86-64_1of7.zipunzip%20p13390677_112040_Linux-x86-64_2of7.zipunzip%20p13390677_112040_Linux-x86-64_3of7.zipunzip%20p13390677_112040_Linux-x86-64_4of7.zipunzip%20p13390677_112040_Linux-x86-64_5of7.zipunzip%20p13390677_112040_Linux-x86-64_6of7.zipunzip%20p13390677_112040_Linux-x86-64_7of7.zip[3]
以oracle用户VNC%20登陆,运行以下命令安装VNC
yum install tigervnc-server
开启端口
[root@oracledb ~]# firewall-cmd --permanent --zone=public --add-port=5901/tcp success [root@oracledb ~]# firewall-cmd --reload success
运行安装程序
/u01/11.2.0.4/database/runInstaller
[4]输入邮件地址及密码(oracle用户),以从oralce接收安全更新等信息
[5]%20选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件
[6]选择服务器版本
[7]%20本实例中选择安装单实例数据库
[8]高级模式安装
[9]%20选择语言
[10]%20选择要安装的版本,这里选择%20“Enterprise%20Edition”
[11]%20指定Oracle%20Base%20与%20Software%20Location,%20我们在oracle用户的profile文件里已设置此环境变量,此处保持默认
[12]%20指定Inventory%20Directory,%20本例保持默认
[13]选择数据库用途
[14]数据库名及服务名
[15]开启自动内存管理
[16]设置默认编码为UTF8
[17]示例方案
[18]启用Oracle企业管理控制台OEM
[19]选择数据库文件目录
[20]自动备份设置
[21]设置数据库用户名和密码[注意:密码不要以数字开头,否则后面会报错ORA-00922:%20选项缺失或无效]
[22]指定oralce特权用户组,本例保持默认
[23]%20接下来,oralce安装程序会对安装环境进行检查,
安装完缺少的package,重新检查[24]显示安装信息如下。直接Finish,%20开始安装。
[25]%20静待oracle安装
[26]当出现以下窗口时,另开一个终端,以root用户登陆,并执行下面的命令。执行完毕后,点击OK[root@oracledb%20oracle]#%20/usr/oracle/oraInventory/orainstRoot.sh[root@oracledb%20oracle]#%20/usr/oracle/app/product/11.2.0/dbhome_1/root.sh
[27]%20至此oracle%2011g%20R2数据库安装完毕。
[28]%20环境变量配置
[oracle@oracledb 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
[29]开放控制台端口, 参照
CentOS%206下%20Oracle11gR2%20设置开机自启动
解锁scott账户方法
六、遇到的问题
问题1:交换空间太小
安装Oracle改变swap交换空间大小
安装oracle%20检查交换空间太小
问题2:先决条件检查缺少package
Oracle%2011gR2%20安装少包情况
问题3:
oracle%2011g%20安装及netca,dbca乱码之解决
原因:Linux上没有安装Oracle安装时使用的字体
方法一:%20上传字体库字体库下载地址
http://download.csdn.net/detail/lidongtang/4182819
然后在Linux下执行以下命令,把字体库安装到相应位置即可
mkdir -p /usr/share/fonts/zh_CN/TrueType cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/
这样在安装的时候。Oracle就会提示中文了,而不再是中文乱码了。
方法二:使用英文安装
export.utf-8
或者
# vi /etc/sysconfig/i18n(不会出现乱码)
问题4:无法使用命令%20/usr/bin/xdpyinfo%20自动检查显示器颜色参照
无法使用命令%20/usr/bin/xdpyinfo%20自动检查显示器颜色。请检查是否设置了%20DISPLAY%20变量。%20未通过%20<<<<
解决办法:%20不用root登陆,直接用oracle用户登陆系统
问题4:无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色参照
无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<<
Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/oracle/app/oracle/product/11.2.0/dbhome/sysman/lib/ins_emagent.mk'.
google了一下,好像是oracle新版的bug,如下解决:
解决方案: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的$(MK_EMAGENT_NMECTL)更改为$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
参考:
Oracle 11g 联机文档:Linux安装向导 CentOS 6安装Oracle 11gR2数据库 Linux上Oracle 11g安装步骤图解 CentOS 6.5_x64安装Oracle 11g R2 Oracle 与 iptables 和 SELinux 禁用关系说明 CenotOS6中文环境下安装Oracle 11g 中文乱码 解决办法 oracle 11.2.0.4 Error in invoking target 'agent nmhs' ins_emagent.mk
