数据库

首页 » 常识 » 预防 » oracle数据库架构设计
TUhjnbcbe - 2021/6/15 16:11:00
北京看白癜风哪家医院效果好 http://m.39.net/pf/bdfyy/bjzkbdfyy/
架构图image.png

说明1.扫码1库在rac集群2.扫码2库不在rac集群3.所有读库,都不在rac集群4.每个库,都有读库,作用是读写分离,降低写库的压力和提高写库的速度

rac集群优点

1.包含多个ip作用?一个挂了,自动切换为另外一个。

2.包含多个数据库-用户名即包含了很多库。

缺点

由于包含了太多的库,导致某个库有问题,会影响其他库的速度。

所以,一开始是把不同的库,都放在rac集群,但是不同库会互相影响速度——后面又把扫码2库迁移出来了。

扫码1库,暂时还没有迁移出来。

同步技术OAG和OGG的区别?

最大的区别是,同步数据的时候,延迟时间的区别,一个是毫秒级别的延迟(OAG),一个是秒级别的延迟(OGG)。

所以,最佳实践是,主备的时候,都是用毫秒级别技术进行同步。

有优点就有缺点,秒级别的延迟技术功能更丰富,更灵活。应用场景?迁移数据库的时候,就会停机(停旧数据库-主库的写)分钟级别,然后用秒级别同步技术去同步数据到新的数据库。之前迁移的时候,都是这么玩的。而人工exp/imp技术,只是备用技术,并没有实际使用。

应用场景

1.主备同步都是用毫秒级别技术同步。2.迁移库的时候,都是用秒级别技术同步;

汇总多个交易库的数据到汇总库,也是用的秒级别同步技术。

迁移数据库为什么要迁移数据库?

1.数据库硬件快要除故障了,已经预警了,需要换一个新的性能好的机器。

2.从rac集群把某个库迁移出来,因为rac集群里的数据库-用户名太多了,会互相影响速度。

架构图image.png同步技术

主库到读库,用OAG。

主库-旧到主库-新,用OGG。

迁移步骤

1.停机(停旧数据库-主库的写)这个时候,项目还是在运行,但是如果有新的交易,那么在分钟级别的交易是会失败的——因为不能写数据了。所以都是凌晨23点开始做工程。由于主库没有新增数据,备库也不会新增数据。

2.然后启动项目的节点连到新数据库-主库新数据库-主库新增了数据,用秒级别同步技术自动同步到备库。新库的主从节点的同步,一开始提前就准备好了。

主挂了怎么办?从能自动晋升为主吗?

不能,项目里配置的数据库url(域名)都不一样。

所以,如果主挂了,都是人工切换从为主——主要是dba去操作,dba切换从为主。怎么切换?dba映射主域名到从节点。(注:或者开发修改项目里的主库url为备库url,并且重启——这种情况,需要所有项目都要修改并且重启,恢复时间小时级别,所以根本不可能使用,除非万不得已。所以,生产环境,如果是主节点挂了这种故障,一定是dba去人工切换备库为主库,并且人工解析主库域名到从库节点数据库——这样的话,是dba层面统一操作,而且是一次性操作,速度快,恢复时间是分钟级别。)

为什么要修改数据库url的格式?

1.以前主库挂了,只能等待dba恢复主库。为什么不切换到备库?因为要修改项目里的数据库url为备库,然后再启动项目,而且所有项目都要重复这个步骤,没有小时级别不可能恢复正常。

2.现在,改了url的格式之后,dba就可以把域名解析映射到备库去,并且打开备库的写(正常情况下,禁止写,只能读)。应用不需要修改数据库url,也不需要重启。

备库

平时禁止写,只能读。

如果主节点挂了,dba会放开写的权限。

备库和主库的关系?

备库和主库没有任何关系,唯一的关系,就是同步数据的关系,汇总库也是和扫码01/02库只有同步关系,迁移新库的时候也是只有同步关系。所以,如果主库挂了,从库是不可能自动切换为主节点的——第一,因为没有那个技术;第二,没有第三方进行仲裁——所以从节点不知道是网络原因还是主节点真的挂了。

金融行业

普遍做法是

第三点是数据库主库备库的一致性。凡是做过金融系统服务的人都知道,银行数据库主库出问题了怎么办?那就是恢复主库。如果恢复不起来,就要赶紧做人工对账,然后才用备库把服务继续进行下去。青乡

1
查看完整版本: oracle数据库架构设计