文章目录
前言
我们在进行jar包版本升级时遇到了一些oracle和java数据类型的问题,由于公司内网有诸多限制,我们复现问题需要oracle数据库,因此在此记录腾讯云装oracle镜像以及配置步骤
一、安装docker环境
curl -sSL https://get.docker.com/ | sh
二、拉取oracle镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
三、创建容器
1.查看镜像
docker images
2.创建容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
我在这里改了一下端口
3.进入容器进行相关配置
docker exec -it oracle11 bash
也可以使用docker ps获取容器name,执行docker exec -it 容器name bash
4.切换为root用户
su root
密码为helowin
5.修改Oracle环境变量
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.加载环境变量
source /etc/profile
7.创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
8.切换回oracle用户
su - oracle
一定要写中间的内条 - 必须要,否则软连接无效
9.登录sqlplus
sqlplus / as sysdba
10.创建一个oracle用户
注意,这里正规的操作应该是为用户建立一个表空间和索引表空间,然后再把表空间和索引表空间挂在用户下,但是我们就是为了进行一下oracle问题的测试,所以就简单的创建一个可以访问的用户即可(此种情况创建的用户会使用USER表空间,如果后续有问题会再写一篇文章讲怎么扩表空间和改表空间,PS 我是开发还是运维??)
create user testuser identified by testuser;
此时我们会发现新建的用户如果使用外部机器访问的话会提示没有create session权限
11.为新建的用户创建CREATE SESSION权限
grant create session to testuser;
此时可以看到链接成功
总结
使用oracle的docker镜像还是非常便捷的,感谢这位大佬提供的docker镜像