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

news2025/2/2 11:00:02
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 多平台发布

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

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

相关文章

全局UI方法-弹窗二-列表选择弹窗(ActionSheet)

1、描述 定义列表弹窗 2、接口 ActionSheet.show(value:{ title: string | Resource, message: string | Resource, autoCancel?: boolean, confrim?: {value: string | Resource, action: () > void }, cancel?: () > void, alignment?: DialogAlignment, …

C++template之类模版进一步了解

前言:这一篇是在我的上一篇文章的基础上,再进一步所写的。 链接:CTemplate<>模版的介绍及深度解析-CSDN博客 一、类模板实例化 1.非类型模版参数 类型模版参数:就是跟在 class后面或者typename后的类型 非…

【软考---系统架构设计师】特殊的操作系统介绍

目录 一、嵌入式系统(EOS) (1)嵌入式系统的特点 (2)硬件抽象层 (3)嵌入式系统的开发设计 二、实时操作系统(RTOS) (1)实时性能…

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

到目前为止,我们只讨论了具有一个单向隐藏层的循环神经网络。 其中,隐变量和观测值与具体的函数形式的交互方式是相当随意的。 只要交互类型建模具有足够的灵活性,这就不是一个大问题。 然而,对一个单层来说,这可能具有…

【2024系统架构设计】案例分析- 4 嵌入式

目录 一 基础知识 二 真题 一 基础知识 1 基本概念 ◆系统可靠性是系统在规定的时间内及规定的环境条件下,完成规定功能的能力,也就是系统无故障运行的概率。或者,可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。

三菱Q系列PLC以太网TCP通讯FB块源码

三菱Q系列PLC的tcp通讯,客户端和服务器两个变量好用的FB块,调用块就可以实现通讯连接,不需要自己写程序,简单配置引脚就可以。该块还集成了断网,连接错误,发送接收数据错误报警等功能。具体功能见下面介绍.…

Java 并发编程之volatile可见性,原子操作线程不安全

volatile 关键字 在修饰的变量,在系统汇编的代码里会生成lock前缀,表示指令在多核CPU情况下,在当前处理器将缓存数据写回到系统主内存时,会引起其他CPU缓存了该内存地址的数据无效。 作用:保证线程的可见性&#xff…

UKP3d,AutoPDMS出轴测图时的焊点设置

焊点的设置是关联元件库里的连接方式(焊点设置不成功,请查看元件的连接方式),看元件的连接方式如下: 转到两次查看元件连接类型

动态内存管理+柔性数组

动态内存存在的意义 C语言是一种过程式编程语言,提供了底层访问能力和丰富的功能,广泛应用于操作系统、嵌入式系统、硬件驱动程序等领域。C语言的动态内存管理主要是通过malloc()、calloc()、realloc()和free()这几个标准库函数来实现的。 理解动态内存…

单调栈的使用一:接雨水

文章目录 1、单调栈接雨水的过程2、算法正确性的关键点:3、简化理解:4、算法的实现 题目路径: 42.接雨水 其他解法: 接雨水(动态规划/双指针/贪心) 单调栈原理: 单调栈和单调队列 单调栈直接…

Topaz Video AI for mac 视频增强软件

Topaz Video AI for Mac是一款专为Mac用户设计的视频增强软件,它利用先进的人工智能技术和机器学习算法,为用户提供卓越的视频编辑和增强体验。 软件下载:Topaz Video AI for mac v4.2.2激活版 这款软件能够快速提高视频的清晰度、色彩饱和度…

Python Flask Web框架初步入门

前言 flask基础 搭建flask服务器 定义html 使用templates模板定义页面的html html页面编写 render_template传参变量 定义图片 创建static目录,存入图片 html编写 flask入门 网站多域名 网站之间超链接跳转 入门案例 将centos的rpm包下载链接集成到自…

Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)

文章目录 1.配置 Yum 源2.下载 Python3 包3. 解压4.安装依赖环境5.安装出错场景 6.创建软链接7.配置 Python3 的环境变量8.验证补充:安装 openssl-devel补充:pip3 源配置 1.配置 Yum 源 # 注意!!!请先切换到 root 账号…

什么是搜索引擎(SEO)爬虫它们是如何工作的?

什么是搜索引擎(SEO)爬虫&它们是如何工作的? 你的网站上有蜘蛛🕷️。别抓狂!我说的不是真正的八条腿的蜘蛛🕷️。 我指的是搜索引擎优化爬虫。他们是实现SEO的机器人。每个主要的搜索引擎都使用爬虫来…

存储阵列从哪些方面改善影视后期制作环境

在4K/8K视频越来越成为影视制作主流的今天,超大的影视文件给项目按时完成带来了严重的挑战。对于影视工作室来说要想赶上进度,在存储的选择上通常有三个难题亟待解决:怎么搭建高性能影视协作环境? 文件量增长怎么扩展现有的存储? 如何有效的…

NumPy介绍及其应用领域

1.NumPy介绍 ​NumPy(Numerical Python)是 Python 的一个开源的扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy的前身为Numeric,起初由Jim Hugunin与其他协作者共同开发&…

Elment ui 动态表格与表单校验 列表数据 组件

组件做个记录&#xff0c;方便以后会用到。 效果&#xff1a; 代码 &#xff1a; <template><el-dialog title"商品详情" :visible.sync"dialogVisible" width"80%"><el-tabs v-model"activeTab"><el-tab-pane…

数据可视化Grafana Windows 安装使用教程(中文版)

1.跳转连接 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/site?url 2.下载应用程序 官网地址&#xff1a;Grafana get started | Cloud, Self-managed, Enterprisehttps://grafana.com/get/ 3.修改配置文件 grafana\conf\defaults 4.启动\bin\目录下serve应用程序 浏…

C#属性显示

功能&#xff1a; 显示对象的属性&#xff0c;包括可显示属性、可编辑属性、及不可编辑属性。 1、MainWindow.xaml <Window x:Class"FlowChart.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sche…

使用filezilla连接Ubuntu22.04虚拟机

获取电脑IP和虚拟机IP ① 在windows下ctrlR再输入cmd&#xff0c;打开指令窗口&#xff0c;输入 ipconfig 虚拟机连接电脑用的是NAT模式&#xff0c;故看VMnet8的IP地址 ② 查看虚拟机IP地址 终端输入 ifconfig 如果没安装&#xff0c;按提示安装net-tools sudo apt install …