Oracle在Linux下安装真的是反人类啊!自从接触了docker,一切都变得很简洁,都是一句命令搞定;好了,闲话少说。

docker在这里就不在说了,自己去学

首先,搜索可安装的Oracle版本:

[root@master ~]# docker search oracle

选择你需要安装的版本
我的版本链接:https://pan.baidu.com/s/1DN8oSbNXvw3uPPuwxRmGUg?pwd=ewd0
提取码:ewd0
–来自百度网盘超级会员V1的分享

[root@master oracle]# docker pull truevoly/oracle-12c

需要一点时间下载。。。。

[root@master oracle]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/sath89/oracle-12c latest 3b1de74f5c96 About an hour ago 5.7 GB

运行容器准备持久化工作

[root@master oracle]# docker run --name oracle12c -d -p 8080:8080 -p 31994:1521 -v /u01/app/oracle truevoly/oracle-12c

查看日志是否正常启动

[root@master oracle]# docker logs -f oracle12c

在这里插入图片描述

作持久化时先把数据拷贝出来在挂载
找到 -v /u01/app/oracle挂载的数据目录来重复使用

[root@m8-9p52-duanzhengnan volumes]# pwd
/opt/docker/volumes
[root@m8-9p52-duanzhengnan volumes]# mkdir /oradata
[root@m8-9p52-duanzhengnan volumes]# cp -a b46dcdd99106ec0e778d0999770595e2e5f790cd1672d9bb7fac534f38213ce1/_data/* /oradata

运行容器指定挂载

[root@master oracle]# docker run --name oracle12c -d -p 8081:8080 -p 31995:1521 -v /oradata:/u01/app/oracle truevoly/oracle-12c

为什么不用docker cp
有一些细小的区别,cp的用不了,所以采用以上方法
在这里插入图片描述

当然你也可以改id号,文件多久就比较麻烦

chown -R 1001.1001 /oradata1

接下来一直等待它自动完成 Import finished

[root@master oracle]# docker logs -f ffbeb07058449672c640ddb4e59b8376dae2e3b4dd54142871da7adbc069ee79
#最后结果是
Database ready to use. Enjoy! ;)

在这里插入图片描述

到这里Oracle实例就已经启动好了

可以看到创建的container已经在运行中

[root@master oracle]# docker ps

进入容器

[root@master oracle]# docker exec -it ef7e5bc1c20e /bin/bash   ##(ef7e5bc1c20e自己容器的ID)

进入容器后是root用户切换到oracle用户

root@ef7e5bc1c20e:/# su oracle

使用sysdba登陆

oracle@ef7e5bc1c20e:/$ $ORACLE_HOME/bin/sqlplus / as sysdba

然后启动数据库:

SQL> shutdown immediate           # 关闭数据库实例(这里会报错,不用管)
SQL> startup;

修改用户 system 的密码为 system ,可以自定义

SQL> alter user system identified by baifendian;         

测试

$ORACLE_HOME/bin/lsnrctl status
$ORACLE_HOME/bin/sqlplus system/baifendian@//192.168.40.183:31995/xe

在这里插入图片描述

在这里插入图片描述

docker也是刚学的,如有问题请指出谢谢!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐