12C GDS安装简记
概述
GDS作用
GDS(全局数据库服务):跨数据库提供并发、负载均衡服务。这里的数据库指DG之间的主库备库以及通过OGG相关联的多个数据库。
GDS由三部分组成:GSM、GDS配置数据库、数据库。
GSM(常规服务管理)主要提供监听服务,应用的连接不再连接到具体的数据库服务,而是连接到GSM,由GSM转发到各个数据库服务。数据库添加到GSM后,在GSM中可以对这些数据库分配资源池,然后在资源池上配置对外提供的服务。可以对数据库进行更灵活的服务配置。这就是GDS能跨数据库提供服务的原因,GSM就是GDS的核心。
GDS配置数据库:存储GSM的配置信息。
数据库:单实例、RAC、DG等数据库
GSM安装
+->上传软件
mkdir -p /u01/soft/gsm
linuxx64_12201_gsm.zip
chown -R oracle.oinstall /u01/soft/gsm_1
+->用户与组
创建oracle用户与组
+->创建目录
mkdir -p /u01/app/oracle/product/12.2.0/gsm_1
chown -R oracle.oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oraInventory
chmod -R 770 /u01/app/oraInventory
+->环境变量
每个 GSM 都需要独自的ORACLE_HOME
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/gsmhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
+->安装软件
xhost +
export DISPLAY=172.17.201.10:0.0
echo $ORACLE_HOME
$ ./runInstaller
sh /u01/app/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/12.2.0/gsmhome_1/root.sh
+->安装监听
如果gsm安装在单独的服务器上,则还需要安装监听
此步是否真的需要手工安装尚需再次验证,因为gsm的添加与启动不需要也不能通过lsnrctl命令来完成
$ netca
配置但不启动监听
lsnrctl stop
创建GDS配置数据库
安装数据库,并使用dbca建库,此库可以使用非容器数据库,此处为了多多练习PDB才使用的容器数据库
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname gdsdb -sid gdsdb \
-createAsContainerDatabase true -numberOfPDBs 1 -pdbAdminPassword Admin_123 -pdbName pdbgds -useLocalUndoForPDBs true \
-sysPassword Admin_123 -systemPassword Admin_123 -responseFile NO_VALUE \
-storageType FS -datafileDestination /u01/data -redoLogFileSize 500 \
-enableArchive true -archiveLogDest /u01/data/arch \
-recoveryAreaDestination /u01/data/fra -recoveryAreaSize 20480 \
-characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -databaseType OLTP -emConfiguration NONE
服务与监听
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string gdsdb
cell_offloadgroup_name string
db_file_name_convert string
db_name string gdsdb
db_unique_name string gdsdb
global_names boolean FALSE
instance_name string gdsdb
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string gdsdb
[oracle@a12csh4 ~]$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 05-DEC-2017 16:24:12
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date 05-DEC-2017 16:23:45
Uptime 0 days 0 hr. 0 min. 26 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/a12csh4/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=a12csh4)(PORT=1521)))
Services Summary...
Service "5f945f9d7b41237fe053bd15a80a79ca" has 1 instance(s).
Instance "gdsdb", status READY, has 1 handler(s) for this service...
Service "gdsdb" has 1 instance(s).
Instance "gdsdb", status READY, has 1 handler(s) for this service...
Service "gdsdbXDB" has 1 instance(s).
Instance "gdsdb", status READY, has 1 handler(s) for this service...
Service "pdbgds" has 1 instance(s).
Instance "gdsdb", status READY, has 1 handler(s) for this service...
The command completed successfully
创建catalog 管理gsm的用户
$ sqlplus / as sysdba
alter session set container=pdbgds;
create user gsm identified by Admin123 default tablespace users quota unlimited on users;
grant gsmadmin_role to gsm;
grant connect,create session to gsm;
解锁GSMUSER
这个gsmuser用户用于gsm管理各个数据库,跟该数据库是否是配置数据库没有关系,换句话说,想要把一个普通数据库添加到gsm中,那么就先解锁该数据库的gsmuser账户。此处就是把配置数据库当作一个普通数据库来演示GSM的功能。
$ sqlplus / as sysdba
alter user gsmuser identified by Admin123 account unlock;
配置GDS catalog
通过gdsctl工具创建catalog,gdsctl命令在gsm服务器上
#gsm
10.168.21.180 gsm1 gsm1.localdomain
10.168.21.181 gsm2 gsm2.localdomain
10.168.21.189 a12csh4 a12csh4.localdomain
+->修改配置库 GSMCATUSER账户
[oracle@a12csh4 ~]$ sqlplus / as sysdba
alter user gsmcatuser identified by Admin123 account unlock;
登录到gsm服务器,配置TNS,TNS中的服务必须是容器数据库根的服务,不能是某个PDB的服务,再强调一下,配置数据库不必使用容器数据库,此处纯粹是为了尽快熟悉12C,因为有些坑你不去踩一踩就永远不知道那有个坑
cd /u01/app/oracle/product/12.2.0/gsm_1/network/admin
cp samples/tnsnames.ora .
gdstns =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = a12csh4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = gdsdb)
)
)
[oracle@gsm1 admin]$ sqlplus gsm/Admin123@gdstns
SQL*Plus: Release 12.2.0.1.0 Production on Tue Dec 5 16:36:47 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
SQL> exit
[oracle@gsm1 admin]$ gdsctl
GDSCTL: 版本 12.2.0.1.0 - Production, 时间: Tue Dec 05 16:37:24 CST 2017
版权所有 (c) 2011, 2016, Oracle。保留所有权利。
欢迎使用GDSCTL, 请键入 "help" 以获得信息。
警告: 未自动设置当前 GSM 名称, 因为 gsm.ora 不包含或包含多个 GSM 条目。请使用 "set gsm" 命令为会话设置 GSM。
当前 GSM 设置为 GSMORA
GDSCTL>create catalog -database gdstns -user c##gsm/Admin123;
目录已创建
+-->连接到配置库
GDSCTL>connect c##gsm/Admin123@gdstns
已建立目录连接
注册GSM到GDS catalog
登录gsm服务器
+->gsm服务器hosts文件
#gsm
10.168.21.180 gsm1 gsm1.localdomain
10.168.21.181 gsm2 gsm2.localdomain
10.168.21.189 a12csh4 a12csh4.localdomain
新建监听gsmlst 1527 端口,如果listener.ora文件中有主机名解析,那么要求catalog库所在
服务器同样能够解析其中的主机名
gdsctl
add gsm -gsm gsm180 -listener 1527 -catalog oragds:1523:gdsdb
add gsm -gsm gsm180 -listener 1527 -catalog gdstns
[oracle@gsm1 admin]$ gdsctl
GDSCTL>add gsm -gsm gsm180 -listener 1527 -catalog gdstns
"gsmcatuser" 口令:
GSM 已成功添加
查看监听为停止 状态
[oracle@gsm1 admin]$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 05-DEC-2017 16:56:40
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=gsm1)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 2: No such file or directory
启动GSM
[oracle@gsm1 admin]$ gdsctl
GDSCTL: 版本 12.2.0.1.0 - Production, 时间: Tue Dec 05 16:59:04 CST 2017
版权所有 (c) 2011, 2016, Oracle。保留所有权利。
欢迎使用GDSCTL, 请键入 "help" 以获得信息。
当前 GSM 设置为 GSM180
GDSCTL>connect c##gsm/Admin123@gdstns
已建立目录连接
GDSCTL>start gsm -gsm gsm180
GSM 已成功启动
添加gds pool
默认为dbpoolora
GDSCTL>connect c##gsm/Admin123@gdstns
已建立目录连接
GDSCTL>add gdspool -gdspool orderpool
操作已成功完成
添加gds region
GDSCTL>connect c##gsm/Admin123@gdstns
已建立目录连接
GDSCTL>add region -region beijing,shanghai,shenzhen
操作已成功完成
添加数据库到 GDS Pool
要提供global services,数据库必须被添加到GDS Pool中。在将一个12c的数据库添加到GDS Pool之前,需要先将被添加数据库上的gsmuser账户unlock,并设置一个新password
+->被添加数据库添加gsm主机名解析
#gsm
172.168.21.180 gsm1 gsm1.localdomain
172.168.21.181 gsm2 gsm2.localdomain
##SHARD
172.168.21.186 a12csh1 a12csh1.localdomain
172.168.21.187 a12csh2 a12csh2.localdomain
172.168.21.188 a12csh3 a12csh3.localdomain
172.168.21.189 a12csh4 a12csh4.localdomain
+->数据库中解锁gsmuser用户
[oracle@a12csh1 ~]$ sqlplus / as sysdba
SQL> alter user gsmuser identified by Admin123 account unlock;
+->gsm服务器上添加数据库
配置指向数据库的TNS,服务名为根服务名
[oracle@gsm1 admin]$ cd /u01/app/oracle/product/12.2.0/gsm_1/network/admin
db186 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = a12csh1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = csdb)
)
)
db187 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = a12csh2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db186dg1)
)
)
连接测试正常
[oracle@gsm1 admin]$ sqlplus system/Admin_123@db186
[oracle@gsm1 admin]$ sqlplus system/Admin_123@db187
add database -connect rscan:1521/ora12c -region beijing -gdspool dbpoolora -pwd Admin123
add database -connect db186 -region beijing -gdspool orderpool -pwd Admin123
add database -connect db187 -region beijing -gdspool orderpool -pwd Admin123
GDSCTL>connect c##gsm/Admin123@gdstns
GDSCTL>add database -connect db186 -region beijing -gdspool orderpool -pwd Admin123
数据库的唯一名称: csdb
操作已成功完成
GDSCTL>add database -connect db187 -region beijing -gdspool orderpool -pwd Admin123
数据库的唯一名称: db186dg1
操作已成功完成
备注:
-pwd Admin123是被添加数据库上gsmuser 用户的密码
db186、 db187是一套DG, db187 为备库
添加global service
add service -gdspool orderpool -service csdbquery -preferred_all
GDSCTL>add service -gdspool orderpool -service csdbquery -preferred_all
操作已成功完成
+->启动service
GDSCTL>start service -gdspool orderpool -service csdbquery
操作已成功完成
GDSCTL>status service -service csdbquery
服务 "csdbquery.orderpool.oradbcloud" 具有 2 个实例。关系: ANYWHERE
实例 "orderpool%1", 名称: "db186", 数据库: "csdb", 区域: "beijing", 状态: ready。
实例 "orderpool%11", 名称: "db186", 数据库: "db186dg1", 区域: "beijing", 状态: ready。
GDSCTL>status gsm -gsm gsm180
别名 GSM180
版本 12.2.0.1.0
启动日期 05-DEC-2017 16:59:22
跟踪级别 off
监听程序日志文件 /u01/app/oracle/diag/gsm/gsm1/gsm180/alert/log.xml
监听程序跟踪文件 /u01/app/oracle/diag/gsm/gsm1/gsm180/trace/ora_7611_139896822366592.trc
端点概要 (ADDRESS=(HOST=gsm1)(PORT=1527)(PROTOCOL=tcp))
GSMOCI 版本 2.2.1
主身份 Y
已连接到 GDS 目录 Y
进程 ID 7613
重新连接数量 0
暂挂任务。 总计 0
任务正在进行。总计 0
区域主身份 TRUE
发布的消息总数 9
时区 +08:00
孤立的伙伴区域:
无
GDS 区域 regionora
客户端TNS配置
csdbquery =
(DESCRIPTION=
(FAILOVER=on)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(host=gsm1.localdomain)(port=1527)))
(CONNECT_DATA=
(SERVICE_NAME=csdbquery.orderpool.oradbcloud)
(REGION=beijing)
)
)
连接测试成功
[oracle@a12csh4 admin]$ sqlplus system/Admin_123@csdbquery
SQL*Plus: Release 12.2.0.1.0 Production on Tue Dec 5 20:41:09 2017
Copyright (c) 1982, 2016, Oracle. All rights reserved.
2017/12/05 20:41:09 [34539600] [8] config: 0 length name or value
Last Successful login time: Tue Dec 05 2017 19:58:00 +08:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
监听与服务
查看186数据库上监听与服务
[oracle@a12csh1 ~]$ lsnrctl status
Service "csdbquery.orderpool.oradbcloud" has 1 instance(s).
Instance "db186", status READY, has 1 handler(s) for this service...
查看187数据库上监听与服务
[oracle@a12csh2 ~]$ lsnrctl status
Service "csdbquery.orderpool.oradbcloud" has 1 instance(s).
Instance "db186", status READY, has 1 handler(s) for this service...
说明一下,187数据库的instance_name的确为db186,187数据库是186数据库的备库
[oracle@a12csh2 ~]$ sqlplus / as sysdba
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_cloud_name string oradbcloud
_dbpool_name string orderpool
_region_name string beijing
cdb_cluster_name string db186dg1
cell_offloadgroup_name string
db_file_name_convert string
db_name string csdb
db_unique_name string db186dg1
global_names boolean FALSE
instance_name string db186
lock_name_space string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert string null, null
pdb_file_name_convert string
processor_group_name string
service_names string db186dg1
这里GDS最主要的作用--跨数据库提供负载均衡服务的作用就体现出来了,在11G时,服务是不能跨主库和备库的,这里的186数据库和187数据库则是主备关系,一个服务,在主备库上同时运行。
转载于:https://www.cnblogs.com/automng/p/7989286.html
12C GDS安装简记相关推荐
- Oracle 12c RAC 安装文档
首先,谢谢原作者:此文为转载的文章,现将原地址贴出如下: Oracle 12c RAC 安装文档www.cnblogs.com/leohahah/p/9488963.html 更多精彩Zabbix文 ...
- Centos7上安装oracle11g/12c的安装教程推荐及注意事项
Centos7上安装oracle11g的安装教程推荐及注意事项 历时一天半,终于在今天中午安装完oracle11g,成功后喜悦的心情自是溢于言表.总有些疑问,比如为何如此复杂的数据库为何还会有如此之多 ...
- Linux+Oracle+12c+RAC+安装配置详细-GI安装
IP地址 主机名 用途 实例名 192.168.12.58 oracle-rac03-db03 Public ip (节点1) 192.168.12.59 oracle-rac04-db04 Publ ...
- Linux(RedHat)下Weblogic 12C静默安装
Java 版本确认与安装 Oracle 12需要安装JDK, Open JDK 不可以,如果已经安装的话,需要卸载重装. //查找已安装的Java rpm -qa|grep java //卸载安装的o ...
- linux数据库12c安装图解,Linux + Oracle 12c RAC安装配置详细记录过程_图文并茂.pdf
Linux +Oracle12cRAC安装配置详细记录过程_图文并茂_v1.0 Version:<1.0> Linux +Oracle12cRAC安装配置详细记录过程_图文并茂_v1.0 ...
- oracle12设配置,Oracle 12C静默安装与配置
Oracle 12C已经发布...下面我将跟大家一起学习静默安装与配置Oracle 12C以及示例用户. 从链接地址获取Oracle 12C安装包与示例用户安装包. 2. 静默安装数据库软件 2.1浏 ...
- Oracle 12c 的安装
Oracle 12c 安装 官网下载:https://www.oracle.com/cn 1.首先解压该文件 2.进入 进入后的界面: 3. 右键-以管理员身份运行 4. 进入安装程序 (第四步不需要 ...
- Oracle 12C OEM 安装
IP 数据库 OEM 操作系统 数据库版本 192.168.3.3 单机 service(12.1.0.5 ) Linux6.9 11.2.0.4 192.168.3.4 RAC agent Linu ...
- window10下Oracle 12c详细安装教程
说明:安装前先说明一下,最好认真看安装教程慢慢的一步一步安装下来,一次性安装成功.重新安装史无前例的难搞.一下步骤全部在window10系统下进行操作 ························ ...
- oracle 12c r2下载地址,Oracle 12C R2安装尝鲜
Oracle 12C R2下载安装尝鲜 1 下载 目前Oracle以提供官方的Edelivery站点,以提供两个版本的12.2的下载.是linux和solaris.https://www.cndba. ...
最新文章
- 重温目标检测--Faster R-CNN
- Java Pinyin4j(汉字转拼音)
- 如何禁止使用本地administrator进行共享连接
- Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程
- vue warning如何去掉_详解 vue 组件三大核心概念
- 2021年中国电商SaaS行业研究报告
- 运维日常操作--linux命令
- Modbus的CRC校验算法
- 聊聊最近的几件小事儿
- 数据分析师培训班哪家好?
- 余子式和余子式 伴随矩阵定义 性质 二阶矩阵求伴随矩阵 伴随矩阵理解(列排)
- 赤裸裸的逆袭:小学生都用大数据分析苏轼了!
- win7快速启动栏计算机,windows7快速启动栏如何设置 windows7快速启动栏设置方法【图文】...
- NIO源码解析-FileChannel
- ug电子产品计算机建模,UG10网格曲面咖啡壶
- JavaScript (一) js的介绍及基本语法变量
- Python--进程池与线程池
- 使用 SPARQL 查询 RDF 数据
- 正弦波和方波发生器的设计
- css 媒体查询 移动端,媒体查询(pc端,移动端不同布局)
热门文章
- dhcp设置(Padavan dhcp设置)
- 在php中phr是什么意思,虽败犹荣 AGO.phr:WESG让我们如获新生
- layui table 渲染动态列及列数据
- Java基础:常用类(String类)
- 安卓手机如何打开.crx文件_安卓手机打开.crx文件的方法
- 玩转数学答题赢大奖,福利抢先拿!
- 【web前端】第二天-HTML标签(下)
- c语言gets和puts的区别,C 语言 gets()和puts()
- 【Nacos源码篇(五)】Subscriber源码分析
- 大数据——DBT:dbt的数据质量监控插件re_data二次开发及编译(生产环境篇)