前两天搞坏了们公司一台开发服务器,有个部门要用Oracle数据库,今天说好给人家装好,终于在下班之前弄好了,之间也遇到了很多的坑,在这里记下了,给大家提醒。HHHHHH。。。。
1.docker search oracle 查找oracle ,pull下来很多的oracle镜像,可能是我的系统不兼容吧。出了很多问题,最后找到了这个镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
创建本地数据映射目录
mkdir-p-m755 /Users/lin/Projects/data/oracle_home/oracle_data/{app,dpdump,oraInventory}
2.然后把它跑起来
docker run -d-p1521:1521 --name oracle_11g -v /Users/lin/Projects/data/oracle_home/oracle_data/app:/opt/oracle/app -v /Users/lin/Projects/data/oracle_home/oracle_data/dpdump:/opt/oracle/dpdump -v /Users/lin/Projects/data/oracle_home/oracle_data/oraInventory:/opt/oracle/oraInventory registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3.接着进入容器里
[root@localhost ~]# docker exec -it oracle_11g bash
4.这个时候sqlplus命令 是不可以用的,需要配置一下环境变量,输入密码helowin
[oracle@9e98c99229c8 /]$ su root Password:
5.vi /etc/profile 并在文件最后添加如下命令
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
6.使变量生效,接着切换为 oracle用户就可以正常使用了
source /etc/profile
[root@9e98c99229c8 /]# vi /etc/profile[root@9e98c99229c8 /]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin[root@9e98c99229c8 /]# su - oracle[oracle@9e98c99229c8 ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Tue Apr 1617:08:25 2019Copyright (c) 1982, 2009, Oracle. All rights reserved.
7.登录sqlplus并修改sys、system用户密码
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 退出。
8.查看一下oracle实例状态
lsnrctl status
9.连接测试一把,服务名要填写helowin. 密码:oracle 大功告成
10.提交修改下次直接启动这个容器即可
docker commit 容器名称或ID 新的镜像名称:版本