Windows
下载
点击 - Products - Oracle Database
下载Oracle Database 19c
选择windows - ZIP 点击下载即可
安装
解压文件后选择 - setup.exe - 管理员运行
点击 - 下一步
点击 - 下一步
点击 - 使用虚拟账户 - 下一步
点击 - Oracle基目录 - 数据库文件位置 - 数据库名 - 口令 - 下一步
点击 - 安装
等待即可 - 时间较长
安装完成点击 - 关闭
初始化
运行windows + R 输入CMD回车
输入 - sqlplus
默认用户名:system
密码(设置的口令):Oracle00
实践
例如创建如下表内容
表名 | 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)
);
插入表数据
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);
查看表
SELECT * FROM pub_emp;
删除表
DROP TABLE pub_emp;
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
安装docker-ce社区版
[root@oracle ~]# yum install docker-ce -y
进行启动设置开机自启,查看状态
[root@oracle ~]# systemctl restart docker
[root@oracle ~]# systemctl enable docker
[root@oracle ~]# systemctl status docker
使用docker拉取Oracle镜像(大约20分钟根据网速决定)
[root@oracle ~]# docker pull registry.cn-shanghai.aliyuncs.com/techerwang/oracle:ora10g_10205
查看镜像
[root@oracle ~]# docker images
创建容器
[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: 传递给容器的初始化命令,启动容器时运行。
进入容器
docker exec -it jemora10205 bash
切换Oracle用户进行启动
[root@jemora10g /]# su - oracle
[oracle@jemora10g ~]$
[oracle@jemora10g ~]$ lsnrctl start
环境变量设置字符显示
[oracle@jemora10g ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
进入oracle数据库
[oracle@jemora10g ~]$ sqlplus / as sysdba
SYS@jem10g>
SYS@jem10g> startup
实践
表名 | 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)
);
插入表内容
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);
查看
SELECT * FROM pub_emp;
删除表
SELECT * FROM pub_emp;