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 sysstatOS不兼容需调整
因为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就行了



