docker oracle rac_docker部署oracle 11g rac - CSDN
精华内容
参与话题
  • 利用Docker快速部署Oracle环境

    千次阅读 2018-03-18 20:07:56
    转载地址: https://www.linuxidc.com/Linux/2017-03/141760.htm利用Docker快速部署Oracle环境[日期:2017-03-14]来源:Linux社区 作者:taotao1240[字体:大 中 小]工作中需要频繁使用Oracle环境,但是每次搭建...

    转载地址: https://www.linuxidc.com/Linux/2017-03/141760.htm

    利用Docker快速部署Oracle环境

    [日期:2017-03-14]来源:Linux社区  作者:taotao1240[字体:  ]

    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images,这样就能快速获得Oracle环境。

    root@- rac1:docker search oracle

    INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED

    docker.io docker.io/wnameless/oracle-xe-11g Oracle Express 11g R2 on Ubuntu 16.04 LTS 417 [OK]

    docker.io docker.io/oraclelinux Oracle Linux is an open-source operating s... 304 [OK]

    docker.io docker.io/alexeiled/docker-oracle-xe-11g This is a working (hopefully) Oracle XE 11... 203 [OK]

    docker.io docker.io/sath89/oracle-12c Oracle Standard Edition 12c Release 1 with... 112 [OK]

    docker.io docker.io/sath89/oracle-xe-11g Oracle xe 11g with database files mount su... 91 [OK]

    docker.io docker.io/isuper/java-oracle This repository contains all java releases... 52 [OK]

    docker.io docker.io/jaspeen/oracle-11g Docker image for Oracle 11g database 38 [OK]

    docker.io docker.io/oracle/oraclelinux Oracle Linux is an open-source operating s... 34 [OK]

    docker.io docker.io/ingensi/oracle-jdk Official Oracle JDK installed on CentOS. 20 [OK]

    docker.io docker.io/airdock/oracle-jdk Docker Image for Oracle Java SDK (8 and 7)... 16 [OK]

    docker.io docker.io/oracle/openjdk Docker images containing OpenJDK Oracle Linux 15 [OK]

    docker.io docker.io/cogniteev/oracle-java Oracle JDK 6, 7, 8, and 9 based on Ubuntu ... 12 [OK]

    docker.io docker.io/n3ziniuka5/ubuntu-oracle-jdk Ubuntu with Oracle JDK. Check tags for ver... 12 [OK]

    docker.io docker.io/andreptb/oracle-java Debian Jessie based image with Oracle JDK ... 8 [OK]

    docker.io docker.io/oracle/glassfish GlassFish Java EE Application Server on Or... 8 [OK]

    docker.io docker.io/oracle/nosql Oracle NoSQL on a Docker Image with Oracle... 7 [OK]

    docker.io docker.io/infogene/oracle Image for running Oracle Database 11g Stan... 6 [OK]

    docker.io docker.io/openweb/oracle-tomcat A fork off of Official tomcat image with O... 5 [OK]

    docker.io docker.io/flurdy/oracle-java7 Base image containing Oracle's Java 7 JDK 4 [OK]

    docker.io docker.io/jtech/oracle-jdk A Docker image based on the smallest Linux... 3 [OK]

    docker.io docker.io/davidcaste/debian-oracle-java Oracle Java 8 (and 7) over Debian Jessie 2 [OK]

    docker.io docker.io/kaluzki/oracle kaluzki/oracle 2 [OK]

    docker.io docker.io/clincase/oracle clincase oracle db server image 1 [OK]

    docker.io docker.io/jckrz/debian-oracle-jdk Vanilla Debian + Oracle JDK 1 [OK]

    docker.io docker.io/publicisworldwide/oracle-core This is the core image based on Oracle Lin... 1 [OK]

    可以看到有很多版本,11g,12c

     

    这里选择获取12c版本

    root@- rac1:/home/# docker pull sath89/oracle-12c

    Using default tag: latest

    latest: Pulling from sath89/oracle-12c

    863735b9fd15: Pull complete 

    4fbaa2f403df: Pull complete 

    faadd00cf98e: Downloading [=======>                                          ] 394.8 MB/2.768 GB

    829e2e754405: Download complete 

     

    root@- rac1:/home/# docker images

    REPOSITORY TAG IMAGE ID CREATED SIZE

    docker.io/sath89/oracle-12c latest b8bf52883bc7 5 weeks ago 5.692 GB

     

    使用刚刚下载下来的12g image创建一个container,并运行其上的oracle数据库

    docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/app/oracle sath89/oracle-12c

     

    [root@-rac1 ~]# docker logs -f ffbeb07058449672c640ddb4e59b8376dae2e3b4dd54142871da7adbc069ee79

    ls: cannot access /u01/app/oracle/oradata: No such file or directory

    Database not initialized. Initializing database.

    Starting tnslsnr

    Copying database files

    1% complete

    37% complete

    Creating and starting Oracle instance

    40% complete

    45% complete

    62% complete

    Completing Database Creation

    66% 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实例就已经启动好了

     

    可以看到创建的container已经在运行中

    [root@-rac1 ~]~$ docker ps

    CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS              PORTS                                            NAMES

    9e893d773494        sath89/oracle-12c  "/entrypoint.sh "  15 minutes ago      Up 15 minutes      0.0.0.0:1521->1521/tcp, 0.0.0.0:8080->8080/tcp  clever_chandrasekhar

    进入oracle container

    [root@-rac1 ~]~$ docker exec -it 9e893d773494 /bin/bash

     

    root@9e893d773494:/# su oracle

    oracle@9e893d773494:~$ $ORACLE_HOME/bin/sqlplus / as sysdba

    SQL*Plus: Release 12.1.0.2.0 Production on Fri Feb 24 03:03:00 2017

    Copyright (c) 1982, 2014, Oracle.  All rights reserved.

    SQL>

    Oracle 使用的实例名,用户名,密码如下

    ---------------------------------------------

    hostname: localhost

    port: 1521

    sid: xe

    username: system

    password: oracle

    ---------------------------------------------

    接下来就可以快速使用Oracle12C了





    展开全文
  • 之前docker 部署的 oracle 镜像,突然从 dockerhub 下架了。所以没办法,只能自己打包一个oracle 数据库的镜像。 找来找去,其实oracle 自身就提供了oracle 的产品 docker 构建脚本。所以直接按照oracle 官方的...

    前言

    之前docker 部署的 oracle 镜像,突然从 dockerhub 下架了。所以没办法,只能自己打包一个oracle 数据库的镜像。
    找来找去,其实oracle 自身就提供了oracle 的产品 docker 构建脚本。所以直接按照oracle 官方的docker 构建仓库的说明打包。

    oracle 官方 docker image

    官方提供了一个开源仓库,里面有所有的oracle产品的docker image构建的脚本。

    地址:https://github.com/oracle/docker-images

    将上述的仓库clone 到本地。
    docker images clone下来的目录结构
    在这里插入图片描述
    我们需要打包的oracle 数据库,在 OracleDatabase 这个目录中。
    进入到OracleDatabase 可以看到两个文件夹,其实比较关键。
    一个RAC,一个SingleInstance。
    看名字就可以很明白,如果做集群镜像,就打包RAC的 ,如果要是做单节点的就打包SingleInstance的。
    我们这边仅需要一个单节点数据库,所以就打包SingleInstance。

    支持的oracle database 版本

    版本号
    11.2.0.2
    12.1.0.2
    12.2.0.1
    18.3.0
    18.4.0
    19.3.0

    我们以12.2.0.1版本作为例子

    docker-images这个仓库只有build的脚本,并不携带任何oracle database 的安装包。所以我们还得去下载oracle database 对应版本的安装包。

    准备oracle 12.2.0.1 的安装包

    全版本的下载地址 https://www.oracle.com/cn/database/technologies/enterprise-edition/documentation/database.html

    我们需要的12.2.0.1 版本 https://www.oracle.com/database/technologies/oracle12c-linux-12201-downloads.html

    下载12.2.0.1 版本的linux 版本安装包。下载好后,将压缩包文件放到

    docker-images/OracleDatabase/SingleInstance/dockerfiles/12.2.0.1
    

    目录下即可。

    构建

    cd docker-images/OracleDatabase/SingleInstance/dockerfiles
    

    执行该目录下的 buildDockerImage.sh

    Usage: buildDockerImage.sh -v [version] [-e | -s | -x] [-i] [-o] [Docker build o             ption]
    Builds a Docker Image for Oracle Database.
    
    Parameters:
       -v: version to build
           Choose one of: 11.2.0.2  12.1.0.2  12.2.0.1  18.3.0  18.4.0  19.3.0
       -e: creates image based on 'Enterprise Edition'
       -s: creates image based on 'Standard Edition 2'
       -x: creates image based on 'Express Edition'
       -i: ignores the MD5 checksums
       -o: passes on Docker build option
    
    * select one edition only: -e, -s, or -x
    
    LICENSE UPL 1.0
    
    Copyright (c) 2014-2019 Oracle and/or its affiliates. All rights reserved.
    
    

    该脚本的帮助文档 还是比较全面的 ,所以按照提示执行编译即可。
    我这边的build 参数

    ./buildDockerImage.sh -v 12.2.0.1 -e
    

    打包成功后,会在docker images 下生成 oracle/database:12.2.0.1-ee 这个镜像。

    运行容器

    docker run --name <container name> \
    --shm-size=1g \
    -p 1521:1521 -p 8080:8080 \
    -e ORACLE_PWD=<your database passwords> \
    -v [<host mount point>:]/u01/app/oracle/oradata \
    -d \
    oracle/database:12.2.0.1-ee
    

    可以设置的参数如下

    Parameters:
       --name:        The name of the container (default: auto generated)
       --shm-size:    Amount of Linux shared memory
       -p:            The port mapping of the host port to the container port.
                      Two ports are exposed: 1521 (Oracle Listener), 8080 (APEX)
       -e ORACLE_PWD: The Oracle Database SYS, SYSTEM and PDB_ADMIN password (default: auto generated)
    
       -v /u01/app/oracle/oradata
                      The data volume to use for the database.
                      Has to be writable by the Unix "oracle" (uid: 1000) user inside the container!
                      If omitted the database will not be persisted over container recreation.
       -v /u01/app/oracle/scripts/startup | /docker-entrypoint-initdb.d/startup
                      Optional: A volume with custom scripts to be run after database startup.
                      For further details see the "Running scripts after setup and on startup" section below.
       -v /u01/app/oracle/scripts/setup | /docker-entrypoint-initdb.d/setup
                      Optional: A volume with custom scripts to be run after database setup.
                      For further details see the "Running scripts after setup and on startup" section below.
    

    大概看一下就明白了,其他的也没啥特别的参数。
    这个容器启动成功后,实例名为ORCLPDB1 的数据库就可以测试连接一下。
    连接参数如下
    在这里插入图片描述
    即可连接成功,剩下的如何使用,自由发挥咯……

    展开全文
  • 第三部分 一路上的坑坑洼洼 1、节点互信 配置完秘钥认证后, 运行图形界面的节点以grid用户运行: $exec /usr/bin/ssh-agent $SHELL ...在两个节点分别执行,这里一个都不能落下,因为...#ssh rac1 date #ssh ra...

    第三部分 一路上的坑坑洼洼

    1、节点互信

    配置完秘钥认证后,

    运行图形界面的节点以grid用户运行:

    $exec /usr/bin/ssh-agent $SHELL

    $ssh-add

     

    在两个节点分别执行,这里一个都不能落下,因为第一次连接是需要输入yes or no,会将信息写入~/.ssh/known_hosts

    node1:

    #ssh rac1 date

    #ssh rac2 date

    #ssh rac1-priv date

    #ssh rac2-priv date

     

    node2:

    #ssh rac1 date

    #ssh rac2 date

    #ssh rac1-priv date

    #ssh rac2-priv date

     

    2、ASM存储的配置

    在执行以下命令时,

    #/etc/init.d/oracleasm configure

    之后所填的用户是grid和asmadmin

     

    3、防火墙和安全策略机制

    #service iptables stop

    #service ip6tables stop

    #setenforce 0

     

    4、配置主机public IP,private IP,virtual IP的时候

    预先规划IP的时候,每个IP和hostname都要进行测试,防止冲突

    #ping   IP

    #dig   hostname

     

    展开全文
  • Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的《oracle基本操作手册》。oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总。然后形成体系的总结,一则进行回顾复习,...

    概述:写下本文档的初衷和动力,来源于上篇的《oracle基本操作手册》。oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总。然后形成体系的总结,一则进行回顾复习,另则便于查询使用。本图文文档亦源于此。阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理。由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC。始于唐博士指导,对数据库集群进行配置安装,前后经历2,3个月的摸索。中间遇到不少问题。此文档也将一一记录整理。(本文原创/整理,转载请标注原文出处: Oracle 11G RAC数据库安装(九))

     本文极客学院入口:Oracle-RAC 体验

    白宁超

    2015年7月23日10:58:04

    主节点测试各个节点rac运行是否正常。显示rac节点详细信息

    $ srvctl config database -d rac
    Database unique name: rac
    Database name: rac
    Oracle home: /u01/app/oracle/product/11.2.0/db_1
    Oracle user: oracle
    Spfile: /u01/oradata/rac/spfilerac.ora
    Domain: localdomain
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: AUTOMATIC
    Server pools: rac
    Database instances: rac1,rac2
    Disk Groups: 
    Services: 
    Database is administrator managed
    $
    $ srvctl status database -d rac
    Instance rac1 is running on node rac1
    Instance rac2 is running on node rac2
    $


    V$ACTIVE_INSTANCES视图还可以显示当前状态的实例。

    $ sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.1.0 Production on Sat Sep 26 19:04:19 2009
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    SQL> SELECT inst_name FROM v$active_instances;
    INST_NAME
    --------------------------------------------------------------------------------
    rac1.localdomain:rac1
    rac2.localdomain:rac2
    SQL>

    检查创建的数据库

    srvctl工具可以显示当前的RAC数据库配置和状态。

    显示AKA群集数据库的配置信息:

    oracle@RAC1> srvctl config database -d AKA

     

    所有实例和服务的状态:

    oracle@RAC1> srvctl status database -d AKA

     

    某个特定节点上应用程序状态:

    oracle@RAC1> srvctl status nodeapps -n gentic

     

    显示节点应用程序配置信息(VIP,GSD,ONS,监听器)

     oracle@RAC1> srvctl config nodeapps -n gentic -a -g -s -l
    
    VIP exists.: /gentic-vip/192.168.138.130/255.255.255.0/eth0
    
    GSD exists.
    
    ONS daemon exists.
    
    Listener exists.
     

     

    群集中运行的所有实例:

    sqlplus system/manager@AKA1
    SELECT inst_id,
    
    instance_number,
    
    instance_name,
    
    parallel,
    
    status,
    
    database_status,
    
    active_state,
    
    host_name host
    
    FROM gv$instance
    
    ORDER BY inst_id;

     

    视图V$ACTIVE_INSTANCES也可以显示当前实例的状态:

    SELECT * FROM v$active_instances;

     

    最后,GV$允许你显示整个RAC的全局信息:

    SELECT inst_id, username, sid, serial#
    
    FROM gv$session
    
    WHERE username IS NOT NULL;

     

    启动企业管理器控制台

    企业管理控制台是整个群集共享的,在我们的例子中它在https://rac1:1158/em上监听。

    全部参考文献


    相关文章


    【MySql集群搭建】   真机环境下MySQL-Cluster搭建文档

    【Hadoop集群搭建】Hadoop集群的配置(一)

    【Hadoop集群搭建】Hadoop集群的配置(二) 

    转载于:https://www.cnblogs.com/baiboy/p/orc9.html

    展开全文
  • 操作系统Oracle Linux 7,运行容器数据库,数据库企业版,RAC,版本为19.3.0,实例名为ORCLCDB,带一个可插拔数据库orclpdb1。 创建Linux操作系统 创建Linux实例,配置为VM.Standard2.2,启动卷定制为200G。 创建1个...
  • Docker部署Oracle环境

    2018-03-26 21:46:06
    root@- rac1:/home/# docker pull sath89/oracle-12c使用刚刚下载下来的12g image创建一个container,并运行其上的oracle数据库[root@-rac1 ~]# docker run -d -p 8080:8080 -p 1521:1521 -v /my/oracle/data:/u01/...
  • Docker中安装配置Oracle12c并实现数据持久化 数据卷的特点及使用
  • 利用Docker快速部署Oracle12c环境

    千次阅读 2018-03-15 18:02:16
    利用Docker快速部署Oracle12c环境 工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是...root@- rac1:docker search oracle INDEX NAME DESCRIPTIO...
  • 本人新手,资源有限,希望能得到大神指点。想利用虚拟机搭建一个Oracle 11grac集群,方便以后的学习!
  • 在metalink上找到一篇,ID 1069517.1相关的,开始检查 1. 用listener的owner用户检查rdbms_...[root@rac1~] # ls -l /u01/app/oracle/product/11.2.0.3/db/bin/oracle -rwsr-s--x 1 oracle oinstall 233186712 May
  • oracle报错Connected to an idle instance

    千次阅读 2017-12-07 10:34:32
    方法一:linux下进入oracle命令重新启动,(如果没有该服务,用思路二)     重启oracle服务:service oracle restart ,     查看oracle状态 :service oracle status。     查看oracle...
  • 安装RAC数据库时发现不了ASM磁盘

    千次阅读 2018-10-16 14:02:17
    在安装RAC数据库时,数据库发现不了ASM磁盘。     数据库无法发现ASM磁盘   导致这次的主要原因是grid下目录中有个oracle文件被我改了权限。 最后chmod 6751 oracle 将权限改了会来   这是节点2下...
  • CDH大数据平台实施经验总结2016

    万次阅读 2017-05-11 17:33:21
    2016年负责实施了一个生产环境的大数据平台,用的CDH平台+docker容器的方式,过了快半年了,现在把总结发出来。1. 平台规划注意事项1.1 业务数据全部存储在datanode上面,所以datanode的存储空间必须足够大,且每个...
  • 安装rac10g,出现如下...[root@rac2 oracle]# /u01/product/crs/root.sh WARNING: directory '/u01/product' is not owned by root Checking to see if Oracle CRS stack is already configured /etc/oracle does no
  • 客户端连接RAC&TNS-12545

    千次阅读 2011-07-22 22:32:07
    今天一个同事说她自己连不上库,报:TNS-12545: 因目标主机或对象不存在, 连接失败而周围的同事都可以,很明显是她自己的配置出了问题。E:\sftp>tnsping RACDBTNS Ping Utility for 32-bit Windows: Version 11.2
  • ORA-12547 TNSlost contact报错的处理方法

    千次阅读 2018-05-08 11:14:25
    ORA-12547 TNSlost contact报错的处理方法环境变量复制之后,在dsg用户下使用sqlplus / as sysdba登录Oracle数据库,验证环境变量是否正确如报错:...HOME/bin/oracle文件权限是否有问题 (在rac下需要查看$ORACLE_...
  • 安装Oracle Linux 查看是否安装 oracle ps -ef | grep ora 如果没安装 直接用Oracle镜像即可 直接启动即可: docker run -d --name sath89_oracle-xe-11g -p 1521:1521 04851454491b 04851454491b:这个是镜像id ...
  • -bash-4.1
  • rlwrap 安装

    千次阅读 2014-02-19 16:26:05
    在Linux下使用SQL*PLUS发现无法像bush一样上下翻页,也不能退格,只要安装rlwrap即可实现以上功能: ...[root@RAC1 Server]# rpm -ivh readline-5.1-1.1.x86_64.rpm  [root@RAC1 Server]# rpm -ivh libte
1 2 3 4 5 ... 17
收藏数 336
精华内容 134
关键字:

docker oracle rac