Docker部署常见应用之Oracle数据库

在这里插入图片描述

安装部署

使用Docker安装Oracle数据库是一个相对简便的过程,可以避免在本地环境中直接安装Oracle数据库的复杂性。

  1. 安装Docker环境:确保你的系统上已经安装了Docker,并且Docker服务正在运行。具体的安装方法可以根据你的操作系统查找相应的 Docker 安装指南。Centos安装可以参考Docker和Docker-Compose安装

  2. 获取Oracle镜像:使用以下命令从阿里云的仓库拉取Oracle 11g的镜像:

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

    请注意,镜像较大,需要一定的下载时间。

  3. 创建并启动容器:使用docker run 命令是用来启动一个名为 oracle11g 的Docker容器的,

    docker run \
      -d \
      --restart unless-stopped \
      --name oracle11g \
      -p 1521:1521 \
      -v /data/docker/oracle/oradata:/home/oracle/app/oracle/oradata/helowin \
      registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
    

    下面是命令中各个选项的解释:

    • -d:表示以"detached"模式运行容器,即在后台运行。

    • --restart unless-stopped:设置容器的重启策略,这意味着除非容器被显式停止,否则在容器退出时Docker将尝试重启它。

    • --name oracle11g:给容器指定一个名称 oracle11g,这样可以通过这个名称来引用容器。

    • -p 1521:1521:将容器内部的1521端口映射到宿主机的1521端口。Oracle数据库默认使用1521端口,这样设置可以使得外部可以访问到容器中的Oracle数据库服务。

    • -v /data/docker/oracle/oradata:/home/oracle/app/oracle/oradata/helowin:使用 -v--volume 选项将宿主机的目录 /data/docker/oracle/oradata 挂载到容器内的 /home/oracle/app/oracle/oradata/helowin 目录。这样,容器中的Oracle数据库就可以使用宿主机上的持久化存储来存储数据文件。

    • registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:指定要运行的Docker镜像的名称。这个镜像存储在阿里云的Docker Registry上,由用户 helowin 拥有。

    请注意,运行这个命令之前需要确保宿主机上的端口1521没有被占用,以及 /data/docker/oracle/oradata 目录存在且有适当的权限设置。此外,由于使用的是特定的阿里云镜像仓库,需要确保你有权限从该仓库拉取镜像。

  4. 进入容器:使用docker exec命令进入容器内部,进行必要的配置或操作:

    docker exec -it oracle11g bash
    
  5. 配置环境变量:容器内,需要使用Oracle的环境变量,例如ORACLE_HOMEORACLE_SID,容器已经将环境变量放入/home/oracle/.bash_profile中, 使用下面命令使环境变量生效:

    source ~/.bash_profile
    
  6. 登录并创建用户:使用sqlplus登录数据库,并创建新用户:

    #启动SQL*Plus而不自动连接到任何数据库。
    sqlplus /nolog
    # 以 SYSDBA 身份连接到数据库
    CONN / AS SYSDBA
    # 创建一个新的用户 oracle_11g,并设置密码。
    CREATE USER oracle_11g IDENTIFIED BY 123456;
    # 授予 oracle_11g 用户 DBA 角色,使其具有数据库管理员的权限
    GRANT DBA TO oracle_11g;
    # 退出数据库连接
    EXIT;
    
  7. Navicat连接数据库 :

    • 打开Navicat客户端

      • 启动Navicat软件,准备建立新的数据库连接。
    • 创建新连接

      • 在Navicat的主界面上,找到并点击“连接”或“新建连接”按钮,开始创建一个新的数据库连接配置。
    • 填写连接信息

      • 连接名:为这个连接自定义一个易于识别的名称,例如“oracle_11g”。

      • 主机:输入Oracle数据库服务器的IP地址。

      • 端口:输入Oracle数据库服务监听的端口号,通常是1521。

      • 服务名:输入Oracle数据库的服务名,这里是helowin

      • 用户名:使用oracle_11g作为用户名。

      • 密码:输入密码123456

        在这里插入图片描述

    • 测试连接:在填写完所有信息后,点击“测试连接”按钮以确保所有设置正确无误,并且Navicat能够成功连接到数据库。

    • 保存连接:测试连接成功后,点击“确定”或“保存”按钮,将这个连接配置保存在Navicat中。

    • 连接到数据库:现在可以通过点击刚刚创建的连接名来连接到Oracle数据库,开始数据库管理和操作。

请注意,以上步骤提供了一个基本的指南,具体的命令和配置可能需要根据你的具体需求和Oracle数据库的版本进行调整。另外,Oracle的最新版本可能提供了不同的安装和配置方法,建议参考Oracle官方文档或相关社区的最新指南。

参考文章

Oracle官网 Instant Client Package - Basic
cx_Oracle 8 Installation
instantclient_11_2百度云盘分享
Docker安装Oracle(超详细,清晰)
15分钟解决此问题,DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified module could not be
Kettle连接Oracle

您可以使用Docker部署Oracle数据库。以下是步骤和方法: 1. 首先,您需要下载Oracle数据库Docker镜像。根据引用中提到的命令,您可以使用以下命令从阿里云的镜像仓库中获取Oracle XE 11g镜像: ``` docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g ``` 2. 下载镜像后,您可以使用以下命令在Docker中运行Oracle数据库容器: ``` docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle -v /dockerOracleData:/dockerOracleData registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g ``` 这个命令将在后台运行一个名为"oracle"的容器,并将Oracle数据库的SSH端口映射到主机的49160端口,将Oracle数据库的监听端口映射到主机的49161端口。同时,它还设置了允许远程连接的环境变量。 3. 在容器运行后,您可以使用SSH连接到容器并访问Oracle数据库的命令行。您可以使用如下命令连接到容器: ``` ssh -p 49160 root@localhost ``` 登录密码默认为"root"。 4. 连接到容器后,您可以使用Oracle数据库的命令行工具(如SQL*Plus)来管理和查询数据库。您可以使用如下命令连接到数据库: ``` sqlplus sys/oracle as sysdba ``` 这将使用sys用户登录到数据库,并要求您输入sys用户的密码。 5. 如果您需要在外部连接到Oracle数据库,您可以使用主机的IP地址和映射的端口来连接。默认情况下,容器的1521端口映射到主机的49161端口。您可以使用以下连接字符串来连接数据库: ``` hostname:port:SID ``` 其中,hostname是主机的IP地址,port是映射的端口,SID是数据库的系统标识符。默认情况下,Oracle XE 11g的SID是XE。 请注意,以上步骤和方法仅适用于Docker部署Oracle数据库。更多详细信息和其他配置选项,请参考引用中提供的链接和引用中提供的默认用户名和密码。 参考资料: xe 版Oracle默认的数据库实例是xe(数据库名),用户,密码-------sys/oracle system/oracle 下载慢的话:docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle -v /dockerOracleData:/dockerOracleData registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g https://blog.csdn.net/edutech_wang/article/details/120176447 https://www.cnblogs.com/MrXiaoAndDong/p/docker_oracle.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值