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

news/2024/9/22 11:03:37/

在这里插入图片描述

前言:

近期对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_201">四、安装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

在这里插入图片描述

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

在这里插入图片描述

oracle_213">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'连接到数据库来更改密码。

五、测试数据库连接

oracle_329">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.ppmy.cn/news/1528789.html

相关文章

波士顿机器人滑环的技术特点与应用前景

机器人滑环在现代自动化和机器人技术中扮演着至关重要的角色。作为一种关键的机械组件,滑环允许机器人在旋转和移动的过程中保持稳定的电信号和数据传输。波士顿机器人滑环作为行业中的领先产品,具有多项独特的技术特点和优势,为各种机器人系…

react:React Hook函数

使用规则 只能在组件中或者其他自定义的Hook函数中调用 只能在组件的顶层调用,不能嵌套在if、for、 其他函数中 基础Hook 函数 useState useState是一个hook函数,它允许我们向组件中添加一个状态变量,从而控制影响组件的渲染结果 示例1…

DOS(Disk Operating System,磁盘操作系统)常用指令

目录 背景: 早期探索: DOS之父: 发展历程: 常用指令: 进入命令: 操作1.进入和回退: 操作2.增、删: 操作3.其它: 总结: 背景: 早期探索: DOS(Disk Operating System,磁盘操作系统)在…

C++进阶|多态知识点详解及经典面试题总结

🍬 mooridy-CSDN博客 🧁C专栏(更新中!) 目录 1. 多态的概念 2. 多态的定义及实现 2.1 多态的构成条件 2.2 虚函数的重写/覆盖 2.3 虚函数重写的⼀些其他问题 2.4 override 和 final关键字 2.5 重载/重写/隐藏的…

Mina protocol - 体验教程

Mina protocol - 体验教程 一、零知识证明( Zero Knowledge Proof )1、零知识证明(ZKP)的基本流程工作流程: 2、zkApp 的优势:3、zkApp 每个方法的编译过程: 二、搭建第一个zkapp先决条件1、下载或者更新 zkApp CLI​2…

增强现实系列—Real-Time Simulated Avatar from Head-Mounte

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

ChatGPT 4o 使用指南 (9月更新)

首先基础知识还是要介绍得~ 一、模型知识: GPT-4o:最新的版本模型,支持视觉等多模态,OpenAI 文档中已经更新了 GPT-4o 的介绍:128k 上下文,训练截止 2023 年 10 月(作为对比,GPT-4…

Spring 源码解读:实现自定义注解处理器

引言 注解在现代 Java 编程中扮演了至关重要的角色。无论是简化代码、增强可读性,还是将元数据与业务逻辑分离,注解都让我们的代码更加优雅和灵活。Spring 中大量使用了注解,特别是像 Autowired、Component 等注解,这些背后依赖的…