通过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;