配置DOCKER的ORACLE之helowin镜像全过程
为了给自己增加技能点,我开启了折腾docker的oracle镜像安装之路。对于我这个菜鸟来说,度娘搜索出来的各类教程真的,坑是层出不穷。再折腾了好几遍之后,我觉得有必要把这个正确过程写出来,方便和我一样的菜鸟闭坑。
时间点,系统版本都很重要,因为docker更新了,我一不小心把以前的docker所有存储的镜像容器都没了。这个docker太折腾,随便改点参数就起不来,一不小心还能把所有存储的镜像,容器都删除。
- Docker安装避坑
现在是24年初,系统是win11,使用了wsl来安装docker,docker版本v4.26.1。
像我这种初级选手,安装docker都会遇到麻烦,真的,需要注意如下:
-
系统有两个功能需要启用,Hyper-V,适用于Linux的Windows子系统。
-
针对helowin这个镜像无法启动的情况(不知道是不是这个版本老了,求大佬更新),在路径《/user/用户名 》下面新增一个<.wslconfig>文件。配置如下(我手写会报错,复制才行,这配置对格式要求特别严):
[wsl2] kernelCommandLine = vsyscall=emulate
-
docker如果安装好,卡在启动,就需要运行下面命令,是更新wsl的。
wsl --update
2.开始配置oracle镜像
我使用helowin这个镜像,因为度娘能搜到的教材很多都是用它,oracle版本是11g,和公司的oracle版本一样。
①、开始拉取镜像-执行命令:
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
② 、创建容器,下面第一个是人家教材的容器创建命令,我自己的改了,放在代码下面。docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker run -d -it -p 1522:1521 --name my_oracle -v oracle:/home/oracle/app/oracle/oradata -v oracle_bak:/var/backup registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
改动地方主要在于加了两个自定义的valume名字,不然系统自动给你一个鬼都不认识的名字,你的容器多了,就会晕菜。
根据我这折腾好几遍的经验,oracle的控制文件,数据必须多重备份,我就多给了一个备份卷。
③ 、进入镜像进行配置,在windows下面的运行,输入cmd:
docker exec -it oracle11g bash
④、切换到root 用户下
su root
password:helowin
⑤、配置 vi /etc/profile,最后增加如下内容 :(如果对vi不熟,像我这种进去就出不来的,可以使用docker的容器的文件管理,找到profile,然后右键)
# oracle home目录
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
# oracle环境变量
export PATH=$ORACLE_HOME/bin:$PATH
⑥、 使profile生效,好像必须使用命令,要么你重启容器,不是docker哦。
source /etc/profile
⑦、进行软连接后连接进入oracle,不然没办法用sqlplus进行配置。
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
su oracle
sqlplus /nolog
conn /as sysdba
⑧、登录oracle以后,就开始创建用户,没啥坑。
alter user system identified by system;--修改system用户账号密码;
alter user sys identified by system;--修改sys用户账号密码;
create user test identified by test; -- 创建内部管理员账号密码;
grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码;
⑨、最后是验证人品时刻,通过外部工具访问oracle。
希望能对广大菜鸟的学习起到作用,大家少走弯路!