zoukankan      html  css  js  c++  java
  • docker安装oracle

           最近工作上面遇到一个性能相关的问题,大体描述一下: 批量任务执行的过程中导致数据库sql执行时间过长,查看之后是由于批量任务占满数据库连接池导致的,至于为什么批量任务会不受系统控制导致连接池占满就不说了,感觉是公司内部机密。为了能够在自己的博客里面记录这个过程,博主想在自己的ubuntu上安装一个oracle,但是下载下来之后发现ubuntu安装oracle会出现各种问题,而且网上解决方案比较少,所以打算使用docker安装,顺便复习一下自己docker的操作。

      首先系统中应该存在docker这个运用程序,安装可以使用命令:sudo apt-get install docker.

      安装完成之后最好是将docker的源修改一下,修改为阿里大佬的源,讲道理比docker官方的源强100倍。详情请参考http://blog.csdn.net/bwlab/article/details/50542261

      搜索oracle相关的docker源:

    work@work:~$ sudo docker search oracle
    [sudo] work 的密码: 
    NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    oraclelinux                         Oracle Linux is an open-source operating s...   402       [OK]       
    frolvlad/alpine-oraclejdk8          The smallest Docker image with OracleJDK 8...   269                  [OK]
    alexeiled/docker-oracle-xe-11g      This is a working (hopefully) Oracle XE 11...   222                  [OK]
    sath89/oracle-12c                   Oracle Standard Edition 12c Release 1 with...   221                  [OK]
    sath89/oracle-xe-11g                Oracle xe 11g with database files mount su...   135                  [OK]
    isuper/java-oracle                  This repository contains all java releases...   55                   [OK]
    jaspeen/oracle-11g                  Docker image for Oracle 11g database            55                   [OK]
    oracle/glassfish                    GlassFish Java EE Application Server on Or...   30                   [OK]
    oracle/openjdk                      Docker images containing OpenJDK Oracle Linux   26                   [OK]
    airdock/oracle-jdk                  Docker Image for Oracle Java SDK (8 and 7)...   23                   [OK]
    ingensi/oracle-jdk                  Official Oracle JDK installed on centos.        21                   [OK]
    wnameless/oracle-xe-11g             Dockerfile of Oracle Database Express Edit...   20                   [OK]
    cogniteev/oracle-java               Oracle JDK 6, 7, 8, and 9 based on Ubuntu ...   20                   [OK]
    n3ziniuka5/ubuntu-oracle-jdk        Ubuntu with Oracle JDK. Check tags for ver...   14                   [OK]
    oracle/nosql                        Oracle NoSQL on a Docker Image with Oracle...   13                   [OK]
    collinestes/docker-node-oracle      A container with Node.js/Oracle instant cl...   9                    [OK]
    openweb/oracle-tomcat               A fork off of Official tomcat image with O...   7                    [OK]
    sgrio/java-oracle                   Docker images of Java 7/8 provided by Orac...   7                    [OK]
    andreptb/oracle-java                Debian Jessie based image with Oracle JDK ...   7                    [OK]
    flurdy/oracle-java7                 Base image containing Oracle's Java 7 JDK       5                    [OK]
    davidcaste/debian-oracle-java       Oracle Java 8 (and 7) over Debian Jessie        3                    [OK]
    teradatalabs/centos6-java8-oracle   Docker image of CentOS 6 with Oracle JDK 8...   3                    
    publicisworldwide/oracle-core       This is the core image based on Oracle Lin...   1                    [OK]
    spansari/nodejs-oracledb            nodejs with oracledb installed globally on...   1                    
    sigma/nimbus-lock-oracle                                                            0                    [OK]
    

      在这里我们选sath89/oracle-12c    sudo docker pull sath89/oracle-12c. 替换阿里源之后速度还是挺快的,差不多10分钟就能下载完成。查看下载的源,一共5.7G

    work@work:~$ sudo docker images;
    REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
    sath89/oracle-12c             latest              17cd1ab9d9a7        2 days ago          5.703 GB
    kalilinux/kali-linux-docker   latest              8ececeaf404d        9 months ago        1.558 GB

      创建docker oracle容器

    work@work:~/app$ sudo docker run -it sath89/oracle-12c
    Database not initialized. Initializing database.
    Starting tnslsnr
    Copying database files
    1% complete
    3% complete
    11% complete
    18% complete
    26% complete
    37% complete
    Creating and starting Oracle instance
    40% complete
    45% complete
        50% complete
    55% complete
    56% complete
    60% complete
    62% complete
    Completing Database Creation
    66% complete
    70% complete
    73% complete
    85% complete
    96% complete
    100% complete
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/xe/xe.log" for further details.
    Configuring Apex console
    Database initialized. Please visit http://#containeer:8080/em http://#containeer:8080/apex for extra configuration if needed
    Starting web management console
    
    PL/SQL procedure successfully completed.
    
    Starting import from '/docker-entrypoint-initdb.d':
    found file /docker-entrypoint-initdb.d//docker-entrypoint-initdb.d/*
    [IMPORT] /entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
    
    Import finished
    
    Database ready to use. Enjoy! ;)

       容器启动完成,注意使用此镜像创建的oracle用户名和密码为: system/oracle,然后我们使用本地的sql工具连接虚拟机的oracle。

       至此,使用docker安装oracle完成,安装过程简单,非生产环境可以考虑使用。下一节详细说明以下遇到的性能问题及相关的分析思路。

  • 相关阅读:
    树上差分
    循环数组最大子段和(带限制的最大子段和,单调队列优化)
    sprintf函数的用法详解
    VBS基础篇
    VBS基础篇
    VBS基础篇
    VBS基础篇
    VBS基础篇
    Android随笔
    Android随笔
  • 原文地址:https://www.cnblogs.com/liboBlog/p/8018613.html
Copyright © 2011-2022 走看看