官网指南,包括数据库、客户端的安装、升级:

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/install-and-upgrade.html

首先:

本文并不是傻瓜式的安装教程:你至少需要知道简单的 Linux 知识,包括 cd、vi、yum 等(虽然文中也大多给了使用方法,也需要知道 shell 登录和 sftp 的使用)

本文也不是最简的教程:文中也有些重复的、没必要的配置过程

但是:

本文能够教会你安装的思路和方法,适用于各类版本的数据库

硬件环境准备

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

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

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

其他涉及商业许可、服务器配置(交换空间等,理论上交换空间需要是内存的 1.5 倍)等相关说明这里不做介绍,用于个人学习环境的搭建可以简化关注。

官网也提供了一些检查硬件的语句:

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

软件环境准备

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

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

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

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

更新系统(可忽略):

yum update -y

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

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):

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54327 asmdba
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba
groupadd -g 54323 oper
groupadd -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 已被弃用:

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

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

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

既然我没有相关说明我这里便不做修改,不过实际安装的时候确实需要调整文件按参数,与系统有关,往下看):

设置时区(可选):

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.service
systemctl disable firewalld.service

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

vncserver

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

vncserver -list

关闭远程服务:

vncserver -kill <X-display>

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

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

输入地址和端口号连接:

139.*.*.*:5901

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

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

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

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

unzip linuxx64_12201_database.zip

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

sudo - oracle
cd /opt/database
./runInstaller

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

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

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

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

重新加载配置:

systemctl daemon-reload

设置开机启动:

systemctl enable vncserver@:1.service

进入 oracle 用户设置密码:

su - oracle
vncpasswd

返回 root 用户,启动服务:

exit
systemctl start vncserver@:1.service

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

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

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

cd opt/database
./runInstaller

正式安装

进入图形界面:

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

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

默认桌面版本,下一步:

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

默认字典位置,下一步:

等待价差先决条件:

如果提示“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 重新检测完成,点击安装:

安装中,等待:

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

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

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

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

安装完成,关闭即可:

添加环境变量:

[oracle@localhost ~]$ vi .bash_profile

在文末添加如下代码:

ORACLE_BASE=/home/oracle/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID


PATH=$ORACLE_HOME/bin:$PATH
export PATH

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

source .bash_profile

此时已经可用 sqlplus:

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

netca

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

一路下一步完成即可

启动数据库:

sqlplus / as sysdba
startup

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

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

systemctl stop vncserver@:1.service

本文到此结束,讲述

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

最后修改:2021 年 10 月 25 日
如果觉得我的文章对你有用,请随意赞赏