环境:腾讯云
一. 由于腾讯云直接下载oracle太慢,先安装docker
1.sudo apt update
2.接下来,使用apt
安装一些允许通过HTTPS才能使用的软件包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
3.然后将官方Docker存储库的GPG**添加到您的系统:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
4. 将Docker存储库添加到APT源:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
5.接下来,使用新添加的repo源中的Docker包更新包数据库:
sudo apt update
6.确保您要从Docker repo安装而不是默认的Ubuntu repo:
apt-cache policy docker-ce
7.安装Docker:
sudo apt install docker-ce
8. sudo service docker start
9. sudo docker run hello-world //测试docker安装
4.镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。
DOCKER_OPTS="--registry-mirror=https://mirror.ccs.tencentyun.com"
sudo echo"DOCKER_OPTS=\"--registry-mirror=http://hub-mirror.c.163.com\"">>/etc/default/docker
sudo echo "DOCKER_OPTS=\"--registry-mirror=https://docker.mirrors.ustc.edu.cn\"" >> /etc/default/docker
sudo echo"DOCKER_OPTS=\"
--registry-mirror=https://mirror.ccs.tencentyun.com
\"">>/etc/default/docker
5. sudo systemctl daemon-reload //刷新daemon
6.sudo service docker restart //重启docker
二.利用docker 安装oracle数据库
1.sudo docker search oracle //搜索可用版本
2.拉取oracle
docker pull oracleinanutshell/oracle-xe-11g
3.查看已下载到计算机的镜像
sudo docker images R
4.运行Docker容器
ubuntu docker 安装 oracle
1、ubuntu 安装docker
sudo apt-get update
sudo apt-get docker.io
2、docker下载oracle镜像
docker pull oracleinanutshell/oracle-xe-11g
下载完成后,查看镜像
sudo docker images
3.运行
docker run -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
[email protected]:/home/ubuntu# docker run -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g f096e625bcd3a3f9c710710f21e4a93aa4420b0b5ea39880ff6709bbe633a8a1 [email protected]:/home/ubuntu# docker logs -f f096e625bcd3a3f9c710710f21e4a93aa4420b0b5ea39880ff6709bbe633a8a1 Starting Oracle Net Listener. Starting Oracle Database 11g Express Edition instance.
4.进入容器
docker exec -it 容器ID /bin/bash
[email protected]:/home/ubuntu# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f096e625bcd3 oracleinanutshell/oracle-xe-11g "/bin/sh -c '/usr/sb…" About a minute ago Up About a minute 22/tcp, 8080/tcp, 0.0.0.0:1521->1521/tcp compassionate_lamport [email protected]:/home/ubuntu# docker exec -it f096e625bcd3 /bin/bash [email protected]:/#
可以用netstat -nlpt查看服务
5.启动oracle
1)进入oracle 目录
cd /u01/app/oracle/product/11.2.0/xe/
2) 登录数据库
输入bin/sqlplus sys/[email protected] as sysdba后按提示输入账号秘密
3)输入show parameter service_names; 查看用户
后面的操作没有成功
三. 拷贝oracle 到主机
1.拷贝文件
docker cp c0f01126c527:/u01/app/ /home/
cp -r /home/app/ /u01/
2.修改/etc/profile
3.启动 sqlplus sys/[email protected] as sysdba
启动时报错
1). sqlplus: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
安装 sudo apt-get install libaio-dev
2). 报错端口没有监听
I. 修改 vim /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora 将端口改为服务器Ip
II. set oracle_sid=xe
3. 修改了可以用sqlplus /nolog登录
待续