Linux_openEuler_24.03部署Oracle 19c部署安装实测验证(无图形桌面-RPM模式)

在这里插入图片描述

前言:

近期对openeuler有点兴趣,顺带在做个开发数据仓项目,那就正好安装个环境做个调测,做个记录放上来做个备录给到大家参考。

在这里插入图片描述

openEuler 24.03 LTS:四大升级, 首个AI原生开源操作系统正式发布 openEuler 已支持x86、Arm、SW64、RISC-V、LoongArch 多处理器架构,逐步扩展 PowerPC等更多芯片架构支持,持续完善多样性算力生态体验。
openEuler 社区面向场景化的 SIG 不断组建,推动 openEuler应用边界从最初的服务器场景,逐步拓展到云计算、边缘计算、嵌入式等更多场景。

在这里插入图片描述

Oracle19c‌:
进一步增强了自动化功能,并提供了更好的性能和安全性。这个版本在自动化、性能和安全性方面进行了重大改进,以满足现代企业对数据库的高要求。

环境

常规系统,官网度娘搜索即可下载测试学习

IOS:openEuler_24.03_LTS

下载:
1、https://www.openeuler.org/zh/download/archive/
2、https://mirror.sjtu.edu.cn/openeuler/openEuler-24.03-LTS/ISO/x86_64/openEuler-24.03-LTS-x86_64-dvd.iso

SQL:Oracle Database 19c for Linux x86-64

一、安装操作系统环境openEuler_24.03_LTS

安装部署参考之前文章:http://t.csdnimg.cn/cxBIl

1.1基础环境配置—完成系统主机名/IP/时区、关防火墙和SELinux、更换阿里云源\Update、安装图形界面vnc服务等
【查看/修改主机名】 
hostname  
vi /etc/hostname
【查看/修改IP】
ip address
vi /etc/sysconfig/network-scripts/ifcfg-ens33
【关闭防火墙】
systemctl stop firewalld      #关闭防火墙
systemctl disable firewalld   #取消开机启动-禁用防火墙 
firewall-cmd --reload  #重启防火墙,生效配置
【关闭SELinux】
setenforce 0 #临时   # 永久关闭
vi /etc/selinux/config
SELINUX=enforcing
更改为
SELINUX=disabled
或
sed -i 's/enforcing/disabled/' /etc/selinux/config
【查看/修改时区】
date
yum install -y ntpdate    #同步安装ntp时间服务器
ntpdate -u ntp.aliyun.com #同步系统时间与网络时间
【更换源】
# 查看官方源
ll /etc/yum.repos.d/
# 备份原始的 openEuler.repo文件
cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak
# 更换阿里云源
sed -i 's|http://repo.openeuler.org/|https://mirrors.aliyun.com/openeuler/|g' /etc/yum.repos.d/openEuler.repo
【验证是否更换成功update】
dnf update -y

二、Oracle下载安装包获取

本次采取RPM 包安装方式,无需用到桌面图形化、配置监听等,非常便捷,最终和oracle19c所倡导的自治数据库不谋而和,基本上实现了一键安装。

2.1 rpm包下载链接:
https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html
https://www.oracle.com/cn/database/technologies/oracle19c-linux-downloads.html
Oracle Database 19c for Linux x86-64

选择好需要的版本下载,使用Oracle账号登录,当然也可以找其他正规渠道下载如各大云镜像仓download
在这里插入图片描述

2.2 下载preinstall.rpm
[root@openeuler24-232 data]# curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

在这里插入图片描述
在这里插入图片描述

三、系统环境参数设置

3.1 利用脚本来配置环境参数,也可以按照以下脚本内容手动执行进行参数设置,因我之前已配置寄出环境所以很多我已注释。

备注:hosts文件中的ip及主机名称换成自己server 属性即可

3.2 创建脚本
[root@openeuler24-232 data]# vim system_configure.sh
-----------------
#!/bin/bash
#1关闭防火墙
#systemctl stop firewalld
#systemctl disable firewalld#2 关闭selinux
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# setenforce 0#3 修改主机名
# hostnamectl set-hostname oracledb
#4 编辑hosts文件
# echo "192.168.10.232 openeuler24-232" >> /etc/hosts
-----------------
#5 安装依赖
# 下载openEuler没有的两个包
wget https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/compat-libcap1-1.10-7.el7.x86_64.rpm 
wget https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpmrpm -vih compat-libcap1-1.10-7.el7.x86_64.rpm compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm# 环境依赖
dnf install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel libxcb libibverbs make policycoreutils policycoreutils-python-utils smartmontools sysstat psmisc xorg-x11-utils lsof libnsl libnsl2 vim net-tools openssl-devel  unixODBC unixODBC-devel libXrender-devel libXtst-devel librdmacm-devel xorg-x11-utils nfs-utils tigervnc-server#6 修改linux内核文件
echo '
kernel.shmmax = 7730941132
kernel.shmall = 1887436
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
#net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_timestamps = 0
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2' >> /etc/sysctl.conf
sysctl -p#7 修改linux限制文件
echo '
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728' >> /etc/security/limits.conf#8 修改/etc/pam.d/login文件
echo '
session required pam_limits.so' >> /etc/pam.d/login#9 修改环境变量
echo '
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fi
fi' >> /etc/profile
source /etc/profile
-----------------
3.3 执行脚本
[root@openeuler24-232 data]# bash system_configure.sh

四、安装oracle

4.1 安装preinstall.rpm

通过yum的localinstall,解决依赖包问题,安装完之后会自动创建oracle用户以及组,以及系统参数,当然用rpm -ivh安装也可以

[root@openeuler24-232 data]# yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

在这里插入图片描述

4.2 安装oracle 19c rpm软件包
[root@openeuler24-232 data]# rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm

在这里插入图片描述

4.3 修改oracle用户密码
[root@openeuler24-232 opt]# id oracle
[root@openeuler24-232 opt]# passwd oracle

在这里插入图片描述

4.4 dbca之前修改数据库配置参数

修改sid以及是否开启cdb

[root@openeuler24-232 ~]# vim /etc/init.d/oracledb_ORCLCDB-19c
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_VERSION=19c
export ORACLE_SID=orcl
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=ZHS16GBK
export PDB_NAME=orcl
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=false  ## 此条必修改

在这里插入图片描述

4.5 创建新配置文件
[root@openeuler24-232 ~]# cp /etc/sysconfig/oracledb_ORCLCDB-19c.conf     /etc/sysconfig/oracledb_orcl-19c.conf

备注:此配置文件命名方法为oracledb_$ORACLE_SID-19c.conf,需要注意sid
在这里插入图片描述

4.6 监听端口、数据文件等配置,可保持默认
[root@openeuler24-232 ~]# vim /etc/sysconfig/oracledb_ORCLCDB-19c.conf
------------
# LISTENER_PORT: Database listener
LISTENER_PORT=1521# ORACLE_DATA_LOCATION: Database oradata location
ORACLE_DATA_LOCATION=/opt/oracle/oradata# EM_EXPRESS_PORT: Oracle EM Express listener
EM_EXPRESS_PORT=5500
------------
4.7 相关文件夹创建及授权
[root@openeuler24-232 ~]# mkdir /opt/oracle/archivelog
[root@openeuler24-232 ~]# chown -R oracle:oinstall /opt/oracle/archivelog/
[root@openeuler24-232 ~]# chmod -R 755 /opt/oracle/archivelog/
[root@openeuler24-232 ~]# mkdir /opt/oracle/oradata
[root@openeuler24-232 ~]# chown -R oracle:oinstall /opt/oracle/oradata/
[root@openeuler24-232 ~]# chmod -R 755 /opt/oracle/oradata/

在这里插入图片描述

4.8 初始化创建实例
[root@openeuler24-232 ~]# /etc/init.d/oracledb_ORCLCDB-19c configure

报错1:未配置数据库

The Oracle Database is not configured. Unable to read the configuration file '/etc/sysconfig/oracledb_orcl-19c.conf'

在这里插入图片描述

解决方案:参考上述4.5 创建新配置文件
[root@openeuler24-232 ~]# cp /etc/sysconfig/oracledb_ORCLCDB-19c.conf     /etc/sysconfig/oracledb_orcl-19c.conf
`备注:此配置文件命名方法为oracledb_$ORACLE_SID-19c.conf,需要注意sid`

报错2:java.library.path系统变量无效或缺少此变量。请为java.library.path设置正确值并重试操作。
在这里插入图片描述

解决方案是缺少库libnsl,执行命令安装
[root@openeuler24-232 ~]# yum install -y libnsl.x86_64
# 继续创建实例
[root@openeuler24-232 ~]# /etc/init.d/oracledb_ORCLCDB-19c configure
Configuring Oracle Database orcl.
准备执行数据库操作
已完成 10%
复制数据库文件
无法访问文件 "/etc/oratab"。
已完成 40%
正在创建并启动 Oracle 实例
已完成 42%
已完成 46%
已完成 50%
已完成 54%
已完成 60%
正在进行数据库创建
已完成 66%
已完成 70%
执行配置后操作
已完成 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:/opt/oracle/cfgtoollogs/dbca/orcl。
数据库信息:
全局数据库名:orcl
系统标识符 (SID):orcl
有关详细信息, 请参阅日志文件 "/opt/oracle/cfgtoollogs/dbca/orcl/orcl.log"。Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user.

在这里插入图片描述
数据库配置成功完成。密码是自动生成的,您必须以oracle用户使用'sqlplus / as sysdba'连接到数据库来更改密码。

五、测试数据库连接

5.1 修改 oracle用户环境变量
# 切换到oracle用户
[root@openeuler24-232 ~]# su - oracle
[oracle@oracledb ~]# vim ~/.bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export INVENTORY_LOCATION=/opt/oracle/oraInventory
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
# export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH:$HOME/bin
umask 022

在这里插入图片描述

[oracle@oracledb ~]#  source ~/.bash_profile
5.2 查看监听状态
[oracle@oracledb ~]# lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-SEP-2024 17:34:25Copyright (c) 1991, 2019, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=openeuler24-232)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                20-SEP-2024 17:16:03
Uptime                    0 days 0 hr. 18 min. 22 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/openeuler24-232/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=openeuler24-232)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=openeuler24-232)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "orcl" has 1 instance(s).Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

在这里插入图片描述

5.3 连接数据库
[oracle@oracledb ~]# sqlplus / as sysdba
SQL> show pdbs;                               #列出所有PDB
SQL> select instance_name from v$instance;    #获取当前实例名称
SQL> select userenv('language') from dual;    #数据库服务端的字符集
SQL> select name from v$datafile;             #查询表空间文件存储位置
SQL> show parameter control;                  #查询控制文件的多元化

在这里插入图片描述

# 创建表
SQL> create table test232(ID number PRIMARY KEY,NAME varchar2(10) ,SEX varchar2(10),AGE number);
# 插入表测试数据
SQL> insert into test232 values ('3','小一','男','30');
# 查询表数据
SQL> select * from test232;

在这里插入图片描述

在这里插入图片描述


以上,感谢学习交流,技术无止境…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145983.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024华为杯研赛数学建模E题分析

2024华为杯数学建模E题分析如下,完整版本可查看最下方名片

U9多组织单据关连生单时的错误提示

开立采购退货单时,有以下的错误提示。从这段文字来看。生成【采购退货单】同时生成关联公司的【退回处理单】,检查退回处理单的单据类型是正常的。不明所以。系统商出来的错误提示一般是用来迷惑人的,不可尽信。 【未找到满足条件【上游推式…

Mybatis的XML实现方法

Mybatis的开发有两种方式: 1、注解 2、XML 使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。 Mybatis的XML的实现需要以下…

最新版本TensorFlow训练模型TinyML部署到ESP32入门实操

最新版本TensorFlow训练模型TinyML入门实操 1.概述 这篇文章介绍微型嵌入式设备的机器学习TinyML,它们的特点就是将训练好的模型部署到单片机上运行。 2.TensorFlow深度学习原理 TensorFlow开源项目是由google研发的一个嵌入式机器学习工具,通过调用…

Compose动画

一、Compose动画种类和选择 1.1 选择动画API 1.采用SVG:AnimatedVectorDrawable 是否第三方动画框架:Lottie动画 2.是否需要永久播放:rememberInfiniteTransition 3.布局动画 在内容不同的多个可组合项之间切换 3.1 导航过渡动画&#…

154-钓鱼篇Offfice-CVE漏洞RLO隐藏压缩包释放免杀打包捆绑

#知识点: 1、文件名-RLO 伪装-后缀 2、压缩文件-自解压-运行 3、捆绑文件-打包加载-运行 4、Office 套件-漏洞钓鱼-CVE #文件后缀-钓鱼伪装-RLO cs生成一个exe后门 重命名为一个png反过来或者jpg反过来的名字 然后再g前面输入其他字符在g字符前面右键选择这个插入…

CUDA-事件计时方法cudaEventElapsedTime

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 实现原理 事件计时方法是CUDA编程中一种用于测量GPU内核执行时间的高效手段。其基本步骤包括: 创建事件:…

Python模拟鼠标轨迹[Python]

一.鼠标轨迹模拟简介 传统的鼠标轨迹模拟依赖于简单的数学模型,如直线或曲线路径。然而,这种方法难以捕捉到人类操作的复杂性和多样性。AI大模型的出现,能够通过深度学习技术,学习并模拟更自然的鼠标移动行为。 二.鼠标轨迹算法实…

echarts柱图

样式如下 关键代码 // html部分<div class"echarts-container" :id"echartDiv id"></div>// js部分 data() {return {myChart: null,xAxisData: [云南, 浙江, 山东, 广东, 四川, 河南, 广西, 河南, 广西],yAxisData: [{value: 230,num: {r…

超实用线程调度方法!

文章目录 前言一、实现思路二、实现实例三、实现效果 前言 你有想过这样一个问题吗&#xff1f;线程之间是如何调度的&#xff1f; 更具体点说是这样&#xff0c;有两个线程&#xff1a;线程A和线程B&#xff0c;线程B要先于线程A运行&#xff0c;或者是线程B运行了多次之后在…

2024年华为杯中国研究生数学建模竞赛F题保姆级教程思路分析

2024年中国研究生数学建模竞赛F题保姆级教程思路分析 F题题目&#xff1a;X射线脉冲星光子到达时间建模 本题目围绕脉冲星导航与X射线光子到达时间建模展开。脉冲星由于其自转稳定性和规律性&#xff0c;被认为是宇宙中精确的时钟&#xff0c;并可以用作航天器的定位和导航基…

Ubuntu 22.04 源码下载、编译

Kernel/BuildYourOwnKernel - Ubuntu Wikihttps://wiki.ubuntu.com/Kernel/BuildYourOwnKernel 一、查询当前系统内核版本 rootubuntu22:~# uname -r 5.15.0-118-generic 二、查询本地软件包数据库中的内核源码信息 rootubuntu22:~# apt search linux-source Sorting... Do…

使用Maven创建一个Java项目并在repository中使用

JDK环境&#xff1a;1.8.0_371 Maven环境 &#xff1a;Apache Maven 3.6.3 配置完成jdk和mvn后&#xff0c;进入到指定文件夹下执行如下语句&#xff1a; mvn archetype:generate -DgroupIdtop.chengrongyu -DartifactIdCyberSpace -DarchetypeArtifactIdmaven-archetype-quic…

(20)Shell脚本的书写

linux中的shell脚本&#xff0c;其实是系统中真正的命令。Shell语言写的程序不需编译.定义各种参数和变量、使用条件命令、控制结构以及其他高级特性。 一、shell脚本基本元素 1.1变量 定义&#xff1a;定义一个名称&#xff0c;将参数赋予给这个名称。就叫变量。变量名可以…

C++【类和对象】(一)

文章目录 前言1.类的定义1.1类定义格式1.2 访问限定符1.3 类域 2. 实例化2.1 实例化的概念2.2 对象大小 3.this指针结语 前言 在前文我们讲解了C基础语法知识。本文将会讲解C的类和对象。 1.类的定义 1.1类定义格式 class name {}&#xff1b;class为定义类的关键字&#x…

Linux进阶命令-rsync

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 经过上一章Linux日志的讲解&#xff0c;我们对Linux系统自带的日志服务已经有了一些了解。我们接下来将讲解一些进阶命令&am…

erlang学习:Linux常用命令2

目录操作命令 对目录进行基本操作 相关cd切换目录之类的就直接省去了&#xff0c;以下操作中都会用到 查看当前目录下的所有目录和文件 ls 列表查看当前目录下的所有目录和文件&#xff08;列表查看&#xff0c;显示更多信息&#xff09; ls -l 或 ll 在当前目录下创建一个…

高性能并发计数器的比较

参考文档&#xff1a;https://baijiahao.baidu.com/s?id1742540809477784106&wfrspider&forpc 一、常用的并发计数方法 1、synchronized synchronized早期是一个重量级锁&#xff0c;因为线程竞争锁会引起操作系统用户态和内核态切换&#xff0c;浪费资源&#xff…

Element Plus中button按钮相关大全

一、基本用法 使用 type、plain、round 和 circle 来定义按钮的样式。 样式代码如下&#xff1a; <template><div class"mb-4"><el-button>Default</el-button><el-button type"primary">Primary</el-button><el…

C语言常见字符串函数模拟实现一

strlen模拟实现 重点&#xff1a;1.字符串已经\0作为结束标志&#xff0c;strlen返回的是字符串\0前面出现的字符个数&#xff08;不包含\0&#xff09; 2.参数指向的字符串必须要以\0结束。 3.注意函数的返回值是size_t&#xff0c;是无符号的&#xff0c;加减是无法对比的。…