暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Sharding Step by Step (2)

凛冬未至 2018-01-16
366

正文共: 3259字 13图

预计阅读时间: 9分钟

接上文:

《Oracle Sharding Step by Step (1)》

操作概览

本文的目标是通过使用系统管理的分片方法来部署分片数据库。 您将了解以下内容:

  • 为系统管理的分片创建分片目录和分片导向器

  • 指定元数据并部署分片数据库

  • 使用系统管理的分片创建表族

  • 为基于会话的路由指定sharding_key(使用SQL * Plus)

  • 通过使用演示应用程序(使用UCP)在分片数据库上执行读写和只读工作负载来观察统一的数据分布

  • 执行跨分片查询

  • 弹性缩放分片数据库

环境概述

在本文中,我们将使用以下组件:

  • 一个分片导向器(GSM)

  • 一个Shardcatalog(chunks = 12)

  • 一个Shardspace

    具有2个分片的主分片组

  • 在本文的最后部分,我们将通过弹性分片功能添加1个额外的分片(sh3)

以下是用于系统管理分片的Sharding架构拓扑:

注意:sdb1,sdb2将在Sharded Database(SDB)的初始部署中使用。 Sdb3将用于增量部署。

环境先决条件

在部署分片数据库之前,执行以下几个前提条件:

A.实验室硬件和软件的大小

B.操作系统用户设置

C.配置主机文件(为了更容易的导航)并为虚拟机设置别名

D.安装环境脚本

E.下载数据库和gsm介质

F.在sdb0到sdb2虚拟机上安装Oracle数据库软件

G.在sdb0上创建非CDB数据库(将用于承载分片目录)

H.安装分片导向器(GSM)(在sdb0上)

以下是包含前提条件的详细步骤:

A.硬件和软件的大小

您必须准备全新的4个虚拟机,这些虚拟机没有任何预先存在的Oracle数据库或正在运行的监听器。

以下是我们为虚拟机推荐的最低硬件/软件配置:

  • CPU - 1 Core

  • 内存 - 4 GB

  • 磁盘空间(/ u01)> 50GB(根据计划执行的负载)

  • 网络 - 低延迟1 GigE

  • OS - Oracle企业级Linux(OEL 64Bit - OS系统内核版本 - 2.6.39-400.211.1)

B.操作系统用户设置

在所有虚拟机上创建一个“oracle”操作系统用户 - 分配给“dba”组,密码设置为“oracle”

允许“oracle”操作系统用户运行“su”的能力。 (请咨询您的系统管理员。)

注意:作为本文的一部分执行的一些命令将花费超过60秒的时间来完成。 请确保打开的任何终端或远程会话都设置了适当的保持活动值,以便会话不会终止。

C.为虚拟机配置主机文件和设置别名

127.0.0.1 localhost.localdomain localhost

10.0.2.10 sdb0

10.0.2.11 sdb1

10.0.2.12 sdb2

10.0.2.13 sdb3

D.安装环境脚本

在虚拟机的$HOME下,创建各种环境shell脚本来设置shard env,shard catalog env和shard director(GSM)env。

  • sdb1.sh,sdb2.sh,sdb3.sh(对于Shards - 分别在sdb1到sdb3上)

  • catadb.sh(用于分片目录 - 在sdb0 VM上)

  • shard-director1.sh(对于Shard Director - 在sdb0 VM上)

在sdb0上

注意:在这个例子中,oracle操作系统用户正在使用bash shell。

$ cd $HOME

$ more catadb.sh

export ORACLE_SID=catadb

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

 

$ more shard-director1.sh

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/gsmhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

 

On sdb1:

 

$ more sdb1.sh

export ORACLE_SID=sh1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

 

On sdb2:

 

$ more sdb2.sh

export ORACLE_SID=sh2

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

 

On sdb3:

 

$ more sdb3.sh

export ORACLE_SID=sh3

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$ORACLE_HOME/bin:$PATH

为了便于执行以下步骤,请打开3个终端服务器会话,并相应地为每个终端服务器会话设置标题。

· Go toTERMINAL -> SET TITLE -> SHARDS

· Go toTERMINAL -> SET TITLE -> SHARDCAT

· Go toTERMINAL -> SET TITLE -> SHARDDIRECTOR1 

要连接到给定的分片(例如sdb1),请执行shell脚本,如下面的终端窗口SHARDS所示:

$ sshsdb1

$ ../sdb1.sh

$ env | grep ORA

ORACLE_SID=sh1

ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

E.下载Oracle数据库和Oracle GSM 12.2软件

从以下网址下载Oracle数据库12.2和Oracle数据库全局服务管理器12.2

https://edelivery.oracle.com

或者

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

将数据库软件复制到所有虚拟机,并将其解压到/home/oracle/database。

将gsm软件复制到sdb0虚拟机,并将其解压到/home/oracle/gsm。

F.在所有虚拟机上安装数据库软件

在这本文中,您将在sdb0,sdb1,sdb2和sdb3上安装数据库软件

注意:您可以选择创建响应文件并在所有分片(上面列出)上执行静默数据库安装。

$cd u01/stage/database

$./runInstaller

取消选中“我希望通过My Oracle Support获得安全更新”复选框。

点击“是”,然后点击“下一步”。

选择“仅安装数据库软件”,然后点击“下一步”。

选择“单实例数据库安装”,然后点击“下一步”。

选择“企业版”,然后点击“下一步”。

为数据库二进制文件设置“Oracle base”和“software location”,然后点击“Next”。 该软件的位置(ORACLE_HOME)非常重要,因为该目录在本文档中的许多位置都有使用。

点击“下一步”。

点击“下一步”。

点击“安装”。

在一个单独的终端中以root身份执行root.sh,然后单击“确定”

点击“关闭”完成安装。


文章转载自凛冬未至,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论