
正文共: 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,然后单击“确定”

点击“关闭”完成安装。




