Proxmox VE 8 试装Oracle 23c

news2024/11/21 2:22:10

作者:田逸(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安装的正确性。

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

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

相关文章

PLC-IoT 网关开发札记(5):将本地数据库作为资产打包发布到 App

App需求:保存物模型 什么是物模型 在项目开发中,用到了本地数据库,这个本地数据库记录了系统的物模型。所谓物模型就是对某一个设备的可操纵属性的定义,每一个设备包括了一个或者多个属性,通过获取这些属性的当前值可…

【Web实操11】定位实操_照片墙(无序摆放)

设置一个板块&#xff0c;将照片随意无序摆放在墙上&#xff0c;从而形成照片墙。本来效果应该是很唯美好看的&#xff0c;就像这种&#xff0c;但是奈何本人手太笨&#xff0c;只好设置能达到照片墙的效果就可。 代码如下&#xff1a; <!DOCTYPE html> <html lang&…

2023 年,我患上了 AI 焦虑症!

【作者有话说】2023 年对我来说是神奇的一年&#xff0c;我意外地从一个程序员变成了一个 AI 资讯届的“网红”&#xff0c;到年底时我在 X 平台的阅读量超过 1 亿&#xff0c;微博上的阅读量则超过 10 亿&#xff0c;很多人通过我的微博或者 X 了解最新的 AI 资讯、教程和 Pro…

快速排序(三)——hoare法

目录 ​一.前言 二.快速排序 hoare排法​ 三.结语 一.前言 本文给大家带来的是快速排序&#xff0c;快速排序是一种很强大的排序方法&#xff0c;相信大家在学习完后一定会有所收获。 码字不易&#xff0c;希望大家多多支持我呀&#xff01;&#xff08;三连&#xff0b;关…

【GitHub项目推荐--智能家居项目】【转载】

如果你具备硬件、软件知识&#xff0c;这个项目肯定符合你的胃口。 物美智能是一套软硬件结合的开源项目&#xff0c;该系统可助你快速搭建自己的智能家居系统。你可以学习到设备的集成和软硬件交互。 PC 端或者手机与服务端通信&#xff0c;单片机可以接受遥控设备和服务器的…

【iOS】——基于Vision Kit框架实现图片文字识别

文章目录 前言一、文本识别的分类二、实现步骤1.导入Vision Kit框架2.创建请求处理器3.在请求处理器中设置文字识别功能4.将图片添加到请求处理器中5.发起文字识别请求6.处理识别结果 三、运行结果测试1.纯英文环境2.中英文混合环境 前言 根据苹果的官方文档&#xff0c;Visio…

flutter 实现定时滚动的公告栏的两种不错方式

相同的部分 自定义一个类继承StatefulWidget 所有公告信息存放在list里 第一种 scrollControllerAnimatedContainer 逻辑如下 我们可以发现启动了一个timer计时器计时5秒&#xff0c;hasClients检查其目标对象&#xff08;我们用的是listview&#xff09;是否被渲染&#x…

Linux_清理docker磁盘占用

文章目录 前言一、docker system 命令1. docker system df&#xff08;本文重点使用&#xff09;2. docker system prune&#xff08;本文重点使用&#xff09;3. docker system info4. docker system events 二、开始清理三、单独清理Build Cache四、单独清理未被使用的网络 前…

SCTP, TCP, UDP, IP, ICMP都在哪一层?(TCP/IP网络通信协议学习)

TCP/IP网络通信协议最早是由罗伯特卡恩&#xff08;Robert E. Kahn&#xff09;和文顿瑟夫&#xff08;Vinton G. Cerf&#xff09;于1972年提出的&#xff0c;它是一个实际的协议栈。 OSI七层网络通信协议最早是由国际标准化组织&#xff08;ISO&#xff09;于1977年提出的&am…

【Java程序员面试专栏 专业技能篇】MySQL核心面试指引(一):基础知识考察

关于MySQL部分的核心知识进行一网打尽,包括三部分:基础知识考察、核心机制策略、性能优化策略,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第一部分:基础知识考察,子节点表示追问或同级提问 基本概念 包括一些核心问…

LP-AM243x EtherNet/IP 连接施耐德 M241 EIP主站测试

硬件环境&#xff1a;LP-AM243x 开发板 施耐德 Modicon M241 软件环境&#xff1a; INDUSTRIAL-COMMUNICATIONS-SDK-AM243X MCU-PLUS-SDK-AM243X — MCU SDK for AM243x 调试过程&#xff1a; 首先&#xff0c;让AM243x能够运行 Null Boot&#xff0c; Starting NULL Boo…

Java面试题50道

文章目录 1.谈谈你对Spring的理解2.Spring的常用注解有哪些3.Spring中的bean线程安全吗4.Spring中的设计模式有哪些5.Spring事务传播行为有几种6.Spring是怎么解决循环依赖的7.SpringBoot自动配置原理8.SpringBoot配置文件类型以及加载顺序9.SpringCloud的常用组件有哪些10.说一…

大模型学习之书生·浦语大模型6——基于OpenCompass大模型评测

基于OpenCompass大模型评测 关于评测的三个问题Why/What/How Why What 有许多任务评测&#xff0c;包括垂直领域 How 包含客观评测和主观评测&#xff0c;其中主观评测分人工和模型来评估。 提示词工程 主流评测框架 OpenCompass 能力框架 模型层能力层方法层工具层 支持丰富…

【后端】深入浅出Node.js

文章目录 1.Node简介1.1 诞生历程1.2 阻塞IO和异步IO 【后端目录贴】 1.Node简介 1.1 诞生历程 Node特点 事件驱动、非阻塞I/O node和chrome浏览器区别 除了HTML、WebKit和显卡这些UI相关技术没有支持外&#xff0c;Node结构与Chrome十分相似&#xff0c;他们都是基于事件驱动…

k8s 部署 Nginx 并代理到tomcat

一、已有信息 [rootmaster nginx]# kubectl get nodes -o wide [rootmaster nginx]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2…

立体视觉几何 (二)

1.视差 2.立体匹配 立体匹配的基本概念: 匹配目标: 在立体匹配中&#xff0c;主要目标是确定左图像中像素的右图像中的对应像素。这个对应像素通常位于相同的行。视差&#xff08;Disparity&#xff09;: 视差 d 是右图像中对应像素 xr 和左图像中像素 xl 之间的水平位置差。视…

服务器或服务器主板中的BIOS更新详解

BIOS更新总共有三种方式&#xff1a;DOS、UEFI Shell以及BMC网页更新&#xff0c;而其中&#xff0c;DOS与Shell的更新方式类似&#xff0c;因此以下为统一描述。 一、UEFI Shell或DOS下更新 当我们下载了官网的BIOS更新包并解压后可以获得一些更新文件&#xff0c;在更新文件…

设计模式篇---中介者模式

文章目录 概念结构实例总结 概念 中介者模式&#xff1a;用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用&#xff0c;从而使其耦合松散&#xff0c;而且可以独立地改变它们之间的交互。 就好比世界各个国家之间可能会产生冲突&#xff0c;但是当产…

异或运算的骚操作,由浅入深拿捏一类型的题

文章目录 &#x1f680;前言&#x1f680;异或运算的基本用法&#x1f680;一组数中一种数出现了奇数次&#xff0c;其他种数出现了偶数次&#xff0c;找出这个数&#x1f680;一组数中有两种数出现了奇数次&#xff0c;其他种数出现了偶数次&#xff0c;求这两个数✈️得到一个…

反序列化字符串逃逸(上篇)

首先&#xff0c;必须先明白&#xff0c;这个点并不难&#xff0c;我给大家梳理一遍就会明白。 反序列化字符串逃逸就是序列化过程中逃逸出来字符&#xff0c;是不是很简单&#xff0c;哈哈哈&#xff01; 好了&#xff0c;不闹了&#xff0c;其实&#xff1a; 这里你们只要懂…