一、Oracle docker 部署

1、环境

Oracle 所需 Docker 环境硬件要求如下:

  • 4G 内存
  • 8G 硬盘

2、拉取 oracle docker 镜像

1
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

3、创建 oracle 容器

1
docker run --name oracle -d -p 1521:1521 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

4、查看 oracle 容器运行状态

使用 docker ps 命令查看 oracle 容器是否成功运行。

image-20230526153648795

二、配置 Oracle

1、进入容器

1
docker exec -it oracle11g bash

使用 su root 命令切换至 root 用户,密码是 helowin

1
2
[oracle@0c25921d2cc9 /]$ su root
Password: helowin

2、修改全局变量

使用以下命令添加环境变量。

1
2
3
4
5
cat >> /etc/profile << EOF
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
EOF

使环境变量立即生效

1
source /etc/profile

创建软连接

1
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

3、验证数据库连通性

切换 oracle 用户登录数据库

1
su - oracle

使用 sqlplus /nolog 连接数据库

1
2
3
4
[oracle@0c25921d2cc9 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri May 26 06:11:32 2023
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL>

如上输出则说明连接成功,使用 quit 退出连接。

1
quit

4、创建数据库表空间

/home/oracle 下创建 tablespace 文件夹

1
mkdir /home/oracle/tablespace

登录启用命令行:sqlplus /nolog

1
2
3
4
[oracle@0c25921d2cc9 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri May 26 06:27:10 2023
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL>

连接到数据库:conn /as sysdba

1
2
SQL> conn /as sysdba
Connected.

创建临时表空间 TEST_TEMP

1
2
3
4
5
6
CREATE TEMPORARY TABLESPACE TEST_TEMP
TEMPFILE '/home/oracle/tablespace/TEST_TEMP.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;

创建表空间 TEST

1
2
3
4
5
6
7
CREATE TABLESPACE TEST
LOGGING
DATAFILE '/home/oracle/tablespace/TEST.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;

创建用户 oracle_admin ,密码 123456

1
2
3
4
CREATE USER oracle_admin IDENTIFIED BY 123456
ACCOUNT UNLOCK
DEFAULT TABLESPACE TEST
TEMPORARY TABLESPACE TEST_TEMP;

赋予用户权限

1
2
GRANT CONNECT,RESOURCE TO oracle_admin;
GRANT DBA TO oracle_admin;(可选,DBA为数据库管理员权限)

三、Navicat 连接 oracle

打开 navicat ,选择 Oracle 进行连接,输入信息后,点击连接测试,连接成功后会提示连接成功。

image-20230526170123668

1
2
3
4
5
6
7
连接名:随便命名
连接类型:选择 Basic
主机:填写容器的 IP 地址
端口:填写容器中 oracle 映射的端口
服务名:填写之前配置的 helowin
用户名:填写之前配置的 oracle_admin
密码:填写 123456

如下所示,成功连接到oracle数据库。

image-20230526170357585