当前位置:   article > 正文

docker安装oracle_docker 安装oracle

docker 安装oracle

拉取镜像

  1. 切换到root账号下,如果是普通账号,下面操作指令前面加sudo

  2. 搜索oracle镜像

  docker search oracle
  • 1

在这里插入图片描述

  1. 拉取镜像
docker pull oraclelinux
  • 1

在这里插入图片描述

由于使用 官方镜像 下载速度非常慢,因此,我们可以使用阿里镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • 1

在这里插入图片描述

  1. 使用 docker images 查看镜像,确认已经下载完成
docker images
  • 1

在这里插入图片描述

启动容器

  • 默认启动容器的方式
docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • 1
  • 持久化启动的方式
docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • 1

参数说明:
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
-p 1521:1521:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射。
--name oracle:为创建的容器命名,即容器名称叫oracle。
--restart=always:当 Docker 重启时,容器会自动启动。
--mount source=oracle_vol,target=/home/oracle/app/oracle/oradata:默认情况下用来挂载volume,但也可以用来创建bind mounttmpfs。如果不指定type选项,则默认为挂载volumevolume是一种更为灵活的数据管理方式,volume可以通过docker volume命令集被管理。
--volume(或简写为-v)只能创建bind mount。示例:

docker run --name $CONTAINER_NAME -it \
-v /localhost/app:/container/app:rw \
-v /localhost/app:/container/app:ro \
nginx:latest /bin/bash
  • 1
  • 2
  • 3
  • 4

注释:

  • 命令格式:[宿主机目录:]容器目录[:OPTIONS]]]
  • 如果指定宿主机目录,则必须是绝对路径,如果路径不存在则会自动创建
  • 实例中的 rw 为读写,ro 为只读

在这里插入图片描述

查看启动的线程

netstat -tulnp
  • 1

在这里插入图片描述

查询运行的容器

docker ps
  • 1

在这里插入图片描述

查看所有的容器

dockers ps -a
  • 1

进入 oracle 容器内环境配置

进入容器

docker exec -it oracle bash
  • 1

在这里插入图片描述
切换到 root 用户 su root,密码为 helowin
在这里插入图片描述
docker容器配置环境变量不是在 /etc/profile 中,容器启动不会走这个文件。
可以将环境变量的配置设置在 /home/oracle/.bashrc 文件下,这样可以省略掉软连接的创建 ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
在这里插入图片描述
编辑环境变量,在文件最后加入以下命令

 vi /home/oracle/.bashrc
  • 1
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

  • 1
  • 2
  • 3
  • 4

wq 保存并退出。然后使用 source /home/oracle/.bashrc 刷新环境变量,并使之生效

source /home/oracle/.bashrc
  • 1

进入 oracle 命令行

使用 sqlplus /nolog 进入oracle命令行

sqlplus /nolog 
  • 1

在这里插入图片描述
使用 “操作系统认证” 的方式,登录oracle

conn / as sysdba
  • 1

如果直接使用默认的 root 用户登录,会报登录失败。这里必须使用 su - oracle 命令,将当前用户切换到 oracle,然后在执行登录命令。
在这里插入图片描述
查看oracle用户

su - oracle
sqlplus /nolog
conn / as sysdba
select instance_name from v$instance;
show user;
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
阿里的这个镜像,所有的密码都是统一的 helowin,账号为system

system用户具有DBA权限,但是没有SYSDBA权限。平常一般用该帐号管理数据库。
sys用户是Oracle数据库中权限最高的帐号,具有“SYSDBA”和“SYSOPER”权限,一般不允许从外部登录。

配置防火墙

防火墙要允许 1521 端口,外部的数据库管理工具才能连的上。

# 打开防火墙
systemctl start firewalld
# 查询端口状态
firewall-cmd --query-port=1521/tcp
# 永久性开放端口
firewall-cmd --permanent --zone=public --add-port=1521/tcp
# 重启防火墙
firewall-cmd --reload
firewall-cmd --query-port=1521/tcp
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

测试连接

在这里插入图片描述
密码为helowin
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/419950
推荐阅读
相关标签
  

闽ICP备14008679号