Windows

点击进入官网下载地址

点击网盘高速下载提取码(1oPd)

下载

点击 - Products - Oracle Database

Linux/Windows 中 Oracle 部署_docker

下载Oracle Database 19c

Linux/Windows 中 Oracle 部署_docker_02

选择windows - ZIP 点击下载即可

Linux/Windows 中 Oracle 部署_运维_03

安装

解压文件后选择 - setup.exe - 管理员运行

Linux/Windows 中 Oracle 部署_docker_04

点击 - 下一步

Linux/Windows 中 Oracle 部署_运维_05

点击 - 下一步

Linux/Windows 中 Oracle 部署_oracle_06

点击 - 使用虚拟账户 - 下一步

Linux/Windows 中 Oracle 部署_docker_07

点击 - Oracle基目录 - 数据库文件位置 - 数据库名 - 口令 - 下一步

Linux/Windows 中 Oracle 部署_oracle_08

点击 - 安装

Linux/Windows 中 Oracle 部署_oracle_09

等待即可 - 时间较长

Linux/Windows 中 Oracle 部署_oracle_10

安装完成点击 - 关闭

Linux/Windows 中 Oracle 部署_运维_11

初始化

运行windows + R 输入CMD回车

Linux/Windows 中 Oracle 部署_oracle_12

输入 - sqlplus

默认用户名:system

密码(设置的口令):Oracle00

Linux/Windows 中 Oracle 部署_运维_13

实践

例如创建如下表内容

表名

pub_emp


用户ID

用户名

所属部门

用户状态(0启用,1停用)

性别(0男,1女)

userid

username

dept

isstop

sex

A0001

王国亮

研发部

0

0

A0002

李伟俊

研发部

0

0

A0003

王一一

实施部

0

1

A0004

孙建国

运维部

1

1

A0005

张伟

运维部

0

0

创建表

CREATE TABLE pub_emp (
    userid VARCHAR2(5) PRIMARY KEY,
    username NVARCHAR2(20),
    dept NVARCHAR2(20),
    isstop NUMBER(1),
    sex NUMBER(1)
);

Linux/Windows 中 Oracle 部署_docker_14

插入表数据

INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0001', '王国亮', '研发部', 0, 0);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0002', '李伟俊', '研发部', 0, 0);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0003', '王一一', '实施部', 0, 1);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0004', '孙建国', '运维部', 1, 1);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0005', '张伟', '运维部', 0, 0);

Linux/Windows 中 Oracle 部署_运维_15

查看表

SELECT * FROM pub_emp;

Linux/Windows 中 Oracle 部署_docker_16

删除表

DROP TABLE pub_emp;

Linux/Windows 中 Oracle 部署_docker_17

Linux

安装

部署docker所需源环境

[root@oracle ~]# yum install wget -y
[root@oracle ~]# cd /etc/yum.repos.d/
[root@oracle yum.repos.d]# wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Linux/Windows 中 Oracle 部署_oracle_18

安装docker-ce社区版

[root@oracle ~]# yum install docker-ce -y

进行启动设置开机自启,查看状态

[root@oracle ~]# systemctl restart docker
[root@oracle ~]# systemctl enable docker
[root@oracle ~]# systemctl status docker

Linux/Windows 中 Oracle 部署_oracle_19

使用docker拉取Oracle镜像(大约20分钟根据网速决定)

[root@oracle ~]# docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205

Linux/Windows 中 Oracle 部署_运维_20

查看镜像

[root@oracle ~]# docker images

Linux/Windows 中 Oracle 部署_运维_21

创建容器

[root@oracle ~]# docker run -itd --name jemora10205 -h jemora10g -p 3380:3389 -p 31521:1521 -p 312:22 --privileged=true registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205 init


docker run: 启动一个新的容器。
-itd:
-i (interactive): 使容器保持打开状态,可以进行交互。
-t (tty): 分配一个伪终端,通常与 -i 一起使用,使得可以在容器中进行交互。
-d (detach): 使容器在后台运行,并返回容器的ID。
--name jemora10205: 给容器指定一个名称为 jemora10205。
-h jemora10g: 指定容器的主机名为 jemora10g。
-p 3380:3389: 将主机的3380端口映射到容器的3389端口(通常是远程桌面协议RDP的端口)。
-p 31521:1521: 将主机的31521端口映射到容器的1521端口(通常是Oracle数据库的默认端口)。
-p 312:22: 将主机的312端口映射到容器的22端口(通常是SSH服务的端口)。
--privileged=true: 给予容器更高的权限,这样容器可以执行一些普通容器不能执行的操作(例如访问设备文件,进行挂载等)。
registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205: 使用来自阿里云上海区域的Docker镜像仓库中的techerwang/oracle镜像,镜像的标签是 ora10g_10205。
init: 传递给容器的初始化命令,启动容器时运行。

Linux/Windows 中 Oracle 部署_docker_22

进入容器

docker exec -it jemora10205 bash

Linux/Windows 中 Oracle 部署_docker_23

切换Oracle用户进行启动

[root@jemora10g /]# su - oracle
[oracle@jemora10g ~]$
[oracle@jemora10g ~]$ lsnrctl start

Linux/Windows 中 Oracle 部署_oracle_24

环境变量设置字符显示

[oracle@jemora10g ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

进入oracle数据库

[oracle@jemora10g ~]$ sqlplus / as sysdba
SYS@jem10g>
SYS@jem10g> startup

Linux/Windows 中 Oracle 部署_运维_25

实践

表名

pub_emp


用户ID

用户名

所属部门

用户状态(0启用,1停用)

性别(0男,1女)

userid

username

dept

isstop

sex

A0001

王国亮

研发部

0

0

A0002

李伟俊

研发部

0

0

A0003

王一一

实施部

0

1

A0004

孙建国

运维部

1

1

A0005

张伟

运维部

0

0

创建表

CREATE TABLE pub_emp (
    userid VARCHAR2(5) PRIMARY KEY,
    username NVARCHAR2(20),
    dept NVARCHAR2(20),
    isstop NUMBER(1),
    sex NUMBER(1)
);

Linux/Windows 中 Oracle 部署_oracle_26

插入表内容

INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0001', '王国亮', '研发部', 0, 0);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0002', '李伟俊', '研发部', 0, 0);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0003', '王一一', '实施部', 0, 1);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0004', '孙建国', '运维部', 1, 1);
INSERT INTO pub_emp (userid, username, dept, isstop, sex) VALUES ('A0005', '张伟', '运维部', 0, 0);

Linux/Windows 中 Oracle 部署_运维_27

查看

SELECT * FROM pub_emp;

Linux/Windows 中 Oracle 部署_oracle_28

删除表

SELECT * FROM pub_emp;

Linux/Windows 中 Oracle 部署_docker_29