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

news2024/11/16 4:54:18

在这里插入图片描述

前言:

近期对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.rpm

rpm -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" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
  else
  ulimit -u 16384 -n 65536
   fi
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:25

Copyright (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.coloradmin.cn/o/2154451.html

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

相关文章

【医疗大数据】基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析

基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析 1、引言 1-1 医疗大数据的特点 10 V模型:在医疗领域,大数据的特点被描述为10 V,包括价值(Value)、体量(Volume)、速度&#xf…

C语言-文件操作-一些我想到的、见到的奇怪的问题

博客主页:【夜泉_ly】 本文专栏:【C语言】 欢迎点赞👍收藏⭐关注❤️ C语言-文件操作-一些我想到的、见到的奇怪的问题 前言1.在不关闭文件的情况下,连续多次调用 fopen() 打开同一个文件,会发生什么?1.1过…

【linux-Day4】linux的基本指令<下>

【linux-Day4】linux的基本指令<下> linux下的基本指令&#x1f4e2;date&#xff1a;显示时间&#x1f4e2;cal&#xff1a;显示公历日历&#x1f4e2;whereis &#xff1a; 查找指令->可执行文件/源代码/帮助手册所在的位置&#x1f4e2;find &#xff1a;在目录中搜…

C++ | Leetcode C++题解之第424题替换后的最长重复字符

题目&#xff1a; 题解&#xff1a; class Solution { public:int characterReplacement(string s, int k) {vector<int> num(26);int n s.length();int maxn 0;int left 0, right 0;while (right < n) {num[s[right] - A];maxn max(maxn, num[s[right] - A]);i…

色彩管理中的Gamma值的理解

目录 广义的Gamma值为什么要将输出和输入做Gamma运算&#xff1f;显示器的Gamma值什么是Gamma值为1.0线性响应?显示器的Gamma值标准是多少?为什么sRGB在Gamma0.45空间&#xff1f;打印机、印刷机Gamma值?印刷机Gamma与显示器的Gamma的比较参考文章 广义的Gamma值 Gamma值的…

YOLOv8改进,YOLOv8替换主干网络为VanillaNet( CVPR 2023 华为提出的全新轻量化架构),大幅度涨点

改进前训练结果: 改进后训练结果: 摘要 基础模型的核心理念是“更多即不同”,这一理念在计算机视觉和自然语言处理领域取得了惊人的成功。然而,变压器模型的优化挑战和固有复杂性呼唤一种向简化转变的范式。在本研究中,引入了VanillaNet,一种拥抱设计优雅的神经网络架构…

Ansible部署与应用基础

由于互联网的快速发展导致产品更新换代速度逐步增长&#xff0c;运维人员每天都要进行大量的维护操作&#xff0c;按照传统方式进行维护使得工作效率低下。这时部署自动化运维就 可以尽可能安全、高效的完成这些工作。 一、Ansible概述 1.什么是Ansible Ansible 是基于 Pytho…

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题

问题&#xff1a; linux 在执行cp的命令的时候&#xff0c;就算是执行 cp -f 也还是会提醒是否要进行替换。 问题原因&#xff1a; 查看别名&#xff0c;alias命令&#xff0c;看到cp的别名为cp -i&#xff0c;那就是说cp本身就是自带覆盖提醒&#xff0c;就算我们加上-f 的…

《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统

视频讲解 【第1季】9.第9章_视觉SLAM系统-视频讲解 【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法&#xff08;上&#xff09;-视频讲解 【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法&#xff08;下&#xff09;-视频讲解 【第1季】9.2.第9章_视觉SLAM系统_LSD-SLAM算法…

TikTok提示“Network is out of reach”怎么处理?

当TikTok提示“Network is out of reach”时&#xff0c;意味着应用无法连接到互联网。导致这一问题的常见原因包括网络连接不稳定、地理限制或网络设置与应用不兼容等。解决方法有&#xff1a;拔除手机卡、关闭手机定位服务、切换至稳定的海外IP网络等。使用TikTok专用网络也可…

用户态缓存:链式缓冲区(Chain Buffer)

目录 链式缓冲区&#xff08;Chain Buffer&#xff09;简介 为什么选择链式缓冲区&#xff1f; 代码解析 1. 头文件与类型定义 2. 结构体定义 3. 宏定义与常量 4. 环形缓冲区的基本操作 5. 其他辅助函数 6. 数据读写操作的详细实现 7. 总结 8. 结合之前的内容 9. 具…

利用LRZ压缩与Base64编码实现高效文件上传

引言 在当今互联网时代&#xff0c;文件上传已成为众多在线服务不可或缺的一部分&#xff0c;尤其是在社交媒体平台上的照片分享和云存储服务中的文档管理等场景&#xff0c;高效且安全的文件上传机制对于保障用户体验至关重要。 为此&#xff0c;本文将介绍一种结合了LRZ压缩…

汇川AM400脉冲轴控制(轴控功能块ST源代码)

汇川AM400如何和编程软件通信连接 汇川AM400PLC如何和编程软件通信连接_汇川am400读取程序-CSDN博客文章浏览阅读159次。本文介绍了如何使用CODESYS编程软件与汇川AM400PLC进行通信连接,包括扫描网络、修改IP地址、刷新日志和下载监控程序的步骤。同时,文章提到了CODESYS编程…

灯塔:JavaScript

Web标准也称为网页标准&#xff0c;由一系列的标准组成&#xff0c;大部分由W3C&#xff08;World Wide Web Consortium,万维网联盟&#xff09;负责制定。 三个组成部分&#xff1a; HTML&#xff1a;负责网页的基本结构&#xff08;页面元素和内容&#xff09;。 CSS&…

go 安装依赖超时

一、配置代理 go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.io,direct go get github.com/unidoc/unioffice

ODrive电机驱动算法VScode环境配置笔记教程

1、ODrive基本介绍 ODrive 是一个开源的优秀电机控制器项目&#xff0c;旨在为各种应用提供高性能、高可靠性的电机控制解决方案。这个项目是专门用于驱动无刷直流电机&#xff08;BLDC&#xff09;和永磁同步电机&#xff08;PMSM&#xff09;的高性能开源伺服控制系统。ODriv…

AI绘制调整虚线教程

1、打开ai的软件&#xff0c;执行菜单栏中的文件—新建&#xff0c;新建一个大小任意的画板&#xff0c;画板大小根据自己的需要来设置。 2、选择工具箱中的直线段工具&#xff0c;将填充设置为无&#xff0c;描边设置为黑色&#xff0c;描边大小稍微设置大一点&#xff0c;画一…

【学习笔记】STM32F407探索者HAL库开发(五)F407时钟系统配置

【学习笔记】STM32F407探索者HAL库开发&#xff08;四&#xff09;F407时钟系统配置 1 F407_CubeMX时钟树配置&#xff08;传送门&#xff09;2 STM32F407时钟树2.1 STM32F407时钟系统图2.2 STM32F103时钟树简图2.2.1 高速部分2.2.2 低速部分 2.3 时钟源2.3.1 外部时钟源2.3.2 …

SOCKS5、HTTP 代理IP协议有何区别?

在网络通信领域&#xff0c;代理服务器的选择对于数据安全和传输效率至关重要。SOCKS5代理和HTTP代理作为两种常用的代理类型&#xff0c;各自具有独特的特点和适用场景。本文将深入探讨SOCKS5代理与HTTP代理的区别、特性及应用场景&#xff0c;为用户提供选择指南。 一、SOCK…

数据结构:二叉树(一)

ps&#xff1a;偷懒了几天&#xff0c;接着更新 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的…