CentOS安装Oracle19c
Oracle下载地址
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
修改系统yum源
[root@localhost oracle]# cat /etc/redhat-release
CentOS Linux release 8.4.2105
[root@localhost oracle]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv CentOS*.repo bak
[root@localhost yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-8.repo
--2021-12-27 15:56:31-- http://mirrors.aliyun.com/repo/Centos-8.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 125.39.43.237, 60.223.231.226, 125.39.43.236, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|125.39.43.237|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2595 (2.5K) [application/octet-stream]
Saving to: ‘Centos-8.repo’
Centos-8.repo 100%[===========================================================>] 2.53K --.-KB/s in 0s
2021-12-27 15:56:33 (222 MB/s) - ‘Centos-8.repo’ saved [2595/2595]
[root@localhost yum.repos.d]# yum clean all
28 files removed
[root@localhost yum.repos.d]# yum makecache
CentOS-8 - Base - mirrors.aliyun.com 5.9 MB/s | 3.6 MB 00:00
CentOS-8 - Extras - mirrors.aliyun.com 56 kB/s | 10 kB 00:00
CentOS-8 - AppStream - mirrors.aliyun.com 4.9 MB/s | 8.4 MB 00:01
Docker CE Stable - x86_64 10 kB/s | 19 kB 00:01
Metadata cache created.
查看防火墙状态
# 查看防火墙状态
systemctl status firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 彻底关闭防火墙 不再自启动
systemctl disable firewalld.service
创建用户组及用户
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper oracle
创建相关目录并赋权
mkdir -p /app/oracle/19.3.0/db_1
chown -R oracle:oinstall /app/oracle
配置Oracle环境变量
如下所示,可以根据需要将注释打开即可:
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# User specific environment and startup programs
export ORACLE_SID=orcl
# export ORACLE_UNQNAME=sanshi
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/19.3.0/db_1
# export NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"
# export NLS_LANG=american_america.ZHS16GBK
# export TNS_ADMIN=$ORACLE_HOME/network/admin
# export ORA_NLS11=$ORACLE_HOME/nls/data
export PATH=${PATH}:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
# export THREADS_FLAG=native
# export TEMP=/tmp
# export TMPDIR=/tmp
# umask 022
修改内核参数
# 增加下面参数到/etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
# 使参数生效
sysctl --system
安装依赖包
能安装多少是多少,一般会提示下面几个未找到,但继续进行后面的安装一般没影响(反正我是没问题):
No match for argument: compat-libcap1
No match for argument: compat-libstdc++
No match for argument: dtrace-modules
No match for argument: dtrace-modules-headers
No match for argument: dtrace-modules-provider-headers
No match for argument: dtrace-utils
No match for argument: libdtrace-ctf-devel
#安装oracle依赖包
yum install bc gcc gcc-c++ binutils compat-libcap1 compat-libstdc++ dtrace-modules dtrace-modules-headers dtrace-modules-provider-headers dtrace-utils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libdtrace-ctf-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb make smartmontools sysstat
OS不兼容需调整
因为Oracle不兼容CentOS8,安装时会弹出一个Unexpected error while executing the action at state. 'supportedOSCheck'
错误提示,可临时修改OS参数后再进行安装:
export CV_ASSUME_DISTID=RHEL7.6
安装缺失包
如果提示error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
,则通过下面的命令进行安装即可:
dnf install libnsl
界面化安装
需要使用oracle用户进行安装,直接执行./runInstaller
,会提示下面的错误:
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
我自己的解决方案,就是一个半吊子,不太懂也懒得找其他方法,不一定所有人适用,因为直接执行./runInstaller
是启动的界面化安装,找不到相关启动界面的内容才报的错:
-
通过MobaXterm登录服务器(XShell或其他工具应该也可以)
-
直接使用oracle用户登录(不要使用其他用户登录后再su切换)
直接用oracle用户第一次登录时会自动创建一个
.Xauthority
文件,这个应该就是界面化安装必须的 -
再次执行就会直接跳出界面
-
后面的就和在windows一样了,一步一步next就行了