Docker安装Oracle19c数据库
1、oracle19c镜像获取
获取镜像可以通过两种方式。
-
第一种是通过联网直接拉取。
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c -
第二种方法将已经安装过的镜像进行打包。
docker save -o oracle_19c.tar registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
将打包好的数据库镜像包恢复到要部署的服务器
docker load < oracle_19c.tar
2、创建目录并赋权
mkdir -p /docker/oracle19c/oradata
chmod 777 /docker/oracle19c/oradata
3、oracle数据库启动
启动命令参考如下:
docker run -d --restart always -p 1521:1521 -p 5500:5500 -e ORACLE_SID=orcl -e ORACLE_PDB=ORCLPDB -e ORACLE_PWD=oracle -e ORACLE_EDITION=enterprise -e ORACLE_CHARACTERSET=ZHS16GBK -e INIT_SGA_SIZE=4096M -e INIT_PGA_SIZE=1024M -v /docker/oracle19c/oradata/:/opt/oracle/oradata/ -v /etc/localtime:/etc/localtime:ro --name oracle_19c registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
启动参数配置:
ORACLE_SID=ORCLDB :设置oracle的SID标识
ORACLE_PWD=oracle :设置oracle管理员密码
ORACLE_EDITION=standard :对oracle数据库标准化安装(企业级:enterprise)
ORACLE_CHARACTERSET=ZHS16GBK :对oracle数据库字符集设置(ZHS16GBK、AL32UTF8)
docker/oracle19c/oradata/ :oracle数据库的持久化保存,映射到本地oradata文件夹下
4、oracle数据库启动情况检查
由于oracle安装启动时间比较长,可以通过查看日志确定是否安装成功。
docker logs -f oracle_19c
在日志中出现下图标识,表示数据库已经安装完成,可进行下一步安装。

5、数据库连接
Oracle 12c之后,引入了多租户架构,也就是CDB和PDB的概念,所以在创建完数据库,使用PL/SQL Developer工具连接时,将SID设置为ORCLPDB,这样在创建用户时,不用在用户名前添加c##。连接后,并通过PL/SQL Developer工具进行创建用户。

6、问题处理
1.创建用户时,提示“ORA-65096: invalid common user or role name”
1.进入oracle容器中
docker exec -it oracle_19c /bin/bash
2.以dba身份登录
sqlplus / as sysdba
3.查询容器
select con_id,dbid,NAME,OPEN_MODE from v$pdbs;

4.将pdb打开
alter pluggable database pdb open;
5.切换容器到pdb
alter session set container=pdb;
6.查看当前使用容器
select sys_context ('USERENV', 'CON_NAME') from dual;


浙公网安备 33010602011771号