欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu下oracle 数据库安装

程序员文章站 2022-03-03 14:33:48
...

环境:腾讯云

一. 由于腾讯云直接下载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登录

待续