
手把手地教你搭建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 选项襝hangH缓笱≡馯se 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官网】