debian

Debian Oracle容器化部署方案

小樊
50
2025-10-19 09:54:25
栏目: 云计算

Debian环境下Oracle数据库容器化部署方案

一、环境准备

1.1 安装Docker CE

在Debian系统上,首先需要安装Docker社区版(CE)。执行以下命令完成安装:

# 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc

# 更新apt包索引并安装必要依赖
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release

# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加Docker软件源
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新apt并安装Docker CE
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

安装完成后,通过docker run hello-world验证Docker是否正常运行。

1.2 准备Oracle镜像

Oracle官方提供了容器化镜像,可从Docker Hub拉取。推荐选择Oracle Database Enterprise Edition(如oracle/database:19.3-ee)或免费版container-registry.oracle.com/database/free:latest):

# 拉取Oracle 19.3 EE镜像(官方)
docker pull oracle/database:19.3-ee

# 或拉取免费版镜像(Oracle官方)
docker pull container-registry.oracle.com/database/free:latest

若需自定义镜像(如调整环境变量、添加配置文件),可基于官方镜像编写Dockerfile。

二、容器创建与配置

2.1 基础容器启动

使用docker run命令启动Oracle容器,需配置以下关键参数:

示例命令:

docker run -d \
  -p 1521:1521 \
  --name oracle19c \
  -e ORACLE_SID=ORCLCDB \
  -e ORACLE_PWD=YourStrongPassword123 \
  -v /opt/oracle/oradata:/opt/oracle/oradata \
  oracle/database:19.3-ee

2.2 数据持久化优化

为避免容器重启或删除导致数据丢失,需将Oracle数据目录挂载到宿主机Docker卷(推荐方式):

# 创建Docker卷
docker volume create oracle_data

# 启动容器并挂载卷
docker run -d \
  -p 1521:1521 \
  --name oracle19c \
  -e ORACLE_SID=ORCLCDB \
  -e ORACLE_PWD=YourStrongPassword123 \
  -v oracle_data:/opt/oracle/oradata \
  oracle/database:19.3-ee

卷名称oracle_data可自定义,挂载路径需与容器内Oracle数据目录一致。

三、常用操作命令

3.1 进入容器

使用docker exec命令进入运行中的Oracle容器:

docker exec -it oracle19c bash

进入后,可通过su - oracle切换至oracle用户(Oracle数据库默认用户)。

3.2 连接数据库

在容器内,使用sqlplus工具连接Oracle数据库:

sqlplus / as sysdba

连接成功后,可执行SQL命令(如SELECT * FROM v$version;查看数据库版本)。

3.3 容器管理

四、注意事项

4.1 权限问题

Oracle容器默认以oracle用户(UID:1000)运行,宿主机挂载的目录需赋予该用户权限:

sudo chown -R 1000:1000 /opt/oracle/oradata

若使用Docker卷,无需手动设置权限(卷由Docker管理)。

4.2 性能优化

4.3 安全建议

0
看了该问题的人还看了