CentOS 7、UNIX、Linux基于docker安装Oracle 11g express数据库
Oracle Database 11g 快捷版 (Oracle Database XE) 是一款基于 Oracle Database 11g 第 2 版代码库的小型入门级数据库,它具备以下优点:免费开发、部署和分发;下载速度快;并且管理简单。所以对于一些需要在本机上进行虚拟化部署测试oracle最好不过。
本文将针对在docker上安装部署Oracle 11g express进行一个步骤详解:
第一步:Linux主机安装Docker容器
(完整安装过程)
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
7、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0$ sudo yum install # 例如:sudo yum install docker-ce-17.12.0.ce
8、启动并加入开机启动
$ sudo systemctl start docker $ sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
(快速安装过程)
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、设置yum源
$ yum install -y docker
4、启动Docker
$ systemctl start docker.service
或者
$ sudo service docker star
5、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
第二步:Docker容器上部署Oracle 11g express数据库
1、搜索oracle镜像
$ docker search oracle
选择相应的oracle版本进行下载
2、下载oracle镜像
$ sudo docker pull docker.io/oracleinanutshell/oracle-xe-11g
3、查看oracle镜像是否已经下载完毕
$ docker images|grep oracle
4、启动oracle-xe容器
$ sudo docker run -d --shm-size=2g -p 1521:1521 -p 8080:8080 docker.io/oracleinanutshell/oracle-xe-11g
然后使用数据库管理软件连接(该容器的说明),连接信息如下:
hostname:localhost 端口:1521 SID:XE username:system/sys password:oracle url:http://localhost:8080/apex workspace:internal username:admin password:oracl
5、数据库管理
1)通过命令行
可选步骤 为容器改名与进入容器的bash
1、查看容器都名称
$ docker ps
为容器改名 : sudo docker rename 旧名字 新名字
$ sudo docker rename festive_clarke oracle
旧名字通过 sudo docker image ls 来查看
进入容器bash : sudo docker exec -it 容器名或容器id bash
$ sudo docker exec -it oracle bash
$ su oracle
$ sqlplus /nolog
$ connect system
$ password oralce
2)通过浏览器
浏览器输入http://172.16.248.120:8080/apex
注意:这里的172.16.248.120是虚拟机的IP
3)通过数据库软件来管理数据库
日常使用步骤
启动启动docker系统系统服务 : 见第一步(快速安装过程)的4
查看容器ID
$ docker ps -a
启动容器 :sudo docker start 容器名或容器id
例如 :
$ sudo docker start oracle
或
$ sudo docker start 4861b277b44a
停止容器 : sudo docker stop 容器名或容器id
例如:
$ sudo docker stop oracle
或
$ sudo docker stop 4861b277b44a
日常常见问题
1、The Network Adapter could not establish the connection链接失败,但在命令窗口可以使用su oracle链接
解决方案:
1)查找数据库中HOST的值
查看oracle数据库中listener.ora配置HOST
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = 4861b277b44a)(PORT = 1521)) ) )
或者通过监听查看HOST
2)修改liunx中的hosts文件,添加HOST解析的值
4861b277b44a为查找到到Oracle中HOST到值