CentOS7 安装Oracle11g

环境信息

Oracle11g版本选择:
  强烈建议下载 11.2.0.4版本的,oracle版本是官网下载的11.2.0.1有点小坑在里面,我是后来遇到坑后换成的 11.2.0.4版本。

CentOS7安装11.2.0.1遇到的坑:

  1. 操作系统内核参数semmni 明明设置正确,先决条件检查以然会提示参数不正确
  2. 一些程序包,已经安装过了,先决条件检查以然会提示没有安装
  3. 安装到 68%会报错:makefile
    '/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’的目标’install’时出错
      坑 1,2直接忽略可以解决,3网上也有解决办法。但是总让人有点不舒服。好在 11.2.0.4版本中已经没有这些坑了,舒心多了。

准备工作

在安装之前,我们要做一些简单的准备工作,大致如下:

  1. Oracle11g 11.2.0.4版本 下载
    链接: https://blog.csdn.net/bai_mi_student/article/details/118576796.
  2. 创建oracle用户和组
  3. 图形化的操作环境:VNC远程或者直接本地图形化操作。

一、一键安装和配置VNC图形化相关

  • 适合远程服务器没有界面的情况下,可以安装VNC简易图形化界面,如果自己在虚拟机上有桌面的情况下,可以按需参考VNC安装

==root管理员==执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)。
#图形界面必备`X Window System`
yum -y groupinstall "X Window System"
#安装epel源
yum -y install epel-release
#安装VNC+图形需要的软件
yum -y install tigervnc-server openbox xfce4-terminal tint2 cjkuni-ukai-fonts network-manager-applet
#自动修改/etc/xdg/openbox/autostart配置文件
echo 'if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then' > /etc/xdg/openbox/autostart
echo '       eval `dbus-launch --sh-syntax --exit-with-session`' >> /etc/xdg/openbox/autostart
echo 'fi' >> /etc/xdg/openbox/autostart
echo 'tint2 &' >> /etc/xdg/openbox/autostart
echo 'nm-applet  &' >> /etc/xdg/openbox/autostart
echo 'xfce4-terminal &' >> /etc/xdg/openbox/autostart
echo ' ' >> /etc/xdg/openbox/autostart
#防火墙放行VNC端口
firewall-cmd --add-port=5901/tcp
firewall-cmd --add-port=5901/tcp --permanent

二、创建用户

为了安全起见,不建议使用root做为vnc用户。单独创建一个用户比较安全。
既然安装oracle,这里用户名我使用 oracle。

  • root管理员执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)
#创建database用户组
groupadd database
#创建oracle用户并放入database组中
useradd oracle -g database
#设置oracle密码
passwd oracle 
  • 密码我设置的是 database@2021

三、开启 VNC服务

  • 切换到oracle用户
su oracle
#首次运行,生成~/.vnc/xstartup等配置文件
vncserver :1 -geometry 1024x768
  • 我这里设置的密码是 vnc@2021
  • oracle用户执行以下命令,直接整体复制粘贴到终端就行(不用一行一行复制)
#配置VNC默认启动openbox
echo "openbox-session &" > ~/.vnc/xstartup
# 停止服务
vncserver -kill :1
#重新开启vnc服务
vncserver :1 -geometry 1024x768

四、客户端连接VNC实现远程控制

在这里插入图片描述

  • 然后输入上面设置的连接密码就可以了。我这里设置的密码是vnc@2021
  • 如果你连接的时候发现,没有界面,是黑屏的只有一个鼠标,那么可以重启一下VNC服务试试
  • 切换到oracle用户 su oracle
  • 命令:
vncserver -kill :1
vncserver :1 -geometry 1024x768

  如果需要更详细的教程,请看:《Centos7安装和配置VNC服务器 - openbox篇》链接: https://blog.csdn.net/lxyoucan/article/details/113210891.

五、安装oracle安装程序依赖程序包

  • root管理员执行以下命令,su root
yum -y install binutils compat-libcap1  compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

安装中文字体解决中文乱码问题

  默认情况下,因CentOS 中缺少中易宋体18030所以会导致中文显示成□□□□□的问题。很简单增加所需字体就行了。如果不想用中文界面安装,当然也可以用英文界面

  • 安装前运行以下命令,临时使用英文环境
LANG=en_US

  • 下载中文字体:

链接: https://download.csdn.net/download/lxyoucan/14968070.


有能力的小伙伴可以下载尝试一下,没能力的就不要下载了。但需要小心,要按照下面安装oracle教程一步一步点击,虽然都是乱码,但点击位置没有变化。

  • 下载好字体的小伙伴,root管理员执行以下命令:
mkdir -p /usr/share/fonts/zh_CN/TrueType

zysong.ttf上传到/usr/share/fonts/zh_CN/TrueType目录

chmod 75 /usr/share/fonts/zh_CN/TrueType/zysong.ttf
  • 字体安装完成,这样安装oracle就不会中文乱码了。

六、上传并解压安装包

  最好使用oracle用户上传压缩包(可以直接复制我的步骤),上传安装包到 CentOS7服务器,我上传到 /home/oracle/目录了(目录最好一样可以直接复制)

  • 上传以后,文件路径和名称如下:
[oracle@localhost ~]$ pwd
/home/oracle
[oracle@localhost ~]$ ls
p13390677_112040_Linux-x86-64_1of7.zip  p13390677_112040_Linux-x86-64_2of7.zip

只需要*1of7.zip,*2of7.zip 两个压缩包即可

  • 如果没有unzip工具,安装unzip用于文件解压root执行以下面
yum install unzip

oracle用户登录vnc,执行下面命令,解压安装包

#解压第1个zip
unzip p13390677_112040_Linux-x86-64_1of7.zip
#解压第2个zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

前期准备工作已经完毕!继续加油!

七、安装oracle实战

  准备工作已经结束了,接下来的安装工作就跟在windows下安装oracle差不多了。先总结一下,基本就是根据界面提示就可以一路“下一步(N)”就可以完成了。
需要稍微注意的就是:

  1. 桌面类与服务器类的选择
  2. 超级管理员密码的设置
  3. 先决条件检查
       其它的根据自己的需要,或者一路“下一步(N)”就可以完成了。为了一些朋友更直观的观看,我把每一步都截图了,可以跳着看。

oracle用户登录vnc远程桌面

oracle用户进入~/database/目录。

#进入安装目录
cd ~/database/
#运行安装程序
./runInstaller

在这里插入图片描述
在这里插入图片描述

配置安全更新

 根据需要设置,我这里就不设置了。
在这里插入图片描述

下载软件更新

 根据个人需要选择,我这里选择 跳过软件更新(S)
在这里插入图片描述

网络安装选项

 选择“创建和配置数据库(C)
在这里插入图片描述

桌面类 or 服务器类

 描述中已经说的很清楚了,根据自己需要选择。这里我选择的是服务器类(S)
在这里插入图片描述

安装类型

 我选默认的,单实例数据库安装(S)根据实际需要选择
在这里插入图片描述

典型安装

 默认典型安装(T)即可
在这里插入图片描述

典型安装配置

 主要设置一下密码,其他默认即可。这里密码要在大写字母+小写字母+数字组合。比如:我设置的是Database123
在这里插入图片描述

创建产品清单

 默认即可
在这里插入图片描述

执行先决条件检查

 这一步要稍花一些时间处理。每个人的显示可能略有不同。比如:物理内存的检测,我这个1G内存就会提示小于预期

  • 根据提示信息做处理即可,比如:内存小了,加大内存啊
  • 执行修补并再次检查(F) 可以自动修复
  • 以上都解决不了,百度一下你就知道。基本都是有解决办法的


     没解决之前我的显示如下
    在这里插入图片描述
     执行修补并再次检查(F)
    在这里插入图片描述
     页面上面描述的很清楚。
    root管理员执行
/tmp/CVU_11.2.0.4.0_oracle/runfixup.sh

 执行完后,点击上面对话框中的确定(O) 这里发现大部分都修复了。如下:
在这里插入图片描述

  • 剩下的警告尽量解决,如果自己知道影响不大直接点右上角 ☐全部忽略即可。
  • 比如:我的虚拟机内存,比预期值差30MB左右,影响不大直接忽略也可以。
  • 解决方法也很简单,加大内存即可。即可写教程了,就追求完美吧,我把虚拟机内存加大一些。

解决 包:pdksh-5.2.14 警告

 这个警告,我猜测直接忽略就行了。因为本机已经安装了ksh-20120801-142.el7.x86_64。
 yum search pdksh 中搜索没的搜索到它。只能手动安装了

#下载安装包
wget  http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
  • 如果没有wget就安装一下 yum install wget
  • 执行安装操作
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
  • 执行结果如下,与已经安装的冲突了,安装失败了
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm 
警告:pdksh-5.2.14-37.el5_8.1.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
错误:依赖检测失败:
	pdksh 与 (已安裝) ksh-20120801-142.el7.x86_64 冲突
  • 卸载冲突
rpm -e ksh-20120801-142.el7.x86_64
  • 再次安装
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
  • 全过程显示如下
[root@localhost ~]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm 
警告:pdksh-5.2.14-37.el5_8.1.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
错误:依赖检测失败:
	pdksh 与 (已安裝) ksh-20120801-142.el7.x86_64 冲突
[root@localhost ~]# rpm -e ksh-20120801-142.el7.x86_64
[root@localhost ~]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
警告:pdksh-5.2.14-37.el5_8.1.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...
   1:pdksh-5.2.14-37.el5_8.1          ################################# [100%]

重新检测,发现警告消失了!!!

Swap分区设置

若检查中无此项,可忽略!
  如果Swap空间不符合要求,oracle 安装文件检查发现swap 空间不足。大小一般设置为一般为内存的1.5倍。

  • (root权限)使用free工具来查看内存和Swap情况。
free -m
[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1475         439         171          13         865         877
Swap:          2047           0        2047

创建Swap文件
  接下来我们将在文件系统上创建swap文件。我们要在根目录/下创建一个名叫swapfile的文件,当然你也可以选择你喜欢的文件名。该文件分配的空间将等于我们需要的swap空间。一般 内存的 1.5倍以上就好了。也可以根据安装程序的提示来
在这里插入图片描述
root管理员以下命令,创建swap分区

#创建swap文件 bs=2300的设置的值一般为内存的1.5倍以上 
dd if=/dev/zero of=/var/swap bs=2500 count=1000000
#需要更改swap文件的权限,确保只有root才可读
chmod 600 /var/swap
#告知系统将该文件用于swap
mkswap /var/swap
#开始使用该swap
swapon /var/swap
#使Swap文件永久生效,/etc/fstab加入配置
echo "/var/swap   swap    swap    sw  0   0" >> /etc/fstab
  • 如果上面创建后发现,大小创建错误了。如何重置呢?
swapoff -a
rm /var/swap

概要

 这里显示了安装配置的概要部分,检查一下是否正确。没问题就开始安装吧
在这里插入图片描述

安装产品

在这里插入图片描述

进度70% ins_emagent.mk错误弹框

在这里插入图片描述
编辑:

vim /home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

约176行,可以搜索$(MK_EMAGENT_NMECTL) 关键字快速找到。
在这里插入图片描述
修改后如下

#===========================
#  emdctl
#===========================

$(SYSMANBIN)emdctl:
	$(MK_EMAGENT_NMECTL) -lnnz11

#===========================
#  nmocat
#===========================
  • 修改完成后,点击重试(R)
    在这里插入图片描述

复制数据库文件

  • 上面的问题解决后,安装一会儿就会出现如下的界面。耐心等待即可。
    在这里插入图片描述

数据库创建完成

在这里插入图片描述

执行配置脚本

在这里插入图片描述

  • 根据上图提示,root 管理员上面两个脚本就可以了
/home/oracle/app/oraInventory/orainstRoot.sh
/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

执行结果如下:

[root@localhost ~]# /home/oracle/app/oraInventory/orainstRoot.sh 
更改权限/home/oracle/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/home/oracle/app/oraInventory 到 database.
脚本的执行已完成。
[root@localhost ~]# /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh 
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /home/oracle/app/oracle/product/11.2.0/dbhome_1

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 script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[root@localhost ~]# 
  • 执行完成这两个脚本,点击确定
    在这里插入图片描述

Oracle Database 的安装已成功

在这里插入图片描述

  • 点击关闭即可。

八、防火墙放行1521

  • 默认端口是1521
# 防火墙放行1521oracle端口
firewall-cmd --add-port=1521/tcp
firewall-cmd --add-port=1521/tcp --permanent

九、配置环境变量

  • 切换到oracle用户操作
su oracle
  • 编辑配置文件
vim ~/.bash_profile
  • 文件末尾加入以下内容,ORACLE_HOME中换成你实际安装的路径
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1/
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
  • 使用配置文件立即生效。
source ~/.bash_profile

十、测试

启动oracle

su oracle
sqlplus /nolog
SQL> connect /as sysdba
SQL> startup

sys用户登录

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 2 02:59:38 2021

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

SQL> connect as sysdba
Enter user-name: sys
Enter password: 
Connected.
SQL> select 1 from dual;

	 1
----------
	 1

SQL> 
  • 没有问题,说明oracle本地连接oracle成功

启动监听

lsnrctl start

安装结束了!!!!!!!!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值