如何获得一个Oracle RAC数据库(从Github - oracle/vagrant-boxes)

2019-11-20 16:40:36 dingdingfish 阅读数 5更多

 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

环境

一台笔记本电脑,Windows操作系统,安装了VirtualBox,Vagrant,Github。
笔记本内存至少16G。使用外置硬盘,最终实际消耗112GB。

目标

两节点RAC。操作系统Oracle Linux 7,数据库版本支持12.2,18从和19c。本例测试的是19c。
实例名为ORCLCDB,带一个可插拔数据库orclpdb1。

克隆项目

git clone https://github.com/oracle/vagrant-boxes.git

进入vagrant-boxes\OracleRAC目录。其中的README.md有详细的操作过程。

拷贝安装介质

需要下载对应版本的数据库和GI介质并拷贝到ORCL_software目录下。19.3版本介质约6GB。

cd vagrant-boxes/OracleRAC/ORCL_software
cp LINUX.X64_193000_db_home.zip .
cp LINUX.X64_193000_grid_home.zip .

修改配置

默认的RAC节点配置为8GB,由于笔记本只有16G内存,因此把单节点内存配置改为6G,在config/vagrant.yml文件中修改:

node1:
  vm_name: node1
  mem_size: 6144
  cpus: 2
  public_ip:  192.168.56.101
  vip_ip:     192.168.56.103
  private_ip: 192.168.200.101
  u01_disk: ./node1_u01.vdi

node2:
  vm_name: node2
  mem_size: 6144
  cpus: 2
  public_ip:  192.168.56.102
  vip_ip:     192.168.56.104
  private_ip: 192.168.200.102
  u01_disk: ./node2_u01.vdi

如果内存小于6G,vagrant up会报如下错误:

ERROR: vm1_mem_size option can not be less then 6 Gb
config/vagrant.yml, mem_size: 6144

启动安装

启动命令如下:

vagrant up

安装非常顺利,总共耗时2小时29分:

可以看到无论是安装,还是运行,资源都是和紧张的,这是由于笔记本内存不足导致的,如有可能,可以在公有云上进行此实验:

整个安装过程实际创建了两个虚机,本例为ol7-193-node1和ol7-193-node2。VirtualBox很贴心,还为这两个虚机建立一个分组:ol7-193-gi:

安装日志较长,以下截取了一部分:

PS E:\DB\vagrant-boxes\OracleRAC> Measure-Command { vagrant up | Out-Default}
getting Proxy Configuration from Host...
==> vagrant: A new version of Vagrant is available: 2.2.6 (installed version: 2.2.4)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

Bringing machine 'node2' up with 'virtualbox' provider...
Bringing machine 'node1' up with 'virtualbox' provider...
==> node2: Importing base box 'ol7-latest'...

Progress: 10%
Progress: 30%
Progress: 40%
==> node2: Matching MAC address for NAT networking...
==> node2: Setting the name of the VM: ol7-193-node2
==> node2: Clearing any previously set network interfaces...
==> node2: Preparing network interfaces based on configuration...
    node2: Adapter 1: nat
    node2: Adapter 2: hostonly
    node2: Adapter 3: intnet
==> node2: Forwarding ports...
    node2: 22 (guest) => 2222 (host) (adapter 1)
==> node2: Running 'pre-boot' VM customizations...

这里停了很久,因为需要准备RAC节点磁盘和共享存储。
然后到第1个节点:

    node2: -----------------------------------------------------------------
    node2: INFO: 2019-11-19 09:21:43: Running user-defined post-setup scripts
    node2: -----------------------------------------------------------------
==> node1: Importing base box 'ol7-latest'...

Progress: 10%
Progress: 30%
Progress: 40%
==> node1: Matching MAC address for NAT networking...
==> node1: Setting the name of the VM: ol7-193-node1
==> node1: Fixed port collision for 22 => 2222. Now on port 2200.
==> node1: Clearing any previously set network interfaces...
==> node1: Preparing network interfaces based on configuration...
    node1: Adapter 1: nat
    node1: Adapter 2: hostonly
    node1: Adapter 3: intnet
==> node1: Forwarding ports...
    node1: 22 (guest) => 2200 (host) (adapter 1)
==> node1: Running 'pre-boot' VM customizations...
==> node1: Booting VM...
==> node1: Waiting for machine to boot. This may take a few minutes...
    node1: SSH address: 127.0.0.1:2200
    node1: SSH username: vagrant
    node1: SSH auth method: private key
    node1:
    node1: Vagrant insecure key detected. Vagrant will automatically replace
    node1: this with a newly generated keypair for better security.
    node1:
    node1: Inserting generated public key within guest...
    node1: Removing insecure key from the guest if it's present...
    node1: Key inserted! Disconnecting and reconnecting using new SSH key...
==> node1: Machine booted and ready!
==> node1: Checking for guest additions in VM...
==> node1: Setting hostname...
==> node1: Configuring and enabling network interfaces...

空间占用

基本的操作系统位于VirtualBox默认目录下,两个节点(虚机)合计占用空间4.2G。
此外,Vagrant为每个节点又各挂接一块100G磁盘,实际各占用空间15G。另外还有4块20GASM共享磁盘,实际占用80G。这几块磁盘位于Vagantfile所在目录,如下图所示:

所以本实验实际占用空间=4.2+15*2+80=114.2GB。

验证

使用vagrant ssh或vagrant putty(需安装插件,vagrant plugin install vagrant-multi-putty)可以登录数据库主机。我用后者,界面更一致和美观。
以下为进入主机后的操作

[vagrant@oracle-19c-vagrant ~]$ sudo -s
[root@oracle-19c-vagrant vagrant]# su - oracle
Last login: Thu Nov 14 16:23:04 +08 2019
[oracle@oracle-19c-vagrant ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 14 16:46:28 2019
Version 19.3.0.0.0

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

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ WRITE NO
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

参考

  1. https://github.com/oracle/vagrant-boxes/tree/master/OracleDatabase
  2. https://yum.oracle.com/boxes

[转帖]如何获得一个Oracle RAC数据库(从Github - oracle/vagrant-boxes) --- 暂时未测试成功 公司网络太差了..的更多相关文章

  1. [转帖]如何获得一个RAC Oracle数据库(从Github - oracle/docker-images) - 本地版 ---暂时未做实验.

    如何获得一个RAC Oracle数据库(从Github - oracle/docker-images) - 本地版 2019-11-09 16:35:30 dingdingfish 阅读数 32更多 ...

  2. oracle rac 数据库常用命令

    oracle rac 数据库常用命令:1.所有实例和服务的状态srvclt status database -d orcl单个实例的状态:srvctl status instance -d orcl ...

  3. Linux 上Oracle RAC 10g 升级到 Oracle RAC 11g

    了解如何在 Oracle Enterprise Linux 5 上逐步将 Oracle RAC 10g 第 2 版升级到 Oracle RAC 11g. Oracle 数据库 11g(即,新一代网格计 ...

  4. NBU 还原LINUX ORACLE RAC数据库(MIDDB)

    MIDDB集群数据库恢复 目录 MIDDB集群数据库恢复... 1 1.安装 NBUcilent 1 2.修改hosts文件... 2 3.修改hosts文件... 2 4.使用bplis读取备份文件 ...

  5. NBU 还原LINUX ORACLE RAC数据库(CRM)

    CRM集群数据库恢复 linux centos 6.6 oracle 11.2.0.3 集群环境 1.53 oraclea 1.54 oracleb 在linux操作系统root用户下安装好NBUci ...

  6. JDBC连接oracle RAC数据库配置

    RAC的配置如下: node1:ip地址192.168.60.132,实例名:rac1,主机名:rac1 node2:ip地址192.168.60.144,实例名:rac2,主机名:rac2 RAC服 ...

  7. mssql server修改数据库文件位置 此种方法暂未测试成功

    --查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master ...

  8. Oracle RAC集群体系结构

    一. Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Ora ...

  9. bay——Oracle RAC集群体系结构.docx

    Oracle RAC集群体系结构 ————bayaim  2018年10月22日13:33 https://blog.51cto.com/ixdba/862207  一. Oracle集群体系结构 O ...

随机推荐

  1. 基于vue+springboot+docker网站搭建【七】制作后端spring-boot的docker镜像部署

    制作spring-boot的docker镜像并部署 一.下载后端项目:https://github.com/macrozheng/mall 二.修改mall-admin项目的配置文件 修改applic ...

  2. dapperDemo

    dapperDemo 下载链接:http://pan.baidu.com/s/1geQHXPT

  3. 项目中 直接跳后台 不用输入/newadmin

  4. Spark GraphX图算法应用【分区策略、PageRank、ConnectedComponents,TriangleCount】

    一.分区策略 GraphX采用顶点分割的方式进行分布式图分区.GraphX不会沿着边划分图形,而是沿着顶点划分图形,这可以减少通信和存储的开销.从逻辑上讲,这对应于为机器分配边并允许顶点跨越多台机器. ...

  5. eclipse IDE 32位汉化方法及常用软件汉化包寻找办法

    今天听说小组开发人员遇到安装eclipse不能汉化问题.了解到其他同事用的都是64位操作系统,这个同事用的32位系统.通常情况下常用软件都有各路大神发的成熟汉化包,不会出现无法安装汉化包的情况. 先找 ...

  6. pymysql操作(老版本的,新版有基础不同)

    导入库 import pymysql 创建链接 conn=pymysql.connect(host='127.0.0.1',port='3306',user='root',passwd='123456 ...

  7. Java JMS——消息服务

    转载请注明原文地址: https://www.cnblogs.com/ygj0930/p/10921569.html 一:什么是Java消息服务—— 消息通信接口规范 Java消息服务指的:两个应用程 ...

  8. AI-数据标注类型

        随着数据的暴增和计算机硬件技术的发展,也催生了AI技术在各行各业的应用渗透.而想将AI技术应用到各行各业,数据是必需品.因为数据直接影响到AI最终训练出来的模型好坏.AI建模没有太大门槛,但数 ...

  9. PHP的SOLID设计原则

    SOLID Design Principles, 这是一个比设计模式更高级别的概念, 以构建良好代码为目标,真正掌握了就是大师级别了. 我~~~仅知晓~ /*SOLID Design Principl ...

  10. HDU4747:Mex(线段树区间修改)

    传送门 题意: 给出\(n\)个数,然后求\(\sum_{i=1}^n\sum_{j=i}^nmex(i,j)\).\(mex(i,j)\)表示区间\([i,j]\)的\(mex\). 思路: 考虑枚 ...