oracle作为一个重量级的大型关系型数据库、在各行各业的使用中都是很常见的、但是oracle配置异常麻烦、使用过oracle的工程师应该都有体会、特别是在liunx中配置,遇到的坑数不胜数、本文介绍oracle在Docker环境下的安装减少本机配置的麻烦。
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
本文以oracle_11g版本为例
如果不兼容旧版本,启动oracle容器会报Exited 139错误,解决方案如下:
1.在这个%userprofile%文件夹下创建一个.wslconfig文件
文件内容如下:
[wsl2] kernelCommandLine = vsyscall=emulate
上面文件创建好之后
在cmd中执行wsl --shutdown
重启docker desktop
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
参数说明:
-d
后台进程运行--name
容器名称-p
port:port 本地端口:容器端口
启动完成之后,使用:docker ps 查看程序运行情况。
进入镜像进行配置
docker exec -it oracle11 bash
su root
密码:helowin
vi /etc/profile
最后添加以下3行配置
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH
保存 ::wq
让配置生效:source /etc/profile
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
su - oracle
sqlplus /nolog conn /as sysdba
alter user system identified by oracle; alter user sys identified by oracle; ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
退出:exit;
lsnrctl status
服务名:helowin(一定要填写helowin)
密码:oracle(第12步设置的密码)