如何获得一个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。

克隆项目

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

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

拷贝安装介质

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

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

修改配置

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

  1. node1:
  2. vm_name: node1
  3. mem_size: 6144
  4. cpus: 2
  5. public_ip: 192.168.56.101
  6. vip_ip: 192.168.56.103
  7. private_ip: 192.168.200.101
  8. u01_disk: ./node1_u01.vdi
  9. node2:
  10. vm_name: node2
  11. mem_size: 6144
  12. cpus: 2
  13. public_ip: 192.168.56.102
  14. vip_ip: 192.168.56.104
  15. private_ip: 192.168.200.102
  16. u01_disk: ./node2_u01.vdi

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

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

启动安装

启动命令如下:

  1. vagrant up

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

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

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

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

  1. PS E:\DB\vagrant-boxes\OracleRAC> Measure-Command { vagrant up | Out-Default}
  2. getting Proxy Configuration from Host...
  3. ==> vagrant: A new version of Vagrant is available: 2.2.6 (installed version: 2.2.4)!
  4. ==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html
  5. Bringing machine 'node2' up with 'virtualbox' provider...
  6. Bringing machine 'node1' up with 'virtualbox' provider...
  7. ==> node2: Importing base box 'ol7-latest'...
  8. Progress: 10%
  9. Progress: 30%
  10. Progress: 40%
  11. ==> node2: Matching MAC address for NAT networking...
  12. ==> node2: Setting the name of the VM: ol7-193-node2
  13. ==> node2: Clearing any previously set network interfaces...
  14. ==> node2: Preparing network interfaces based on configuration...
  15. node2: Adapter 1: nat
  16. node2: Adapter 2: hostonly
  17. node2: Adapter 3: intnet
  18. ==> node2: Forwarding ports...
  19. node2: 22 (guest) => 2222 (host) (adapter 1)
  20. ==> node2: Running 'pre-boot' VM customizations...

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

  1. node2: -----------------------------------------------------------------
  2. node2: INFO: 2019-11-19 09:21:43: Running user-defined post-setup scripts
  3. node2: -----------------------------------------------------------------
  4. ==> node1: Importing base box 'ol7-latest'...
  5. Progress: 10%
  6. Progress: 30%
  7. Progress: 40%
  8. ==> node1: Matching MAC address for NAT networking...
  9. ==> node1: Setting the name of the VM: ol7-193-node1
  10. ==> node1: Fixed port collision for 22 => 2222. Now on port 2200.
  11. ==> node1: Clearing any previously set network interfaces...
  12. ==> node1: Preparing network interfaces based on configuration...
  13. node1: Adapter 1: nat
  14. node1: Adapter 2: hostonly
  15. node1: Adapter 3: intnet
  16. ==> node1: Forwarding ports...
  17. node1: 22 (guest) => 2200 (host) (adapter 1)
  18. ==> node1: Running 'pre-boot' VM customizations...
  19. ==> node1: Booting VM...
  20. ==> node1: Waiting for machine to boot. This may take a few minutes...
  21. node1: SSH address: 127.0.0.1:2200
  22. node1: SSH username: vagrant
  23. node1: SSH auth method: private key
  24. node1:
  25. node1: Vagrant insecure key detected. Vagrant will automatically replace
  26. node1: this with a newly generated keypair for better security.
  27. node1:
  28. node1: Inserting generated public key within guest...
  29. node1: Removing insecure key from the guest if it's present...
  30. node1: Key inserted! Disconnecting and reconnecting using new SSH key...
  31. ==> node1: Machine booted and ready!
  32. ==> node1: Checking for guest additions in VM...
  33. ==> node1: Setting hostname...
  34. ==> 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)可以登录数据库主机。我用后者,界面更一致和美观。
以下为进入主机后的操作

  1. [vagrant@oracle-19c-vagrant ~]$ sudo -s
  2. [root@oracle-19c-vagrant vagrant]# su - oracle
  3. Last login: Thu Nov 14 16:23:04 +08 2019
  4. [oracle@oracle-19c-vagrant ~]$ sqlplus / as sysdba
  5. SQL*Plus: Release 19.0.0.0.0 - Production on Thu Nov 14 16:46:28 2019
  6. Version 19.3.0.0.0
  7. Copyright (c) 1982, 2019, Oracle. All rights reserved.
  8. Connected to:
  9. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
  10. Version 19.3.0.0.0
  11. SQL> show pdbs;
  12. CON_ID CON_NAME OPEN MODE RESTRICTED
  13. ---------- ------------------------------ ---------- ----------
  14. 2 PDB$SEED READ ONLY NO
  15. 3 ORCLPDB1 READ WRITE NO
  16. SQL> exit
  17. Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
  18. 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. oracle OCCI编程

    1. 创建OCCI环境变量 Environment *env = Environment::createEnvironment(); Environment对象的建立必须放在第一位,而且也必须是最后一 ...

  2. sqlserver清空删除日志

    USE [lzdxdb] GO ALTER DATABASE lzdxdb SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE lzdxdb SET ...

  3. DEDECMS安全设置篇

    dedecms是好用,优化也好,就是不安全,个人是这样认为的,今天 闲着没事 整理了一些有助于dedecms网站安全的一些设置,可以说是目前最全的dedecms安全设置! 其一:保持DEDE更新,及时 ...

  4. javascript打开窗口

    项目中javascript代码,早期使用了只有ie支持的方法:Window createPopup() 方法 那个时候是2009年,而现在已经是2019-12-11了.如何改造这个早期的代码呢? 找到 ...

  5. Android程序员事件分发机制学习笔记

    通过问题来学习一个东西是很好的方法.学习Android中View的事件体系,我也通过给自己提问题,在解决问题的同时也就知道了其中原理. 首先来几个问题起步: 什么是事件?什么是事件分发机制? 在我们通 ...

  6. Latex使用过程中的一些总结

    本文主要总结在使用Latex过程中遇到的一些问题及解决方案. 一:关于参考文献 1.如何在paper同一处用\cite命令同时引用多篇文献? 用\cite{bibtex1}\cite{bibtex2} ...

  7. vue大文件上传插件选哪个好?

    文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject() ...

  8. 原生ajax分页,无刷新分页,最简化。超简单,代码最少

    <html><script> var page=1; // 页面第一次加载,显示第一页 window.onload=function(){ ajax_go(1) } //分页的 ...

  9. GIL全局解释锁

    目录 一 介绍 二 GIL介绍 三 GIL与多线程 四 多线程性能测试 一 介绍 ''' 定义: In CPython, the global interpreter lock, or GIL, is ...

  10. nexus pip proxy config

    nexus pip proxy config config for linux touch config touch ~/.pip/pip.conf content [global] index-ur ...