
手把手地教你搭建Oracle Sharding
Sharding架构是数据库层面的一种分片手艺,可以使分过区的数据漫衍在各不相同的自力数据库里。Sharding是Oracle Database 12c Release 2的新特征,它能为适合于 Sharding手艺的OLTP应用提供线性扩展和完全错误隔离的能力,可以将 Sharding简朴地明确为Oracle 表分区手艺的扩展。
本文将向您展示怎样重新一步一步搭建Sharded Database的历程,展示历程中还会穿插解说一些相关的看法。
本例将搭建如下 Sharded Database (SDB).

·一共3台Host,即 SDB1, SDB2, SDB3。 均已安装Oracle Linux 6.7。
·在HostSDB1上安装Shard Director和Shard Catalog。
·在HostSDB2和HostSDB3上各安装一个Shard。
下面是对Oracle Sharding 主要部件的简要诠释:
Sharded Database(SDB) – 是一个逻辑上的Oracle Database,它由多个物理上相互自力的Oracle Databases (Shards) 组成,Shards之间不共享任何软件和硬件,即Share Nothing.
Shards – 是一个自力的数据库。
ShardCatalog - 它也是一个Oracle Database,主要用于Shard的自动部署、集中治理以及跨Shard的查询。
ShardDirectors - 跟据Sharding Key来提供到Shard的路由。OracleSharding中可以设置多个位于差异Host的Shard Director。
Oracle Sharding 支持如下三种Sharding方式:
System-ManagedSharding – 这种Sharding方式不需要用户指定数据到Shard的mapping关系(可以简朴明确为数据anconsistenthash之后再漫衍到各个Shard),本例中将使用这种Sharding 方式。
CompositeSharding –这种Sharding方式需要用户指定数据到Shard的mapping关系(这里将不做详细解说)。
UsingSubpartitions with Sharding – Oracle Sharding是基于表分区手艺的, 因此 Sharding可以支持所有的subpartition要领。
下面开shi搭建情形:
一.安装软件:
OracleDatabase 12c Release 2
OracleDatabase 12c Release 2 Global Service Manager (GSM/GDS)
1.在所有节点上安装Oracle Database 12c Release 2。(注:只安装软件,不建设DB)
1.1安装前准备。

1.2 开shi安装,点击Next。
1.3 选择Installdatabase software only,点击Next。
1.4 选择Singleinstance database installation,点击Next。
1.5 选择EnterpriseEdition,点击Next。
1.6 接下来的所有步骤都使用默认值。点击Next。
1.7 在Summary页面,选择SaveResponse File, 将用于其它节点的安装。

1.8 安装历程中,应gaian要求新开一个终端,用root执行剧本。
.jpg)
1.9 在另外两个节点准备情形并静默安装Oracle Database 12c Release 2。

2.在Shard Director 所在节点安装Oracle Database 12c Release 2 Global Service Manager (GSM/GDS), 本例中即HOST SDB1。安装历程与安装OracleDatabase 12c Release 2类似,均使用默认值。
二.建设ShardCatalog Database。本例中将会在HostSDB1上建设。
1.准备情形并启动DBCA。

2.选择Create a database,点击Next。
3.选择Advanced configuration,点击Next。
4.选择Oracle Single Instance database, 选择General Purpose orTransaction Process模板,点击Next。
5.输入Global Database name和SID,请不要选中Create asContainer database,点击Next。

6.选择File System,选择Oracle-Managed Files(OMF),点击Next。

7.选择Specify Fast Recovery Area ,Enable archiving,点击Next。

8.接下来的页使用默认值,并跳过Data Vault 选项页。然后选择Use Automatic Shared Memory Management。

9.选择Use Unicode(AL32UTF8),点击Next。

10.不要选择Configure EnterpriseManager(EM) database express,点击Next。
11.本例所有的用户都用同样密码’welcome1’。

12.选择Create database。

13.点击Finish。
三.设置OracleSharding Manage和路由层。本例中在HostSDB1上设置。
1.设置catalog database 情形变量并启动监听。

2.赋角色和权限。GSMCATUSER是12c内置的一个用户,shard director 用这个用户连到catalog database。
.jpg)
3.进入到GDSCTL下令行,建设shard catalog。
注:GDSCTL是一个下令行工具,用于治理和设置Global Data Services framework。

4.建设并启动shard director。并设置操作系统清静认证。

5.毗连到每一个Shard Hosts(本例中为HOST SDB2和HOST SDB3),注册Scheduler agents, 并建设好oradata和fast_recovery_area文件夹。

四.开shi布署SharedDatabase。本例将布署System-ManagedSDB。
1.准备

2.布署

TIPs:
•deploy下令会挪用远程每一个节点上的dbca去静默安装sharded database。19体育可以通过dbca的日志文件去监控安装进度。

·deploy 还会在catalogdatabase 上提交一些job来完成相关事务。19体育可以查询dba_scheduler_jobs 来监控进度。
·另外,GSM日志可以用于deploy历程的监控和诊断。GSM日志的位置可以通过如下下令查到。
GDSCTL>status gsm
3.验证安装是否乐成。

Sharded Database (SDB) 安装布署到此完成。19体育看到,SDB的安装布署很是容易,险些所有的治理设置都是通过GDSCTL的几条简朴下令完成的。另外,Oracle Sharding还高度整合了Oracle Data Guard:若是你想布署standby database,可以通过GDSCTL的一两条下令来界说,Oracle Sharding 会自动帮你布署好standbys。
【文章泉源:Oracle官网】