8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

[原创干货]Oracle Sharding实施教程来袭!!!

来源:本站原创 浏览:126次 时间:2021-12-26

公有云服务我所欲也,Oracle分布式数据库Sharding亦我所欲也,而且基于云服务能力的快速部署能力,我们还可更容易的发挥分布式数据库的无限扩展能力。这两项的关键技术,第一是,在oracle 12cR2 中最引人注目的是sharding技术,第二是公有云上的IaaS服务能力。如果小伙伴们急切地想体验一下 sharding的魅力,下面我就给大家做个展示吧。

一、Oracle Sharding架构

一图胜过千言万语,但是这里需要强调的是,在生产环境中所有shard结点数据库均应部署dataguard,从而保证数据库整体容灾和高可用性,在本例中,为了达到通过最少的资源演示最多的功能目的,所有shard节点均使用单节点数据库,同时gsm server和catalog也未考虑高可用,因为考虑到大家在生产环境中一定都很熟悉Oracle的dataguard选项了。

二、部署前准备

1、 订阅oracle Iaas公有云服务或申请免费的测试用户,申请连接:https://shop.oracle.com/apex/f?p=cloud:free&intcmp=cloud-tryit

2、根据上述配置,申请5个Iaas服务,建立5个虚拟服务器,操作系统版本选择Oracle Linux 6.7 UEK4,shape选择 oc3(1 ocpu,7.5G memory)或oc1m(1 ocpu 15G memory)

3、 为每个服务器额外申请额外3个storage volume,分别用于存储安装介质、oracle软件和数据文件,存储数据文件的volume建议选择storage/latency类型或storage/ssd/gpl。大小分别为20G,20G,和100G(具体根要根据存储数据大小确定)

4、 虚拟机建好后,分别安装相应补丁与必要软件包,命令如下:

Yum  install oracle-database-server-12cR2-preinstall -y

安装oracle 12c preinstall package,自动建立相应用户和权限,并安装相应oracle需要的补丁

yum  install tigervnc-server -yyum  install    -yyum  install xorg-x11-twm  -y安装vncserver,以后可以通过它启动firefox浏览器下载安装介质,并运行runInstaller和dbcayum  install firefox  -y安装Firefox,通过OTN下载安装介质

5、 下载介质

GSM server介质:

http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_database.zip

Oracle 12cR2介质:

http://download.oracle.com/otn/linux/oracle12c/122010/linuxx64_12201_gsm.zip

6、 初始化相应文件卷

初始化安装介质文件卷:

parted /dev/xvdc mklabel gptparted /dev/xvdc mkpart  primary ext4 1 100%mkfs  -t ext4 /dev/xvdc1mount /dev/xvdc1 /media

初始化oracle软件文件卷:

parted /dev/xvdd mklabel gptparted /dev/xvdd mkpart  primary ext4 1 100%mkfs  -t ext4 /dev/xvdd1mount /dev/xvdd1 /u01

初始化数据文件卷:

parted /dev/xvde mklabel gptparted /dev/xvde mkpart  primary ext4 1 100%mkfs  -t ext4 /dev/xvde1mount /dev/xvde1 /oradata
三、部署 catalog数据库

在catalog服务器上部署shard catalog。

1、 设置环境变量

在catalog节点需要准备两套环境变量,其中之一为catalog数据库,内容如下:

export ORACLE_SID=catdb

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=$PATH:$ORACLE_HOME/bin

2、 安装Oracle 12cR2软件使用 runIinstaller安装Oracle 12cR2企业版软件。缺省安装在/u01目录下。![](https://s4.51cto.com/images/blog/202104/15/9596e29d1316fcf41e5d73d7c8c17cd6.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)3、 建立catalog数据库建立catalog数据库,数据库实例名称可以自己定。数据文件和recovery区选择刚刚建立的data volumn文件卷,oracle 12.2 sharding不支持多租户模式,所以需要建立Non-CDB数据库,在未来的oracle 18以后取消该限制。## 四、部署GSM server1、 设置环境在catalog节点需要准备两套环境变量,其中之一为GSM server,内容如下:

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=$PATH:$ORACLE_HOME/bin

2、 安装gsm 软件使用 runIinstaller安装GSM server软件。缺省安装在/u01目录下。![](https://s4.51cto.com/images/blog/202104/15/70d7a3d08bc841798787930aaca01003.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)3、 初始化catalog数据库

mkdir /u01/app/oracle/oradata

mkdir /u01/app/oracle/fast_recovery_area

sqlplus / as sysdba

SQL>alter system set db_create_file_dest= \

'/u01/app/oracle/oradata' scope=both;

SQL> alter system set open_links=16 scope=spfile;

SQL> alter system set open_links_per_instance=16 scope=spfile;

SQL> shutdown immediate

SQL> startup

SQL> spool setup_grants_privs.lst

SQL> alter user gsmcatuser account unlock;

SQL> alter user gsmcatuser identified by welcome1;

SQL> create user mygdsadmin identified by welcome1;

SQL> grant connect, create session, gsmadmin_role to mygdsadmin;

SQL> alter system set events 'immediate trace name GWM_TRACE level 7';

SQL> alter system set event='10798 trace name context forever, level 7' SCOPE=spfile;

SQL> spool off

4、 创建shardcatalog

GDSCTL > create shardcatalog -database catlog:1521:catdb -chunks 12 -user mygdsadmin/welcome1 -sdb cust_sdb -region region1 -agent_port 8080 -agent_password welcome1

5、 创建并启动 shard director(GSM)

GDSCTL > add gsm -gsm sharddirector1 -listener 1571 -pwd welcome1 -catalog catlog:1521:catdb -region region1 -trace_level 16

GDSCTL > start gsm -gsm sharddirector1

GDSCTL > set _event 17 -config_only

6、 通过gdsctl检查相应服务

GDSCTL > config shard

## 五、部署shard部署shard的方式有两种:createshard和addshard,其中createshard方式只需要在shard节点安装Oracle 12cR2软件,不要建立数据量实例,Oracle会自动建立shard节点所需要的实例并配置好相应的设置。1、 设置环境变量

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=$PATH:$ORACLE_HOME/bin

2、 建立credential在GSM节点执行:

GDSCTL > add credential -credential oracle_cred -osaccount oracle -ospassword oracle

GDSCTL > add shardgroup -shardgroup shgrp1 -deploy_as primary -region region1

3、 Shard端在gsm server上注册

mkdir /u01/app/oracle/oradata

mkdir /u01/app/oracle/fast_recovery_area

schagent -start

schagent -status

echo welcome1 | schagent -registerdatabase catlog 8080

4、 安装Oracle软件使用 runIinstaller安装Oracle 12cR2企业版软件。缺省安装在/u01目录下。5、 在GSM端增加shard节点

GDSCTL > add invitednode mydb1

GDSCTL > create shard -shardgroup shgrp1 -destination����,ͬ�� mydb3 -credential oracle_cred

GDSCTL> config shard

Name Shard Group Status State Region Availability


sh1 shgrp1 U none region1 -

sh2 shgrp1 U none region1 -

6、 自动部署shard

GDSCTL > deploy

GDSCTL> config shard

Name Shard Group Status State Region Availability


sh1 shgrp1 Ok Deployed region1 ONLINE

sh2 shgrp1 Ok Deployed region1 ONLINE

## 六、增加Shard(可选)部署shard的方式有两种:createshard和addshard,其中addshard方式是针对在shard节点已有数据库实例,通过手工方式将该节点加入shard集群, oracle 12.2 sharding不支持多租户模式,所以只支持Non-CDB数据库,oracle 18以后取消该限制。1、 设置环境变量

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=$PATH:$ORACLE_HOME/bin

2、 配置shard节点数据库在shard节点的数据库上执行包:

sql >execute DBMS_GSM_FIX.validateShard

该程序会检查当前环境是否符合部署shard,根据提示,修改数据库配置,使其满足所有检查项目。3、 Shard端在gsm server上注册

mkdir /u01/app/oracle/oradata

mkdir /u01/app/oracle/fast_recovery_area

schagent -start

schagent -status

echo welcome1 | schagent -registerdatabase catlog 8080

4、 在GSM端增加shard节点

GDSCTL > add invitednode mydb1

GDSCTL > add shard -shardgroup shgrp1 -connect mydb3:1521/sh3 -pwd oracle

GDSCTL> config shard

Name Shard Group Status State Region Availability


sh1 shgrp1 Ok Deployed region1 ONLINE

sh2 shgrp1 Ok Deployed region1 ONLINE

sh3 shgrp1 U none region1 -

sh4 shgrp1 U none region1 -

5、 自动部署shard

GDSCTL > deploy

GDSCTL> config shard

Name Shard Group Status State Region Availability


sh1 shgrp1 Ok Deployed region1 ONLINE

sh2 shgrp1 Ok Deployed region1 ONLINE

sh3 shgrp1 Ok Deployed region1 ONLINE

sh4 shgrp1 Ok Deployed region1 ONLINE

## 一些思考“如果环境许可,你有本地的5台主机,也可以按照如上步骤部署12c的sharding数据库。但和公有云的计算环境申请比较起来,这样方式本地基础环境的部署时间也长,对资源消耗也大。在公有云上采用按需申请的方式,所有系统的预镜像,软件包的安装,都可以快速完成,极大简化系统的运维工作,并且未来Sharing数据库的动态扩展,都可以在云上实现即时增加,弹性伸缩能力凸显。作为在公有云,本地私有云和混合云的综合领先厂商,ORACLE和其他厂商的最大区别在于所有的软件架构一致,云上和本地部署使用方式一致,在未来,我们可以模糊Sharing的具体部署地点,如一般业务阶段在本地部署,遇到如双十一等促销高峰,可以实现Sharding在云上的弹性扩展,满足混合部署的特定业务需求能力。这是不是非常的炫酷呢?### 点击左下角“阅读原文”按钮下载Word原文编辑 | Alex

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net