Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2720671
  • 博文数量: 577
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 6329
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(577)

文章存档

2022年(70)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2022-05-31 15:03:25

19c的rac安装都需要先安装GI(习惯上称为crs),配置ASM,再安装db,再建库
有时单机上也想用GI,一般是安装GI,配置+DATA,安装db,建库,将数据文件创建在+DATA上
还有一种简单架构,只安装GI软件(习惯上称为has),不配置ASM磁盘组,db可以先装,也可以后装。

为什么要这么组合?为何设计这样的架构?

这是oracle restart on standalone的实现方式
一般用于管理侦听、数据库、服务(service)等,总之是单机高可用的oracle解决方案。

有种场景:同城双活搭建了单机adg,对外服务,如果主备切换后,客户端如何透明访问?

官方介绍:




假设已经安装了单机的19c数据库,并创建好了adg,单独给dg配置侦听。接下来的安装gi(restart on standalone)大致过程:

1.创建grid用户及相关BASE HOME目录
2.执行gridSetup.sh以启动 Oracle Grid Infrastructure 设置向导
3.在 Select Configuration Option 屏幕中,选择Set Up Software Only
4.按向导一步步执行,最后根据提示运行root.sh脚本或orainstRoot.sh脚本
5.以root运行 
$GRID_HOME/crs/install/roothas.sh
6.以grid运行 
cd $GRID_HOME/oui/bin
./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME \
  -defaultHomeName CLUSTER_NODES= CRS=TRUE
这里的$ORACLE_HOME指的是grid的home位置

安装完毕,但是没有纳管任何服务,需要手工添加。

以oracle运行

添加本地资源:
先关闭侦听,然后添加
srvctl add listener -listener LISTENER
srvctl add listener -listener LISTENER_ADG -endpoints "1522"

添加集群资源:
srvctl add database -d orcl -oraclehome $ORACLE_HOME \
-spfile $ORACLE_HOME/dbs/spfileorcl.ora

添加服务(一切都是为了它):
srvctl add service -d orcl -s HRSRV -l primary -m BASIC -e SESSION -z 180 -w 5 -j LONG

启动侦听和服务:
srvctl start listener
srvctl start listener -listener listener_adg
srvctl start service -d orcl -s HRSRV

类似下面的效果


启停GI
crsctl start has
crsctl stop has

这种架构grid、oracle用户都要创建,各自home独立,与rac不同的是,侦听配置还是由oracle来创建和管理,只是作为本地资源添加到gi。

官方参考:
  1. https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/configuring-software-binaries-for-oracle-grid-infrastructure-for-a-standalone-server.html

客户端连接串

  1. TNS_HR =
  2. (DESCRIPTION_LIST =
  3. (FAILOVER = ON)
  4. (LOAD_BALANCE = OFF)
  5. (DESCRIPTION =
  6. (ADDRESS_LIST =
  7. (ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.34)(PORT = 1521))
  8. )
  9. (CONNECT_DATA =
  10. (SERVICE_NAME = HRSRV)
  11. )
  12. )
  13. (DESCRIPTION =
  14. (ADDRESS_LIST =
  15. (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.62)(PORT = 1521))
  16. )
  17. (CONNECT_DATA =
  18. (SERVICE_NAME = HRSRV)
  19. )
  20. )
  21. )

如果主备库切换,那么客户端无需修改连接配置即可重新正常(连接会断开一下)访问数据库。


补充说明几种架构:

单机db -- 很常见,多用于测试环境
ha + 单机db -- aix中还有可能用到,利用操作系统的ha提供比单机更可靠的数据库服务
单机gi + db --丐版高可用功能,可以通过service来增强服务管理,实现切换、重试等复杂需求
单机gi + asm + db --数据文件通过asm管理,比上一级更安全和便于管理
单机gi + asm + db + adg --设置了adg,实现容灾需求,基金公司标配
双机gi + asm + rac db
--集群系统,比单机更高的处理能力和容灾能力,常用于生产库
双机gi + asm + rac db + adg --两地三中心常用解决方案

越来越高级、越来越复杂、越来越成本高
阅读(69) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~