1.1 安装依赖,创建用户和目录

参考http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html

yum -y install binutils
rpm -ivh compat-libstdc++---.x86_64.rpm
yum -y install elfutils-libelf
yum -y install elfutils-libelf-devel
yum -y install elfutils-libelf-devel-static
yum -y install gcc
yum -y install gcc-c++
yum -y install glibc
yum -y install glibc-common
yum -y install glibc-devel
yum -y install glibc-headers
yum -y install glibc-headers
yum -y install ksh
yum -y install libaio
yum -y install libaio-devel
yum -y install libgcc
yum -y install libgomp
yum -y install libstdc++
yum -y install libstdc++-devel
yum -y install make
yum -y install sysstat
yum -y install unixODBC
yum -y install unixODBC-devel
groupadd dba
groupadd oper
groupadd oinstall
useradd -g oinstall -G dba oracle

mkdir -p /opt/oracle/product
mkdir -p /opt/oracle/product/OraHome
mkdir -p /opt/oraInventory
mkdir -p /opt/oracle/oradata
mkdir -p /var/opt/oracle

chown -R oracle.oinstall /opt/oracle
chown -R oracle.oinstall /opt/oracle/oradata
chown -R oracle.oinstall /opt/oracle/product/OraHome
chown -R oracle.dba /opt/oraInventory
chown oracle.dba /var/opt/oracle
 /opt/oracle
 /var/opt/oracle

1.2 修改系统参数文件,设置环境变量

1.2.1 修改系统参数:vim /etc/sysctl.conf,添加下列内容,并运行sysctl -p 使之生效

fs.aio-max-nr =
fs.
kernel.shmall =
kernel.shmmax =
kernel.shmmni =
kernel.sem =
net.ipv4.ip_local_port_range =
net.core.rmem_default =
net.core.rmem_max =
net.core.wmem_default =
net.core.wmem_max = 

1.2.2 修改系统资源限制Shell Limits,提高软件的运行效率:vim /etc/security/limits.conf,添加:

oracle           soft    nproc
oracle           hard    nproc
oracle           soft    nofile
oracle           hard    nofile  

1.2.3 vim /etc/pam.d/login,添加:

session required /lib/security/pam_limits.so
session required pam_limits.so

1.2.4 vim /etc/profile,添加:

if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p
              ulimit -n
        else
              ulimit -u  -n
        fi
fi

1.2.5 修改oracle用户的环境变量,su - oracle;  vim .bash_profile,并source生效

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
export PATH=$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

然后便是解压下载的oracle安装包,以oracle用户运行database中的 ./runInstaller安装脚本,但是会出现错误提示:

[oracle@localhost database]$ ./runInstaller
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于  MB。   实际为  MB    通过
检查交换空间: 必须大于  MB。   实际为  MB    通过
检查监视器: 监视器配置至少必须显示  种颜色
    >>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。    未通过 <<<<

未通过某些要求检查。必须先满足这些 要求, 

然后才能继续安装,

这里敲黑板了,因为oracle安装时要打开图形界面,但在xshell中是不行的,所以需要安装vnc服务,

2. 安装VNC

参考https://blog.csdn.net/wlzjsj/article/details/52149547

yum -y install xhost
yum -y install tigervnc tigervnc-server
yum install -y gnome*  

配置vncserver config:vim /etc/sysconfig/vncservers

# THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service
VNCSERVERS="1:root"
VNCSERVERARGS[]="-geometry 800x600 -nolisten tcp -localhost"

VNCSERVERS="2:oracle"
VNCSERVERARGS[]="-geometry 800x600 -nolisten tcp -localhost"

运行vncserver后会在用户目录下创建一个.vnc目录,编辑里面的xstartup文件

#!/bin/sh

#unset SESSION_MANAGER
#unset DBUS_SESSION_BUS_ADDRESS
#exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 8+ -ls -title "$VNCDESKTOP Desktop" &
startkde &
gnome-session &

记得关闭防火墙:

iptables -F

然后运行vncserver,根据它返回的序号,使用本地vncciewer连接,端口就是5900加上返回的序号

这里的5905中的5就是vncserver反馈的启动序号,密码可以自己设置一下就可以了。但是登上之后会发现都是乱码。

2.1 VNC 乱码问题

这个就是要安装一些语言支持的rpm包,但是怎么装都会提示缺少依赖

参考http://www.bubuko.com/infodetail-196827.html 其中有一句话说的很好,可以跳过rpm脚本的依赖检查错误直接安装


rpm -ivh --nodeps chkfontpath--1.1.i386.rpm
rpm -ivh ttmkfdir--.el5.x86_64.rpm
rpm -ivh fonts-chinese-.el5.noarch.rpm
rpm -ivh fonts-ISO8859--75dpi-1.0-17.1.noarch.rpm

2.2 VNC打开oracle安装界面问题

通过上面的VNC客户端连接上之后,打开命令终端,切换到oracle用户运行./runInstaller,但是依然会有错误提示:

unable to open display ...

网上有很多人说方法,觉得还是百度经验说到点子上了https://jingyan.baidu.com/article/cbf0e5009ace292eaa2893f4.html

1.以root用户执行xdpyinfo,纪录下name of display后面的值,比如我上面的值是5

2.执行 xhost +

3.su - oracle

4.export DISPLAY=:5.0 //就是上面root记下的值

5.执行xdpyinfo可以出现display的信息了

然后执行./runInstaller就会出现oracle的安装提示框了:

就不一个个贴图了,过程需要填的一些值,与上面设置的环境变量保持一致就好:

oracle base: /opt/oracle
software location: /opt/oracle/product/OraHome
Inventory Directory: /opt/oralnventory

oraInventory Group Name: oinstall
Database Administrator(OSDBA) Group: dba
Database Operator(OSOPER) Group: oinstall

3.安装过程中的检查失败问题

3.1 swap size 检查失败问题

参考:https://blog.csdn.net/hzh839900/article/details/79215703 ,在原来的基础上添加一个2G的交换区:

cd /tmp

mkswap swapfree
swapon swapfree

vim /etc/fstab
/tmp/swapfree swap swap defaults       //添加

然后check again

3.2 提示semmni的值为0以及缺少一些依赖包

但是在root用户下执行sysctl -p可以看到其实值已经设置成128了,另外对于缺少的依赖,网上有人说是由于centos 7用的版本高了,所以oracle检查不到,所以就怀疑是oracle的安装程序自己的检查脚本有问题了,所以勾上右上角的ignore All,继续往下走就行了。
3.3

Error in invoking target 'agent nmhs' of makefile ...

参考:https://blog.csdn.net/ghostliming/article/details/51566562可以解决

最后:

4.配置监听和创建数据库实例

参考https://www.cnblogs.com/anzerong2012/p/7940850.html

还是用vnc客户端登录,以oracle用户运行netca,这一步还是比较容易,照图说明就行了,注意填的值与自己配的环境变量要保持一致。

5.oracle启动问题

oracle用户下执行sqlplus / as sysdba后进入sql命令状态,输入startup

5.1

ORA-: failure in processing system parameters
LRM-: could not open parameter file '/u01/app/oracle/product/11.1.0/db_1/dbs/initorc11g.ora'

参考http://blog.itpub.net/128333/viewspace-1026068/

在/opt下 find -name init.ora.*,可以找到这么一个文件,然后我copy到目录/opt/oracle/product/OraHome/dbs下,记得重命名为initorc11g.ora

5.2

ORA-: MEMORY_TARGET not supported on this system

参考https://www.linuxidc.com/Linux/2012-12/76976.htm

大意是:在oracle 11g中新增的内存自动管理的参数MEMORY_TARGET,它能自动调整SGA和PGA,这个特性需要用到/dev/shm共享文件系统,而且要求/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错,所以可以增加/dev/shm

mount -o remount,size=16G /dev/shm

vi /etc/fstab
#添加一行
tmpfs     /dev/shm      tmpfs  defaults,size=16g        

5.3

ORA-: cannot mount database in EXCLUSIVE mode

参考https://www.cnblogs.com/fengqingtao/archive/2011/09/28/2194691.html,可以解决,具体原因没深究

/sbin/fuser -k lkTEST
/sbin/fuser -u lkTEST

5.4 乱码问题,一堆问号我是把/opt/oracle/product/OraHome/dbs/initorcl.ora 就是刚才拷贝的那个文件中的nls_language由SIMPLIFIED CHINESE改成了AMERICAN就好了,觉得问题并没有解决,可能是我安装oracle选择的字符集有问题,我记得还特意选择了utf8,但是中文还是有乱码。

6.客户端安装及连接问题

6.1 Oracle Client安装报错:引用数据不可用于验证此操作系统分发的先决条件

参考http://www.zhimengzhe.com/shujuku/Oracle/345523.html,添加win10支持

6.2 监听启动错误

TNS-: TNS:no listener
 TNS-: TNS:protocol adapter error
  TNS-: No listener
   Linux Error: : Connection refused

参考https://www.cnblogs.com/xing901022/p/3895719.html,检查/etc/hosts文件,localhost只保留127.0.0.1一个映射

127.0.0.1   localhost

6.3

[oracle@bogon ~]$ lsnrctl status

LSNRCTL  - Production on -JUN- ::

Copyright (c) , , Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR  - Production
Start Date                -JUN- ::
Uptime                     days  hr.  min.  sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/OraHome/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/bogon/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)))
The listener supports no services
The command completed successfully

当中的

The listener supports no services

参考https://blog.csdn.net/jar_java/article/details/51188687,还是通过vnc登录,进行网络配置,oracle用户运行netmgr

添加一个database,再说一遍sid及oracle home要与环境变量及initctl.ora中的值保持一致,然后退出保存就好。

6.4

Instance  handler(s) for this service...

添加好之后6.3的提示可能会换成这个上面这句话,

参考https://blog.csdn.net/csdnones/article/details/72903344,不能直接解决,但思路是一样的,也查看提示中的Listener Log File:/opt/oracle/diag/tnslsnr/bogon/listener/alert/log.xml

找到一句话:

<txt>
-JUN- :: * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=bogon)(USER=oracle))(COMMAND=status)(ARGUMENTS=)(SERVICE=LISTENER)(VERSION=)) * status *
</txt>

于是我在/etc/hosts中添加一行映射:

127.0.0.1   localhost
192.168.141.21  bogon

然后再重新启动lsnrctl start ,查看状态会看到已经是ready了。

最后,终于可以通过plsql正常连接和操作了。

总结,虽然安装前已经做好了心理准备,但遇到的问题还是出乎意料的多,即便最终装完可以正常使用了,还是有些问题不太确定,毕竟自己对linux和oracle的认识还很浅,只是凭着安装过程的笔记和收藏的博文回忆出这次oracle安装过程及遇到的一些问题,并不代表下次安装就能一帆风顺不出现其他问题,就当作为一个经验借鉴吧,遇到问题解决问题就好。

参考文章:

1. http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html
2. https://blog.csdn.net/wlzjsj/article/details/52149547
3. http://www.bubuko.com/infodetail-196827.html
4. https://jingyan.baidu.com/article/cbf0e5009ace292eaa2893f4.html
5. https://blog.csdn.net/hzh839900/article/details/79215703
6. https://blog.csdn.net/ghostliming/article/details/51566562
7. https://www.cnblogs.com/anzerong2012/p/7940850.html
8. http://blog.itpub.net/128333/viewspace-1026068/
9. https://www.linuxidc.com/Linux/2012-12/76976.htm
10. https://www.cnblogs.com/fengqingtao/archive/2011/09/28/2194691.html
11. http://www.zhimengzhe.com/shujuku/Oracle/345523.html
12. https://www.cnblogs.com/xing901022/p/3895719.html
13. https://blog.csdn.net/jar_java/article/details/51188687
14. https://blog.csdn.net/csdnones/article/details/72903344

centos安装oracle11g的更多相关文章

  1. 利用xshell远程连接centos安装oracle11g时在图形界面登录

    1.首先给centos安装桌面环境.( yum groupinstall ‘GNOME Desktop’) 2.安装Xmanager软件 3.打开xshell,新建连接 填好主机和名称后,点击左侧连接 ...

  2. CentOS Linux上安装Oracle11g笔记

    CentOS Linux上安装Oracle11g 到 otn.oracle.com 网站上下载 Linux版的oracle 11g 编辑 /etc/sysctl.conf : kernel.shmal ...

  3. 【CentOS】在Centos7 下无图形界面安装 Oracle11g

    目标 - 在虚拟机CentOS7中无图形界面安装Oracle11G R2版本 ① 系统要求以及准备 1. 物理内存不小于1G: 查看方式: # grep MemTotal /proc/meminfo ...

  4. CentOS上安装oracle11g报错处理

    ​ 最近,在处理oracle gateway的报错问题.只因个人的测试环境已经迁移到docker上了,又懒得装一套环境就直接在机器上安装oracle11g.今天分享的故事就从此开始-- 运行环境 项目 ...

  5. CentOS 6 安装Oracle11g

    原创作品.从 "深蓝blog" 博客,欢迎转载,请务必注明转载如下源.否则追究其版权责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/ar ...

  6. Linux CentOS 6.5 64位 静默安装Oracle11g 云主机

    本例: 通过SSH远程连接云主机,上传oracle11g安装包,在centos6.5上无图形化界面静默安装oracle11g. 涉及工具及环境: 1.本地环境windows7+ssh远程连接工具xSh ...

  7. centos7远程安装oracle11g R2详细教程-解决一切问题

    相关链接与资源: sqldevelper(各种操作系统的oracle客户端) http://www.oracle.com/technetwork/cn/developer-tools/sql-deve ...

  8. Linux-CentOS7下安装Oracle11g

    简述: 本文操作环境采用CentOS7 Linux安装Oracle11g与Windows区别较大,在Linux下需要创建用户以及用户组来供Oracle使用 Windows可以直接图形化界面从第一步到最 ...

  9. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

随机推荐

  1. ioc和aop理解

    1.IOC 表示控制反转. 简单点说就是原来的对象是在要使用之前通过在代码里通过new Something()的方式创建出来的: IOC则是由spring容器创建同一创建,在程序要使用到该对象的时候, ...

  2. Linux中bash shell环境变量

    别名 别名是命令的快捷方式.为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用.语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令.重要的 ...

  3. logging模块 旗舰版

    函数式简单配置 import logging logging.debug('debug message') logging.info('info message') logging.warning(' ...

  4. Linux 清理空间

    背景: 在使用Linux服务器的时候,经常会碰到服务器上的磁盘空间满了,在该种情况下,必须进行磁盘空间清理. 解决方法: 示例:需要/tmp下空出至少1G的可用空间 分别执行的命令如下: df /tm ...

  5. 几大排序算法的Java实现(原创)

    几大排序算法的Java实现 更新中... 注: 该类中附有随机生成[min, max)范围不重复整数的方法,如果各位看官对此方法有什么更好的建议,欢迎提出交流. 各个算法的思路都写在该类的注释中了,同 ...

  6. C# 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级

    //使用委托进行修改UI界面 if (this.InvokeRequired) { this.Invoke(new MethodInvoker(delegate { createList(); })) ...

  7. 消息中间件-activemq安全机制

    activemq作为消息中间件这样一个独立的个体存在,连通用户和服务器.如果没有一套完备的安全机制去设置用户权限设置消息分发机制可想后果是非常严重.ActiveMQ如果不加入安全机制的话,任何人只要知 ...

  8. Spark 系列(八)—— Spark SQL 之 DataFrame 和 Dataset

    一.Spark SQL简介 Spark SQL 是 Spark 中的一个子模块,主要用于操作结构化数据.它具有以下特点: 能够将 SQL 查询与 Spark 程序无缝混合,允许您使用 SQL 或 Da ...

  9. 利用cookie实现浏览器中多个标签页之间的通信

    原理: cookie是浏览器端的存储容器,而且它是多页面共享的,利用cookie多页面共享的特性,可以实现多个标签页的通信. 比如: 一个标签页发送消息(将发送的消息设置到cookie中),一个标签页 ...

  10. CentOS7.x 搭建 GitLab 教程

    今天闲来无事,想起之前买了一个阿里云 ECS,一直闲置着没用,一时兴起就想搭个自己的 GitLab 玩玩,GitLab 官网也提供了安装教程,很简单,照着步骤一步步基本没什么问题,可能安装的过程中有一 ...