ubuntu下oracle 数据库安装

环境:腾讯云

一. 由于腾讯云直接下载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
root@jiang:/home/ubuntu# docker run -d -p 1521:1521 -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
f096e625bcd3a3f9c710710f21e4a93aa4420b0b5ea39880ff6709bbe633a8a1
root@jiang:/home/ubuntu# docker logs -f f096e625bcd3a3f9c710710f21e4a93aa4420b0b5ea39880ff6709bbe633a8a1
Starting Oracle Net Listener.
Starting Oracle Database 11g Express Edition instance.

4.进入容器

docker exec -it 容器ID /bin/bash 

root@jiang:/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
root@jiang:/home/ubuntu# docker exec -it f096e625bcd3 /bin/bash 
root@f096e625bcd3:/# 

可以用netstat -nlpt查看服务

5.启动oracle 

1)进入oracle 目录 

 cd /u01/app/oracle/product/11.2.0/xe/

2)  登录数据库

输入bin/sqlplus sys/system@localhost 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/system@localhost 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登录

待续

原文地址:https://www.cnblogs.com/jiangfeilong/p/10913333.html