Docker (一) 安装 Oracle18c

时间:2024-02-01 20:48:37

通过Docker 安装 Oracle18c

1、拉取 oracle18c 镜像

docker pull registry.cn-hangzhou.aliyuncs.com/zhengqing/oracle18c

2、运行

docker run -d --name oracle18c -p 1521:1521 -v /IT_zhengqing/soft/db/oracle18c/data:/opt/oracle registry.cn-hangzhou.aliyuncs.com/zhengqing/oracle18c

运行之后查看容器日志等待出现如下信息即可
在这里插入图片描述

3、进入容器设置密码

进入容器后有个 setPassword.sh 脚本
在这里插入图片描述

执行如下命令设置密码

./setPassword.sh 123456 # 123456为设置密码,这里修改为自己的即可

4、依次执行如下命令进入oracle并设置 PDB

grep $ORACLE_HOME /etc/oratab | cut -d: -f1

export ORACLE_SID=ORCLCDB

sqlplus / as sysdba
设置pdb
show pdbs;

alter session set container=ORCLPDB1;

在这里插入图片描述

# 注:每次登录都要设置 ORACLE_SID 环境变量,可以将这个写到~/.bashrc文件里去 ,执行如下命令
host echo "export ORACLE_SID=ORCLCDB" >> ~/.bashrc

在这里插入图片描述

5、最后测试登录

sqlplus 用户名/密码@服务名     # ex: sqlplus SYSTEM/123456@ORCLPDB1

Navicat远程连接测试

在这里插入图片描述

就这样,一个简单的 Oracle18c 安装基本就完成了。

导入 导出 Oracle表数据 dmp文件

# 拷贝dmp数据文件到容器中
docker cp /home/oracle18c/hb20191128.dmp oracle18c:/tmp   # oracle18c:容器名  前:宿主机文件路径  后:容器保存目录

# 导入
imp 用户名/密码@网络服务名 file=文件名.dmp full=y;    # ex: imp SYSTEM/123456@ORCLPDB1 file=hb20191128.dmp full=y;

# 导出多个表时,表名使用逗号隔开如: tables=(table1,table2,table3)
exp 用户名/密码@网络服务名 file=文件名.dmp tables=(表名);

# 导出整个数据库
exp 用户名/密码@网络服务名 file=文件名.dmp full=y;