安装和使用 Oracle Database 23c 容器鏡像

alt

Oracle Database 23c 是 Oracle 最新的数据库版本,它带来了许多新特性和性能改进。

alt

对于开发者来说,Oracle 提供了一个免费的开发者版,

可以通过 Docker 容器轻松安装和使用。以下是详细的安装和使用指南。

  1. 安装 Docker

在开始之前,请确保你的系统上已经安装了 Docker。

[root@shawnyan ~ 00:06:02]$ docker --version
Docker version 26.0.0, build 2ae903e
  1. 拉取 Oracle 23c 免费开发者版镜像

打开终端,使用以下命令从 Oracle 容器注册中心拉取最新的 Oracle 23c 免费开发者版镜像:

[root@shawnyan ~ 00:20:45]$ docker pull container-registry.oracle.com/database/free:latest
latest: Pulling from database/free
089fdfcd47b7: Pull complete 
43c899d88edc: Pull complete 
47aa6f1886a1: Pull complete 
f8d07bb55995: Downloading [=============================>                     ]  1.262GB/2.167GB
c31c8c658c1e: Download complete 
b7d28faa08b4: Download complete 
1d0d5c628f6f: Download complete 
db82a695dad3: Download complete 
25a185515793: Download complete 

注意:

需要確保本地磁盤空間足夠,至少需要 9 G 空間。

Filesystem               Size  Used Avail Use% Mounted on
# before
/dev/mapper/centos-root   67G  9.2G   58G  14% /
# after
/dev/mapper/centos-root   67G   18G   50G  27% /
  1. 启动 Oracle 23c 容器

使用以下命令启动 Oracle 23c 容器:

docker run -d --name ora23c -h shawnyan \
  -p 1521:1521 \
  container-registry.oracle.com/database/free:latest

參數含義:

  • -d 表示在后台运行容器。
  • --name 为容器指定一个名称。
  • -h 设置容器的主机名。
  • -p 将容器内部的端口映射到宿主机的端口(Oracle 默认的数据库端口是 1521)。
  1. 查看容器狀態

啓動容器后,查看容器狀態:

[root@shawnyan ~ 00:29:16]$ docker ps
CONTAINER ID   IMAGE                                                COMMAND                  CREATED         STATUS                            PORTS                                       NAMES
d50083dd7cdd   container-registry.oracle.com/database/free:latest   "/bin/bash -c $ORACL…"   5 seconds ago   Up 4 seconds (health: starting)   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp   ora23c

可以通过运行以下命令来查看容器的启动日志:

[root@shawnyan ~ 00:30:40]$ docker logs -f ora23c
Starting Oracle Net Listener.
Oracle Net Listener started.
Starting Oracle Database instance FREE.
Oracle Database instance FREE started.

The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
QPI: opatch file present, opatch
 : 
QPI: qopiprep.bat file present
2024-03-25T16:29:41.791016+00:00
PDB$SEED(2):Opening pdb with Resource Manager plan: DEFAULT_PLAN
FREEPDB1(3):Autotune of undo retention is turned on. 
2024-03-25T16:29:42.972403+00:00
FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN
Completed: Pluggable database FREEPDB1 opened read write 
Completed: ALTER DATABASE OPEN
2024-03-25T16:29:45.388545+00:00
===========================================================
Dumping current patch information
===========================================================
No patches have been applied
===========================================================
2024-03-25T16:30:23.457562+00:00
FREEPDB1(3):Resize operation completed for file# 13, fname /opt/oracle/oradata/FREE/FREEPDB1/sysaux01.dbf, old size 317440K, new size 327680K
2024-03-25T16:30:23.484128+00:00
FREEPDB1(3):Resize operation completed for file# 13, fname /opt/oracle/oradata/FREE/FREEPDB1/sysaux01.dbf, old size 327680K, new size 337920K
  1. 設定密碼

使用 setPassword.sh 脚本,對賬戶密碼進行修改。

[root@shawnyan ~ 00:35:07]$ docker exec -it ora23c ./setPassword.sh 1
The Oracle base remains unchanged with value /opt/oracle

SQL*Plus: Release 23.0.0.0.0 - Production on Mon Mar 25 16:35:16 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> 
User altered.

SQL> 
User altered.

SQL> 
Session altered.

SQL> 
User altered.

SQL> Disconnected from Oracle Database 23c Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.3.0.23.09
  1. 连接到数据库

可以使用 SQL*Plus 工具连接到数据库。

[root@shawnyan ~ 00:35:16]$ docker exec -it ora23c sqlplus sys@localhost:1521/FREE as sysdba

SQL*Plus: Release 23.0.0.0.0 - Production on Mon Mar 25 16:37:13 2024
Version 23.3.0.23.09

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

Enter password: 

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> show pdbs;

    CON_ID CON_NAME     OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
  2 PDB$SEED     READ ONLY  NO
  3 FREEPDB1     READ WRITE NO
SQL>       

可以看到已經連接成功,Oracle 數據庫版本號為 23.3.0,默認創建了讀寫 PDB: FREEPDB1

  1. 數據庫開發

在啓動容器時,已將數據庫端口映射到宿主機上,監聽 1521 端口。

[root@shawnyan ~ 00:28:17]$ ss -antpl | grep 1521
LISTEN     0      128          *:1521                     *:*                   users:(("docker-proxy",pid=2716,fd=4))
LISTEN     0      128       [::]:1521                  [::]:*                   users:(("docker-proxy",pid=2722,fd=4))

所以,可以使用 Oracle SQL Developer 連接 Oracle。

alt

連接成功后,查看數據庫版本信息。

alt
  1. 新特性驗證

這裏簡單驗證兩個新功能:

(1) 不带 FROM 子句的 SELECT 查询

SQL> select 1;

  1
----------
  1

SQL> select sysdate;

SYSDATE
---------
25-MAR-24

(2) DDL 支持 IF EXISTS 判断

SQL> create table if not exists t (id int);

Table created.

SQL> desc t;
 Name        Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID          NUMBER(38)

簡單做個小結,

通過以上步驟,你可以轻松地在 Docker 環境中安裝和使用 Oracle Database 23c Free。

這爲開發者提供了一個便捷的平臺來學習和測試 Oracle 數據庫的新特性。

如果你在使用過程中遇到任何問題,可以參閲 Oracle 官方文檔,或尋求 Developer Community 支持。

-- END. --

alt

如果这篇文章为你带来了灵感或启发,就帮忙点『赞』or『在看』or『转发』吧,这对我非常重要,感谢!(๑˃̵ᴗ˂̵)

本文由 mdnice 多平台发布

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

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

相关文章

FME学习之旅---day17

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 【FME-HOW-TO系列】28 栅格邻域函数 RasterConvolver转换器说明: 接受包含栅格几何对象的输入要素,并在对所有波段应用卷积滤波 器后输出要素。 本人对栅格数据处理的较…

npm mongoose包下载冲突解决之道

我在新电脑下载完项目代码后,运行 npm install --registryhttps://registry.npm.taobao.org 1运行就报错: npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: lowcode-form-backend1.0.0 npm …

Find Any File (FAF) for Mac:您的专属文件搜索神器

在数字时代,我们的Mac硬盘中堆积着各式各样的文件,从工作文档到家庭照片,从音乐视频到学习资料,无一不体现出我们的生活和工作的丰富多彩。然而,当我们需要快速找到某个特定文件时,却常常在茫茫文件海中迷失…

送朋友的生日祝福静态页面代码!(小白也能轻松GET!)

Hey亲爱的小白们!👋 知道你们想给朋友一个独特又有心的生日祝福,却苦于没有编程基础吗?别担心,来白嫖!🎁 🚀【生日祝福静态页面代码】来啦!只需简单几步,就能…

Redis 的慢日志

Redis 的慢日志 Redis 的慢日志(Slow Log)是用于记录执行时间超过预设阈值的命令请求的系统。慢日志可以帮助运维人员和开发人员识别潜在的性能瓶颈,定位那些可能导致 Redis 性能下降或响应延迟的慢查询。以下是 Redis 慢日志的相关细节&…

【LV16 day1 自动mknod】

一、起源 仅devfs,导致开发不方便以及一些功能难以支持: 热插拔 不支持一些针对所有设备的统一操作(如电源管理)不能自动mknod用户查看不了设备信息设备信息硬编码,导致驱动代码通用性差,即没有分离设备和…

Web前端—(原生JS)歌词滚动效果

歌词滚动效果实现 歌词滚动效果HTML部分CSS部分JS部分解析歌词字符串,得到歌词的对象数组计算在当前情况下,播放器播放到第几秒的情况创建歌词元素设置ul元素的偏移量最后对时间变化的事件进行监听完整JS代码 歌词滚动效果 实现效果如图所示&#xff1a…

防静电工作台:静电敏感环境下的必备设备

在当今的电子制造、精密仪器制造、化学实验室等领域,静电敏感性已成为一个不可忽视的问题。静电可能对设备和操作人员造成严重损害,因此防止静电的产生和传导是至关重要的。在这样的背景下,防静电工作台应运而生,成为这些领域中不…

【蓝桥杯省赛真题37】python农田划分 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

目录 python农田划分 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python农田划分 第十三届蓝桥杯青少年组python比赛省赛真题 一、题目要求…

kafka学习笔记02(小滴课堂)

Kafka命令行生产者发送消息和消费者消费消息实战 已存在的kafka不能重复创建。 broker设置的是1,factor大于broker了,所以报错。 生产者发送消息: kafka列表出现了新的kafka。 我们使用这个kafka。 我们启动消费者: 我们现在不从…

【dll解密】Dll加壳保护方案分析修复

分析背景 NGame游戏海外版出现了破解版,该版本在dump出游戏的dll中不能直接通过反编译工具查看修改后的游戏代码,导致无法确定外挂修改的直接逻辑点。本文主要针对AssemblyCSharp.dll模版,分析其dll保护的方法。 分析过程 1、拿到Encrypt_As…

【动手学深度学习-pytorch】 9.4 双向循环神经网络

在序列学习中,我们以往假设的目标是: 在给定观测的情况下 (例如,在时间序列的上下文中或在语言模型的上下文中), 对下一个输出进行建模。 虽然这是一个典型情景,但不是唯一的。 还可能发生什么其…

【LVGL-使用SquareLine Studio设计器 】

LVGL-使用SquareLine Studio设计器 ■ 简介■ 安装■ SquareLine Studio移植到工程 ■ 简介 SquareLine Studio 设计器是一个付费软件。 ■ 安装 SquareLine Studio 设计器的下载地址 我们点击“WINDOWS”下载 SquareLine Studio 设计器,下载完成之后我们就会得到…

GIS硬核入门,二维地图是如何使用WGS84坐标系来转换成墨卡托投影的xyz地图瓦片切片的详细原理

前言 二维地图一般分成两种,一种是简化的道路地图视图,一种是卫星拍摄的高清影像地图。 四种坐标概念理解: 经度和纬度,对应地球上唯一的一个点(例如:Google 使用世界大地测量系统 WGS84 标准&#xff0…

Day49:WEB攻防-文件上传存储安全OSS对象分站解析安全解码还原目录执行

目录 文件-解析方案-目录执行权限&解码还原 目录执行权限 解码还原 文件-存储方案-分站存储&OSS对象 分站存储 OSS对象存储 知识点: 1、文件上传-安全解析方案-目录权限&解码还原 2、文件上传-安全存储方案-分站存储&OSS对象 文件-解析方案-目…

数据结构之二叉树由浅入深(四)

目录 题外话 正题 第一题 第一题思路 第一题代码详解 第二题 第二题思路 第二题代码详解 第三题 第三题思路 第三题代码及详解 第四题 第四题思路 第四题代码及详解 第五题 第五题思路 第五题代码及详解 题外话 本来昨天就想写完这篇文章,怎么样是不是很大胆?…

ttkbootstrap界面美化系列之Notebook(四)

在简单的界面设计中,Notebook也是常用的组件之一,Notebook组件的引入可以根据标签来切换不同的界面。使得界面更有层次感,不必都挤在一个界面上。在tkinter中就有Notebook组件,在ttkbootstrap中,同样也对Notebook进行了…

Flutter开发之objectbox

Flutter开发之objectbox 在之前进行iOS开发的时候使用WCDB去进行管理数据库很方便,它支持ORM(Object-Relational Mapping,对象关系映射),用于实现面向对象编程语言里不同类型系统的数据之间的转换。 那么在Flutter开发…

d3dcompiler_43.dll丢失的解决方法,快速解决win10系统错误问题

当系统提示“d3dcompiler_43.dll缺失”时,意味着计算机中缺少这一关键性动态链接库文件。该文件作为DirectX 3D编译器组件的一部分,对于许多依赖于DirectX技术的应用程序或游戏至关重要。这个错误通常会导致游戏或应用程序无法正常运行。为了解决这个问题…

java Web洗衣店管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 洗衣店管理系统是一套完善的web设计系统,对理解JSP java 编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用…