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也是刚学的,如有问题请指出谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/75785.html