docker-compose搭建起oracle
version: "3"
services:
oracle_db:
image: wnameless/oracle-xe-11g
volumes:
- ./data/oracle_data:/opt/oracle/oradata
- ./oracle:/u01/app/oracle
ports:
- 14420:1521
进入镜像后使用sqlplus进行链接(直接sqlplus连接), 或者使用Navicat等图形化数据库软件进行连接.
账户名: system
密码: oracle
- 密码过期问题
由于oracle有默认密码, 且有30天的有效时间, 如果过了30天则外部就会连不上服务端, 解决方法如下
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
查看修改结果
select * from dba_profiles WHERE dba_profiles.profile='DEFAULT';
如果是
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- ----------------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
LIMIT列显示为, UNLIMITED则表示成功
- 数据卷挂载问题
tips: 如果遇到数据卷挂在起不来的问题可以暂时注释掉挂载(volumes), 先将容器启动, 再将容器内的挂载卷复制出来即可