纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

Posted 甲骨文云技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯干货:手把手地教你搭建Oracle Sharding数据库分片技术相关的知识,希望对你有一定的参考价值。

手把手地教你搭建Oracle Sharding

         Sharding架构是数据库层面的一种分片技术,可以使分过区的数据分布在各不相同的独立数据库里。ShardingOracle Database 12c Release 2的新特性,它能为适合于 Sharding技术的OLTP应用提供线性扩展和完全错误隔离的能力,可以将 Sharding简单地理解为Oracle 表分区技术的扩展。

         本文将向您展示如何从头一步一步搭建Sharded Database的过程,展示过程中还会穿插讲解一些相关的概念。

本例将搭建如下 Sharded Database (SDB).

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

·        一共3Host,即 SDB1, SDB2, SDB3 均已安装Oracle Linux 6.7

·        HostSDB1上安装Shard DirectorShard Catalog

·        HostSDB2HostSDB3上各安装一个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中可以设置多个位于不同HostShard Director

Oracle Sharding 支持如下三种Sharding方式

 System-ManagedSharding – 这种Sharding方式不需要用户指定数据到Shardmapping关系(可以简单理解为数据按consistenthash之后再分布到各个Shard),本例中将使用这种Sharding 方式。

       CompositeSharding –这种Sharding方式需要用户指定数据到Shardmapping关系(这里将不做详细讲解)。

       UsingSubpartitions with Sharding – Oracle Sharding是基于表分区技术的, 因此 Sharding可以支持所有的subpartition方法

下面开始搭建环境。

一.        安装软件:

                   OracleDatabase 12c Release 2

                    OracleDatabase 12c Release 2 Global Service Manager (GSM/GDS)

1.      在所有节点上安装Oracle Database 12c Release 2(注:只安装软件,不创建DB)

1.1  安装前准备。


纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

1.2  开始安装,点击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 将用于其它节点的安装。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

    1.8 安装过程中,应该按要求新开一个终端,用root执行脚本。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

    1.9 在另外两个节点准备环境并静默安装Oracle Database 12c Release 2

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

 

2.      Shard Director 所在节点安装Oracle Database 12c Release 2 Global Service Manager (GSM/GDS) 本例中即HOST SDB1。安装过程与安装OracleDatabase 12c Release 2类似,均使用默认值。

二.        创建ShardCatalog Database。本例中将会在HostSDB1上创建。

1.    准备环境并启动DBCA。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

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。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

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

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

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

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

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

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

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

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

10.      不要选择Configure EnterpriseManager(EM) database express,点击Next。

11.      本例所有的用户都用同样密码’welcome1’。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

12.    选择Create database。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

13.    点击Finish。

三.        设置OracleSharding Manage和路由层。本例中在HostSDB1上设置。

 

1.    设置catalog database 环境变量并启动监听。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

2.    赋角色和权限。GSMCATUSER是12c内置的一个用户,shard director 用这个用户连到catalog database。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

3.    进入到GDSCTL命令行,创建shard catalog。

注:GDSCTL是一个命令行工具,用于管理和配置Global Data Services framework

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

4.    创建并启动shard director。并设置操作系统安全认证。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

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

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

四.        开始布署SharedDatabase。本例将布署System-ManagedSDB

 

1.    准备。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

2.    布署。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

TIPs:

  • deploy命令会调用远程每一个节点上的dbca去静默安装sharded database。我们可以通过dbca的日志文件去监控安装进度。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

·        deploy 还会在catalogdatabase 上提交一些job来完成相关事务。我们可以查询dba_scheduler_jobs 来监控进度。

·        另外,GSM日志可以用于deploy过程的监控和诊断。GSM日志的位置可以通过如下命令查到。

        GDSCTL>status gsm

 

3.    验证安装是否成功。

纯干货:手把手地教你搭建Oracle Sharding数据库分片技术

 

        Sharded Database (SDB) 安装布署到此完成。我们看到,SDB的安装布署非常容易,几乎所有的管理配置都是通过GDSCTL的几条简单命令完成的。另外,Oracle Sharding还高度整合了Oracle Data Guard:如果你想布署standby database,可以通过GDSCTL的一两条命令来定义,Oracle Sharding 会自动帮你布署好standbys


(想要原始word文档的请在本文章最末尾留下您的邮箱)



长按左边二维码

关注

甲骨文云技术

官方微信

以上是关于纯干货:手把手地教你搭建Oracle Sharding数据库分片技术的主要内容,如果未能解决你的问题,请参考以下文章

纯干货:手把手教你用Python做数据可视化(附代码)

手把手教你搭建caffe及手写数字识别(全程命令提示纯小白教程)

干货|下一代微服务:手把手教你从零搭建Istio及Bookinfo示例程序

干货!手把手教你在 Centos 上安装 Oracle19c RAC 集群,文档巨详细值得收藏!!

手把手教你DBCA搭建Oracle ADG

实战篇:手把手教你 DBCA 搭建 Oracle ADG