Proxmox VE 8 试装Oracle 23c

作者:田逸(formyz)

Oracle 当前的最新版本是23c,虽然官方网站下载不了它的正式版本,但是却提供了一个性能受限的免费版本“Oracle Database 23.3 Free”(存储容量受限、内存使用受限)。这里就只好用这个免费的版本来做测试,免费的版本能正常部署,那么将来的正式版本的部署也不在话下。

Oracle 23C 提供如下几种安装方式:

  • Docker容器。通过 docker pull container-registry.oracle.com/database/free:latest,直接从 Oracle Container Registry 拉取容器映像。
  • Oracle VM VirtualBox。将 23c Free 的 .ova 文件导入您的本地 Oracle VM VirtualBox 设置。
  • 包管理器。配置软件仓库源,用包管理器”dnf/yum”进行在线安装,或者将RPM包下载到兼容性好的操作系统发行版(比如Oracle Linux 8、Rocky 8),再用包管理器(yum或者rpm)进行安装。

Oracle 23c 既然可以在Oracle的虚拟机平台VirtualBox安装,那么将其安装到Proxmox VE(以下简称PVE)也应该不是问题。

准备工作

浏览器登录PVE 8 Web管理后台,创建一个虚拟机,分配好资源,可以不分配硬盘、不使用任何安装介质,一个创建好的虚拟机配置如下图所示。

记下虚拟机的ID号“104”,待用。

虚拟机恢复

SSH客户端登录PVE 8 宿主系统Debian 12,用wget或者curl下载VirtualBox镜像文件“Oracle_Database_23c_Free_Developer_Appliance.ova”,官方的下载地址为https://download.oracle.com/otn_software/virtualbox/dd/Oracle_Database_23c_Free_Developer_Appliance.ova。这是一个压缩归档文件,用下面的命令进行解包。

tar xvf  Oracle_Database_23c_Free_Developer_Appliance.ova

tar xvf  Oracle_Database_23c_Free_Developer_Appliance.ova

命令执行完成后,将生成三个文件,两个以“vmdk”为后缀的虚拟机磁盘镜像文件和一个以“ovf”为后缀的文本文件,如下图所示。

三个文件,仅需对两个磁盘镜像文件进行处理。根据以前部署各种版本Oracle的经验,两个镜像磁盘应该是一个系统盘和一个数据盘(猜想)。

继续在命令行执行下列指令,将第一个磁盘镜像进行格式转换。

qm disk import 104 'Oracle Database 23c Free Developer-disk001.vmdk' local-lvm --format qcow2

qm disk import 104 'Oracle Database 23c Free Developer-disk001.vmdk' local-lvm --format qcow2

解包出来的磁盘镜像文件名中间有空格,执行命令时需要用单引号将其作为一个整体,如果嫌麻烦,可以预先对其重命名,比如简化为“disk001-vmdk”(mv指令)。

数字104为预先创建好的虚拟机的ID号,转换后的格式为qcow2。命令执行过程如下图所示。

重复上述操作,将第二个磁盘镜像“Oracle Database 23c Free Developer-disk001.vmdk”也进行格式转换。操作成功完成后,切换到PVE 8 Web管理后台,在ID为“104”的虚拟机硬件配置里,将增加两块“未使用的磁盘”,如下图所示。

鼠标双击上图“未使用磁盘0”,将磁盘添加到虚拟机,并使其处于可使用状态,如下图所示。

如法炮制,将另外一个“未使用磁盘1”也添加到虚拟机。添加“未使用磁盘”到虚拟机的另一种方式是命令行,对应的指令如下。

root@pve99:~/oracle# qm set 104 --scsi1 local-lvm:vm-104-disk-1

update VM 104: -scsi1 local-lvm:vm-104-disk-1

root@pve99:~/oracle# qm set 104 --scsi2 local-lvm:vm-104-disk-2

update VM 104: -scsi2 local-lvm:vm-104-disk-2

root@pve99:~/oracle# qm set 104 --scsi1 local-lvm:vm-104-disk-1

update VM 104: -scsi1 local-lvm:vm-104-disk-1

root@pve99:~/oracle# qm set 104 --scsi2 local-lvm:vm-104-disk-2

update VM 104: -scsi2 local-lvm:vm-104-disk-2

执行上述命令稍微需要注意的是,选项“scsi”编号不要发生冲突。

PVE 8 Web管理后台,修改目标虚拟机系统引导顺序。因为恢复出来的两个磁盘都是30G,不确定哪一个是系统盘,那么就把两块盘都勾选上,其他无关的引导项排除掉,如下图所示。

切换到虚拟机“104”控制台菜单,单击按钮“Start Now”启动虚拟机。

观察控制台输出,如果没有意外,Oracle Linux Server 8将正常启动,并且是以Oracle用户无密码登录系统。如果系统正常启动,但又无法登录,如下图所示。

不要慌,按组合键“Ctrl + Alt + F2”,输入用户名“root”,默认密码“oracle”,正常进入系统。乘次机会,修改Oracle Linux Server 的网络地址(默认的地址是192.168.122.1)为自己环境的实际地址,重启网络服务,确保系统能被远程SSH客户端连接。

验证Oracle 23c 安装的正确性

先来证实前边的猜想“一个系统盘和一个数据盘”,命令提示符执行“df -h”,果然是如此,系统盘“/dev/sda”,数据盘“/dev/sdb1”挂接到目录“/opt/oracle”,如下图所示。

进入目录”/opt/oracle”,熟悉的目录结构一目了然。

[root@localhost ~]# cd /opt/oracle/

[root@localhost oracle]# ll

total 4

drwxr-x---.  3 oracle oracle     18 Sep 13 19:34 admin

drwxr-x---.  3 oracle oracle     18 Sep 13 19:34 audit

drwxr-xr-x.  4 oracle oracle     31 Sep 13 19:34 cfgtoollogs

drwxrwxr-x. 25 oracle oracle   4096 Sep 13 19:34 diag

drwxr-x---.  3 oracle oracle     18 Sep 13 19:34 oradata

drwxrwx---.  4 oracle oracle     78 Sep 13 19:50 oraInventory

drwxr-xr-x.  3 oracle oinstall   17 Sep 13 19:31 product

drwxr-xr-x.  4 oracle oinstall   32 Sep 13 19:30 userhome

[root@localhost ~]# cd /opt/oracle/

[root@localhost oracle]# ll

total 4

drwxr-x---.  3 oracle oracle     18 Sep 13 19:34 admin

drwxr-x---.  3 oracle oracle     18 Sep 13 19:34 audit

drwxr-xr-x.  4 oracle oracle     31 Sep 13 19:34 cfgtoollogs

drwxrwxr-x. 25 oracle oracle   4096 Sep 13 19:34 diag

drwxr-x---.  3 oracle oracle     18 Sep 13 19:34 oradata

drwxrwx---.  4 oracle oracle     78 Sep 13 19:50 oraInventory

drwxr-xr-x.  3 oracle oinstall   17 Sep 13 19:31 product

drwxr-xr-x.  4 oracle oinstall   32 Sep 13 19:30 userhome

到系统目录“/etc/init.d”下,查看Oracle 23c启动脚本,一共有3个Shell脚本,都以“oracle”命名,如下图所示。

望文生义,手动执行命令“sh oracle-free-23c status”,确认一下它是否为Oracle 23c服务(实例及监听器)的启动脚本,执行过程及输出如下。

[root@localhost init.d]# sh oracle-free-23c status

Status of the Oracle FREE 23c service:

LISTENER status: RUNNING

FREE Database status:   RUNNING

[root@localhost init.d]# sh oracle-free-23c status

Status of the Oracle FREE 23c service:



LISTENER status: RUNNING

FREE Database status:   RUNNING

查看系统进程,有大量以oracle账号启动,以“db_”为前缀运行着的进程(如下图所示),这可初步判断Oracle 实例已经随开机自动启动。

切换到账户oracle,执行下列查看监听器运行情况。

[root@localhost init.d]# su - oracle

[oracle@localhost ~]$ lsnrctl status

LSNRCTL for Linux: Version 23.0.0.0.0 - Production on 21-JAN-2024 04:47:54

Copyright (c) 1991, 2023, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - Production

Start Date                21-JAN-2024 04:32:07

Uptime                    0 days 0 hr. 15 min. 47 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Default Service           FREE

Listener Parameter File   /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora

Listener Log File         /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "0543b3ed61857640e0630100007f0bca" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

Service "FREE" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

Service "FREEXDB" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

Service "freepdb1" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

The command completed successfully

[root@localhost init.d]# su - oracle

[oracle@localhost ~]$ lsnrctl status



LSNRCTL for Linux: Version 23.0.0.0.0 - Production on 21-JAN-2024 04:47:54



Copyright (c) 1991, 2023, Oracle.  All rights reserved.



Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - Production

Start Date                21-JAN-2024 04:32:07

Uptime                    0 days 0 hr. 15 min. 47 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Default Service           FREE

Listener Parameter File   /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora

Listener Log File         /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "0543b3ed61857640e0630100007f0bca" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

Service "FREE" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

Service "FREEXDB" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

Service "freepdb1" has 1 instance(s).

  Instance "FREE", status READY, has 1 handler(s) for this service...

The command completed successfully

从输出可知,监听器是启动了的。

进一步,以Oracle 客户端sqlplus登录,查看实例运行情况。与以前的版本不同的是,Oracle 23c不能用“sqlplus / as sysdba”登录,而是需要用用户名和密码(Oracle 23c免费版本所有账号密码皆为“oracle”,包括Oracle Linux Server 8操作系统密码),完整的登录指令及输出如下。

[oracle@localhost ~]$ sqlplus sys/oracle as sysdba

SQL*Plus: Release 23.0.0.0.0 - Production on Sun Jan 21 04:54:08 2024

Version 23.3.0.23.09

Copyright (c) 1982, 2023, Oracle.  All rights reserved.

Connected to:

Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

Version 23.3.0.23.09

SQL> select count(*) from v$session;

  COUNT(*)

----------

        65

[oracle@localhost ~]$ sqlplus sys/oracle as sysdba



SQL*Plus: Release 23.0.0.0.0 - Production on Sun Jan 21 04:54:08 2024

Version 23.3.0.23.09



Copyright (c) 1982, 2023, Oracle.  All rights reserved.





Connected to:

Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

Version 23.3.0.23.09



SQL> select count(*) from v$session;



  COUNT(*)

----------

        65

实例也是正常启动的。

再切换回操作系统“root”账号,执行命令“/etc/init.d/oracle-free-23c stop”。检查Oracle实例进程、监听器状态及sqlplus登录,Oracle实例进程不存在、监听器状态为不可连接(TNS-12541: Cannot connect. No listener at host localhost port 1521)、及客户端sqlpus不能登录。由此可以准确无误的断定脚本“oracle-free-23c”一定是Oracle 23c服务的启动脚本。

上述过程,同样也验证了Oracle 23c安装的正确性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【llm 使用llama 小案例】

huggingfacehttps://huggingface.co/meta-llama from transformers import AutoTokenizer, LlamaForCausalLMPATH_TO_CONVERTED_WEIGHTS PATH_TO_CONVERTED_TOKENIZER # 一般和模型地址一样model LlamaForCausalLM.from_pretrained(PATH_TO_CONVERTED_WEIGHTS) tokenize…

CGLIB动态代理(AOP原理)(面试重点)

推荐先看JDK 动态代理(Spring AOP 的原理)(面试重点) JDK 动态代理与 CGLIB 动态代理的区别 JDK 动态代理有⼀个最致命的问题是其只能代理实现了接⼝的类. 有些场景下,我们的业务代码是直接实现的,并没有接⼝定义.为了解决这个问…

一.初识Linux 1-3操作系统概述Linux初识虚拟机介绍

目录 一.初识Linux 1.操作系统概述 计算机组成 硬件: 软件: 操作系统: 操作系统工作流程 操作系统作用 常见的操作系统 PC端: 移动端:(掌上操作系统) 一.初识Linux 2.Linux初识 linu…

HTML 入门手册(一)

目录 HTML 1-基础语法 单标签 双标签 整体结构 2-标题和水平线 标题 水平线 3-段落和换行 段落 换行 4-列表 无序列表 有序列表 嵌套列表 5-div和span div span 6-格式化标签 粗体 斜体 下划线中划线 上标和下标 7-超链接(a标签) 链接到URL 链接到本…

php基础学习之代码框架

一&#xff0c;标记 脚本标记&#xff08;已弃用&#xff09;&#xff1a;<script language"php"> php代码 </script> 标准标记&#xff1a;<?php php代码 ?> 二&#xff0c;基础输出语句 不是函数&#xff0c;…

nginx基于IP的多虚拟主机

结合这篇文章一起&#xff1a;nginx虚拟主机-CSDN博客文章浏览阅读63次。虚拟主机指的就是一个独立的站点配置&#xff0c;是nginx默认支持的一个功能&#xff0c;它能够有自己独立的域名&#xff0c;独立的ip&#xff0c;独立的端口配置&#xff0c;能够配置完整的www服务&…

SpringSecurity+OAuth2.0 搭建认证中心和资源服务中心

目录 1. OAuth2.0 简介 2. 代码搭建 2.1 认证中心&#xff08;8080端口&#xff09; 2.2 资源服务中心&#xff08;8081端口&#xff09; 3. 测试结果 1. OAuth2.0 简介 OAuth 2.0&#xff08;开放授权 2.0&#xff09;是一个开放标准&#xff0c;用于授权第三方应用程序…

【Kaggle】泰坦尼克号生存预测 Titanic

文章目录 前言案例背景数据集介绍加载数据集探索性数据分析&#xff08;EDA&#xff09;可视化特征和目标值之间关系缺失值分析 数据预处理数据清洗缺失值处理去除噪声并且规范化文本内容 数据转换 数据划分建模逻辑回归模型决策分类树模型随机森林模型梯度提升树模型 预测LR 完…

imgaug库图像增强指南(34):揭秘【iaa.Clouds】——打造梦幻般的云朵效果

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

当 OpenTelemetry 遇上阿里云 Prometheus

作者&#xff1a;逸陵 背景 在云原生可观测蓬勃发展的当下&#xff0c;想必大家对 OpenTelemetry & Prometheus 并不是太陌生。OpenTelemetry 是 CNCF&#xff08;Cloud Native Computing Foundation&#xff09;旗下的开源项目&#xff0c;它的目标是在云原生时代成为应…

第十五届蓝桥杯单片机组——DS1302

文章目录 一、DS1302介绍二、使用DS1302需要注意的点2.1 写保护2.2 写入的时间需要以BCD码形式2.3 12小时模式 or 24小时模式 三、代码编写3.1 初始化时间3.2 读取RTC时间 一、DS1302介绍 1.时钟数据&#xff1a;DS1302可以提供秒、分钟、小时、天、日期、月份和年份数据&#…

即插即用篇 | 超越自注意力:面向医学图像分割的可变形大卷积核注意力

医学图像分割在转换器模型的应用下取得了显著的进展,这些模型擅长捕捉广泛的上下文和全局背景信息。然而,这些模型随着标记数量的平方成比例增长的计算需求限制了它们的深度和分辨率能力。大多数当前的方法通过逐层处理D体积图像数据(称为伪3D),在处理过程中错过了关键的跨…

MySQL与PostgreSQL对比

对比 许可证 License MySQL 社区版采用 GPL 许可证。Postgres 发布在 PostgreSQL 许可下&#xff0c;是一种类似于 BSD 或 MIT 的自由开源许可。 即便 MySQL 采用了 GPL&#xff0c;仍有人担心 MySQL 归 Oracle 所有&#xff0c;这也是为什么 MariaDB 从 MySQL 分叉出来。 …

推开放平台战略,Qt Group加速生态化转型

本文作者&#xff1a;李佳师&#xff08;科技媒体人、前《中国电子报》主编&#xff09; 在软件定义时代&#xff0c;不断降低软件开发、测试和生产成本&#xff0c;提升开发效率、缩短开发周期&#xff0c;是一个永远在路上没有完结的课题。目前&#xff0c;由生成式人工智能引…

SpringCloud Alibaba 深入源码 - Nacos 和 Eureka 的区别(健康检测、服务的拉取和订阅)

目录 一、Nacos 和 Eureka 的区别 1.1、以 Nacos 注册流程来解析区别 一、Nacos 和 Eureka 的区别 1.1、以 Nacos 注册流程来解析区别 a&#xff09;首先&#xff0c;我们的服务启动时。都会把自己的信息提交给注册中心&#xff0c;然后注册中心就会把信息保存下来. 注册的…

opencv009 滤波器01(卷积)

图像卷积操作&#xff08;convolution&#xff09;&#xff0c;或称为核操作&#xff08;kernel&#xff09;&#xff0c;是进行图像处理的一种常用手段&#xff0c; 图像卷积操作的目的是利用像素点和其邻域像素之前的空间关系&#xff0c;通过加权求和的操作&#xff0c;实现…

【UEFI基础】EDK网络框架(DNS4)

DNS4 DNS4协议说明 IP地址是一串数据&#xff0c;不便记忆。一般用户在使用TCP/IP协议进行通信时也不使用IP地址&#xff0c;而是使用英文和点号组成的字符串&#xff0c;两者的转换通过DNS&#xff08;Domain Name System&#xff09;来完成。 DNS也有v4和v6版本&#xff0…

kubeadm 安装k8s集群后,master节点notready问题解决方案

使用kubeadm 安装k8s集群后&#xff0c;加载calico cni 网络组件后&#xff0c;master节点notready问题 表现为&#xff1a; 使用命令查看日志&#xff1a;journalctl -f -u kubelet 报错如下&#xff1a; Failed to start ContainerManager failed to initialize top level…

vue3中Fragment特性的一个bug,需要留意的注意事项

vue3中的Fragment 模版碎片特性是什么&#xff0c;简单的理解就是template模板代码不在像vue2中那样必须在根节点在包裹一层节点了。 vue2写法 <template><div><h1>标题</h1><p>正文内容</p></div> </template>vue3写法 &l…

【RT-DETR有效改进】Google | EfficientNetV2一种超轻量又高效的网络 (轻量化网络)

前言 大家好&#xff0c;我是Snu77&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持Re…