docker-oracle
一,拉取oracle镜像
镜像有点大稍等一会就OK
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
二,运行镜像
这个只简单运行,可以根据需要配置volume等
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
三,进入镜像进行配置
# 进入容器
docker exec -it oracle11g bash
# 切换为root用户
su root
# 密码
helowin
# 配置oracle环境变量
vi /etc/profile
# 在profile末尾加入如下配置
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
# 加载环境变量
source /etc/profile
# 创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
# 切换到oracle用户
su - oracle
# 登录
sqlplus /nolog
# 修改system用户账号密码为system;
alter user system identified by system;
# 修改sys用户账号密码为system
alter user sys identified by system;
# 创建一个内部管理员账号密码;
create user aqqje identified by aqqje;
# 给帐号aqqje授权
grant connect,resource,dba to aqqje;
# 修改密码规则策略永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
# 修改数据库最大连接数据(根据自己的需要)
alter system set processes=1000 scope=spfile;
# 连接sysdba
conn /as sysdba;
# 关闭数据库
shutdown immediate;
# 启动数据库
startup;
# 退出软链接
exit
四,测试连接
1,测试之前请确定防火墙端口是否开启/云服务器可能还需要进行安全组配置
2,navicat连接需要在环境中配置相关的依赖,需要到oracle官网下载并配置
五,可能出现的问题
5.1,修改密码规则策略可能不成功
- 提示 database not open / database not mounted
# 解决方法(顺序严格)
alter database mount;
alter database open;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
# 再就是同上了[连接sysdba / 关闭数据库 / 启动数据库 / 退出软链接]