Oracle client 静默安装

目录

1、准备阶段

1.1、部署需求

1.2、硬件准备

1.3、软件准备

2、实施阶段

2.1、操作系统相关实施

2.1.1、关闭防火墙、SELINUX

2.1.2、安装依赖包

[2.1.3、创建oracle client相关用户、组](#2.1.3、创建oracle client相关用户、组)

[2.1.4、创建Oracle client相关目录](#2.1.4、创建Oracle client相关目录)

[2.1.5、设置Oracle client环境变量](#2.1.5、设置Oracle client环境变量)

2.1.6、绕过操作系统兼容性检查

[2.2、Oracle client相关实施](#2.2、Oracle client相关实施)

[2.2.1、上传并解压Oracle client软件压缩包](#2.2.1、上传并解压Oracle client软件压缩包)

2.2.2、配置响应文件

2.2.3、执行安装程序

[2.2.5、sqlplus 连接测试](#2.2.5、sqlplus 连接测试)


1、 准备阶段

1.1、部署需求

本次部署Oracle 客户端,客户端版本是LINUX.X64_193000_client.zip;可供选择的操作系统只有麒麟(Kylin V10),不可以调用图形界面,所以只能选择静默安装。

1.2、硬件准备

|--------|------------|------------------|
| /tmp | >415M | 先决条件检查,会用于存放安装日志 |
| swap内存 | >150M | 先决条件检查 |
| 磁盘 | 安装目录>100G | |

1.3、软件准备

从官方网站下载对应的Oracle client,需要有Oracle官网账号。如果不方便下载,可评论留言获取。

Oracle Database 19c Download for Linux x86-64 | Oracle 中国https://www.oracle.com/cn/database/technologies/oracle19c-linux-downloads.html

2、 实施阶段

2.1、操作系统相关实施

2.1.1、关闭防火墙、SELINUX

bash 复制代码
#禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
#禁用SELINUX
setenforce 0
sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/selinux/config

2.1.2、安装依赖包

bash 复制代码
# 基础依赖
yum install -y unzip 
yum install -y ksh 
yum install -y libaio 
yum install -y glibc-devel 
yum install -y binutils 
yum install -y elfutils-libelf 
yum install -y fontconfig-devel
yum install -y make
yum install -y libstdc++-devel 
bash 复制代码
rpm -ivh compat-libcap1-1.10-7.el7.x86_64.rpm 
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm 

rpm -ivh libnsl-2.28-49.p02.ky10.x86_64.rpm
rpm -ivh libnsl2-1.3.0-1.ky10.x86_64.rpm
rpm -ivh libnsl2-devel-1.3.0-1.ky10.x86_64.rpm 

通过网盘分享的文件:kylinpkg

链接: https://pan.baidu.com/s/1jAoEUAh1BRtf44hsqpXSBg

提取码: abed

【上面5个rpm包的下载资源】

2.1.3、创建 oracle client相关 用户、组

bash 复制代码
groupadd oinstall
useradd -g oinstall -m oracle
echo "P@ssw0rd" | passwd --stdin oracle

2.1.4、创建Oracle client相关目录

bash 复制代码
#创建Oracle相关目录
mkdir -p /oracle/oraInventory
mkdir -p /oracle/app/oracle
mkdir -p /oracle/app/oracle/product/19/client
#目录权限调整
chown -R oracle:oinstall /oracle
chmod -R 775 /oracle

2.1.5、设置Oracle client环境变量

bash 复制代码
#切换到oracle用户
su - oracle

#vim编辑用户环境变量文件
vim ~/.bash_profile

#以下是编辑内容
export ORACLE_HOME=/oracle/app/oracle/product/19/client
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

#加载环境变量文件,使其生效
source ~/.bash_profile

2.1.6 、绕过操作系统兼容性检查

bash 复制代码
export CV_ASSUME_DISTID=RHEL7.6

2.2、Oracle client相关实施

2.2.1、上传并解压Oracle client软件压缩包

bash 复制代码
unzip LINUX.X64_193000_client.zip

2.2.2、配置响应文件

#响应文件位置按照如图去寻找。

#需要重点配置的响应文件如下

bash 复制代码
oracle.install.responseFileVersion=/oracle/install/rspfmt_clientinstall_response_schema_v19.0.0
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/oraInventory
ORACLE_HOME=/oracle/app/oracle/product/19/client
ORACLE_BASE=/oracle/app/oracle
oracle.install.client.installType=Administrator
oracle.install.client.customComponents="oracle.rdbms.util:19.0.0.0.0","oracle.sqlplus:19.0.0.0.0","oracle.network.client:19.0.0.0.0"

2.2.3、执行安装程序

bash 复制代码
cd /oracle/client/
./runInstaller -silent -ignorePrereq -responseFile /oracle/client/response/client_install.rsp

直接执行的话,会遇到如下错误

按照提示,去查看日志,会发现日志中有这么一串内容:"genclntsh: Failed to link libclntshcore.so.19.1"。这是因为系统缺少libpthread_nonshared.a文件,这和glibc版本有关系,在glibc2.28版本之后不再提供libpthread_nonshared.a文件,但oracle安装时缺依然需要它。

解决方法很简单,从其他环境拷贝一份libpthread_nonshared.a文件,粘贴至/usr/lib64目录下并赋权,然后重新执行安装程序,问题不会再出现。如果找不到此文件的,也可以评论留言找我获取。

bash 复制代码
cp libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
chmod 777 /usr/lib64/libpthread_nonshared.a


#安装程序执行完后,再以root用户执行提示出现的脚本

bash 复制代码
/oracle/oraInventory/orainstRoot.sh

2.2.5、sqlplus 连接测试

bash 复制代码
#查看sqlplus版本
sqlplus -V

#连接测试
sqlplus username/password@host:port/service_name
相关推荐
IT项目管理7 分钟前
达梦数据库DMDRS搭建单向dm8-dm8数据同步
数据库
咖丨喱1 小时前
【Action帧简要分析】
服务器·数据库·asp.net
没饭吃!1 小时前
NHibernate案例
数据库·hibernate
泷羽Sec-静安1 小时前
OSCP官方靶场-Solstice WP
服务器·网络·数据库
IvanCodes1 小时前
Oracle 视图
大数据·数据库·sql·oracle
德育处主任Pro2 小时前
「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件
数据库·python·数据分析
许白掰2 小时前
Linux入门篇学习——Linux 编写第一个自己的命令
linux·运维·数据库·嵌入式硬件·学习
打不了嗝 ᥬ᭄2 小时前
文件系统----底层架构
linux·运维·数据库
亲爱的非洲野猪3 小时前
Oracle与MySQL详细对比
数据库·mysql·oracle
Matrix703 小时前
Navicat实现MySQL数据传输与同步完整指南
数据库·mysql