官网指南,包括数据库、客户端的安装、升级: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/install-and-upgrade.html 首先: 本文并不是傻瓜式的安装教程:你至少需要知道简单的 Linux 知识,包括 cd、vi、yum 等(虽然文中也大多给了使用方法,也需要知道 shell 登录和 sftp 的使用) 本文也不是最简的教程:文中也有些重复的、没必要的配置过程 但是: 本文能够教会你安装的思路和方法,适用于各类版本的数据库 硬件环境准备

服务器硬件要求,至少需要1G内存:

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面


服务器操作系统要求,可选用 Oracle Linux、RedHat 等,这里选用 CentOS 7,基于 RedHat,符合官网的要求:

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_02


服务器存储硬盘要求至少7.5G:

centos6 切换桌面 centos6切换到图形界面_linux 重启oracle_03


其他涉及商业许可、服务器配置(交换空间等,理论上交换空间需要是内存的 1.5 倍)等相关说明这里不做介绍,用于个人学习环境的搭建可以简化关注。 官网也提供了一些检查硬件的语句:

centos6 切换桌面 centos6切换到图形界面_linux 重启oracle_04


关于用户、组、软件环境的介绍在下方安装过程中。 软件环境准备

连接服务器(我这里用的 xshell):

ssh root@139.***.***.***


假如 Host 不允许导致连接失败,重置:

ssh-keygen -R 139.***.***.***


更新系统(可忽略):

yum update -y


检查、安装依赖包(根据官网文档整理的脚本,但是实际操作的时候会提示另外安装 gcc-c++ 包,并不是所有的系统都需要,提示时安装即可):

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_05

yum install -y openssh bc binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++.x86_64 compat-libstdc++.i686 glibc.x86_64 glibc.i686 glibc-devel.x86_64 glibc-devel.i686 ksh libaio.x86_64 libaio.i686 libaio-devel.x86_64 libaio-devel.i686 libgcc.x86_64 libgcc.i686 libstdc++.x86_64 libstdc++.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 libxcb.x86_64 libxcb.i686 libX11.x86_64 libX11.i686 libXau.x86_64 libXau.i686 libXi.x86_64 libXi.i686 libXtst.x86_64 libXtst.i686 libXrender.x86_64 libXrender.i686 libXrender-devel.x86_64 libXrender-devel.i686 make.x86_64 net-tools.x86_64 nfs-utils.x86_64 smartmontools.x86_64 sysstat.x86_64

其中安装 compat-libcap1 的时候可能提示未找到包,手动安装:

yum install -y compat-libcap1*yum install -y compat-libcap1*i686


创建用户组和用户(实际上你大概率只需要 oinstall 和 dba):

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_06

centos6 切换桌面 centos6切换到图形界面_linux 重启oracle_07

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_08

groupadd -g 54321 oinstallgroupadd -g 54322 dbagroupadd -g 54327 asmdbagroupadd -g 54324 backupdbagroupadd -g 54325 dgdbagroupadd -g 54326 kmdbagroupadd -g 54330 racdbagroupadd -g 54323 opergroupadd -g 54328 asmoper
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle

修改 oracle 用户密码(二选一):

passwd oracle
echo "123456" | passwd --stdin oracle


修改内核参数,注意 /etc/sysctl.conf 已被弃用:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_09

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_10

vi /etc/sysctl.d/97-oracle-database-sysctl.conf


(弹出的编辑框,单击键盘字母键 i 进入输入模式)添加:

fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576


保存(编辑好之后,单击键盘 Esc 键,输入 :wq 保存退出)。 使修改生效(或者重启生效):

sysctl --system


修改文件限制(实际上我在 12c 的文档中没有找到相关说明,只在 11g 的安装手册中找到了说明,11g 的安装说明就相对简单了一点,可以作为参考: https://docs.oracle.com/cd/B28359_01/install.111/b32002/pre_install.htm#LADBI245, 既然我没有相关说明我这里便不做修改,不过实际安装的时候确实需要调整文件按参数,与系统有关,往下看):

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_11


设置时区(可选):

timedatectl set-timezone Asia/Shanghai


桌面环境准备

Oracle 安装分图形界面安装和静默安装,本文讲的是图形界面安装 安装图形界面和 vnc 远程桌面:

yum -y groupinstall "GNOME Desktop"   yum -y groupinstall "X Window System"yum install tigervnc tigervnc-server

可选中文支持:

yum groupinstall “Chinese Support”

你可能还需要停止、停用防火墙(不建议):

systemctl stop firewalld.servicesystemctl disable firewalld.service

(实际上需要重新调整配置才能在远程中调用图形界面安装,截止到正式安装前的这一部分可以不用操作,但是需要了解)启动服务(这里会有设置密码,这个是vnc的密码,不是linux用户的密码):

vncserver

查看开启的远程(每次启动服务都会开启一个端口,端口号为 590*,最后一位便是开启的 vncserver 编号):

vncserver -list

关闭远程服务:

vncserver -kill

本地下载安装vnc远程桌面软件:

https://www.realvnc.com/en/connect/download/viewer/

输入地址和端口号连接:

139.*.*.*:5901

在上述开启vnc服务的时候会有提示远程桌面号,包括“vncserver -list”也能看到,这里的端口与桌面号对应,如:5901、5902

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_12

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_13


正式安装(并不是,这里也会重新配置一下桌面环境)

上传 Oracle12c 安装包(我这里用的xftp,略):

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_14


解压缩,进入目录(如果没有 unzip 包,安装:yum install -y unzip):

unzip linuxx64_12201_database.zip

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_15


切换 oracle 用户,进入目录,安装:

sudo - oraclecd /opt/database./runInstaller

在远程桌面安装中可能遇到如下截图的报错(Failed),继续会报错:

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_16


实际是因为 vnc 登录的是 root 用户,修改 vnc 配置,参考“/lib/systemd/system/vncserver@.service"中”Quick HowTo“的内容:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_17


(需要先停掉 vnc,vncserver -kill :1,上文有描述)拷贝并修改,修改“%i”为“:1”,“”为“oracle”:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.servicevi /etc/systemd/system/vncserver@:1.service

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_18


重新加载配置:

systemctl daemon-reload


设置开机启动:

systemctl enable vncserver@:1.service


进入 oracle 用户设置密码:

su - oraclevncpasswd


返回 root 用户,启动服务:

exitsystemctl start vncserver@:1.service


重新配置和连接远程服务完成,其他相关脚本:

# 启动服务systemctl start vncserver@:1.service# 停止systemctl stop vncserver@:1.service# 重启systemctl restart vncserver@:1.service ### 查看状态systemctl status vncserver@:1.service

centos6 切换桌面 centos6切换到图形界面_linux 重启oracle_19


重新打开 vnc 客户端连接,进入目录并开始安装 oracle:

cd /opt/database./runInstaller


正式安装


centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_20


进入图形界面:

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_21


去掉勾选“Oracle 支持”,下一步,yes,下一步:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_22


选择创建配置一个数据库,下一步:

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_23


默认桌面版本,下一步:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_24


这里按需求配置即可,可预先配置密码,密码不符合规范没有关系,Yes,下一步:

centos6 切换桌面 centos6切换到图形界面_linux 重启oracle_25



centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_26


默认字典位置,下一步:

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_27


等待价差先决条件:

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_28


如果提示“Hard Limit*”,需要调整大文件限制:

vi /etc/security/limits.conf


在最后添加:

* hard nofile 65536* soft nofile 65536* hard nproc 65536* soft nproc 65536


执行命令使修改生效:

ulimit -a


如果提示“Soft Limit: maximum stack size*”,需要修改堆栈大小限制,同样修改 limits.conf 添加代码并使生效(需要重安装程序,可以使用“ulimit -s 10240”临时处理):

* soft stack 10240


如果 提示“Package”缺失, yum 安装即可(不可以 Ignore All) Check Again 重新检测完成,点击安装:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_29


安装中,等待:

centos6 切换桌面 centos6切换到图形界面_linux 重启oracle_30


提示执行脚本,这里停顿一下:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_31


打开 命令行 ,登录 root,执行脚本:

su rootsh /home/oracle/app/oraInventory/orainstRoot.shsh /home/oracle/app/oracle/product/12.2.0/dbhome_1/root.sh


执行完成点击 OK,继续等待安装完成:

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_32


安装完成,关闭即可:

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_33


添加环境变量:

[oracle@localhost ~]$ vi .bash_profile


在文末添加如下代码:

ORACLE_BASE=/home/oracle/app/oracleORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1ORACLE_SID=orclexport ORACLE_BASE ORACLE_HOME ORACLE_SIDPATH=$ORACLE_HOME/bin:$PATHexport PATH


使配置生效(临时有效,仅对当前用户有效):

source .bash_profile


此时已经可用 sqlplus:

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_34

配置监听程序,安装中会自动配置,但不可用,需要重新配置:

netca

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_35


下一步,修改已存在的监听:

centos6 切换桌面 centos6切换到图形界面_linux登录oracle_36


一路下一步完成即可 启动数据库:

sqlplus / as sysdbastartup

centos6 切换桌面 centos6切换到图形界面_centos6 切换桌面_37


此时的数据库才是正常可用的:

centos6 切换桌面 centos6切换到图形界面_centos7切换图形界面_38


安装 结束之后 不要忘了停用 vnc:

systemctl stop vncserver@:1.service


本文到此结束,讲述

远程 Linux 服务器安装 Oracle 12c (图形界面)的超详细图文教程