文章目录
前言
oracle作为一个重量级的大型关系型数据库、在各行各业的使用中都是很常见的、但是oracle配置异常麻烦、使用过oracle的工程师应该都有体会、特别是在liunx中配置,遇到的坑数不胜数、本文介绍oracle在Docker环境下的安装减少本机配置的麻烦。
一、Oracle的搭建
1.拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
本文以oracle_11g版本为例
二、Oracle旧版本兼容配置
如果不兼容旧版本,启动oracle容器会报Exited 139错误,解决方案如下:
1.在这个%userprofile%文件夹下创建一个.wslconfig文件
文件内容如下:
[wsl2]
kernelCommandLine = vsyscall=emulate
上面文件创建好之后
在cmd中执行wsl --shutdown
重启docker desktop
三、Oracle的配置
1.启动oracle
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
参数说明:
-
-d
后台进程运行 -
--name
容器名称 -
-p
port:port 本地端口:容器端口
启动完成之后,使用:docker ps 查看程序运行情况。
2.进入镜像进行配置
进入镜像进行配置
docker exec -it oracle11 bash
3.切换到root用户下进行配置
su root
密码:helowin
4.编辑profile文件配置ORACLE环境变量
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
5.创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
6.切换到oracle 用户
su - oracle
7.登录sqlplus并修改sys、system用户密码
sqlplus /nolog
conn /as sysdba
8.修改sys、system用户密码并刷新权限
alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
退出:exit;
9.查看一下oracle实例状态
lsnrctl status
10.用nacivat连接oracle数据库
服务名:helowin(一定要填写helowin)
密码:oracle(第12步设置的密码)