Q1:19c长期支持可以到多久?19c哪个版本比较好?
A1:19c长期支持到2026年(ES扩展支持服务),建议直接到mos下载19c最新版本,如果是测试则可以到edelivery.oracle.com或者oracle.com下载19c即可。
Q2:从11g升级到19c以后,会对现有的应用程序造成影响吗?
A2:升级到19c对应用程序不会造成影响,但是为了安全起见,建议您升级前需要对应用测试进行测试
Q3:19c必须使用cdb吗?
A3:19c支持non-cdb及cdb模式,但是在20c中将不会支持non-cdb架构,并且从19c开始使用不超过三个(包含三个)租户免费
Q4:跨版本DG支持吗?比如11g到12c
A4:逻辑standby 可以支持跨版本的dg,主要在滚动升级时使用,但是不支持长期使用。逻辑dataguard技术限制较多,需要检查是否有限制条件,详见:https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/data-type-ddl-support-on-logical-standby-databases.html#GUID-340BA6D6-74D5-4684-AF39-08890D5CD9D4
Q5:far sync如何实现零数据丢失?如果far sync的实例或者服务器down了,主库会hang住吗?
A5: 主库是用同步方式发送redo log 到far sync 服务器上的,所以不会丢失交易。
Q6:如果在主中心同一个机房建立多个adg,采用这个重定向,是否可以认为实现了读写分离?
A6:读写分离只需要ADG即可实现,如果再加上Far Sync ADG和ADG DML Redirect重定向,能够更好的实现两地三中心
Q7:逻辑备库的成熟度这么样? 是不是还是推荐物理备库在生产环境?
A7:逻辑备库使用场景较少,主要是在滚动升级rolling upgrade时使用,因为逻辑备库的原理(sql apply)所以有很多数据类型是不支持的,所以我们仍然推荐使用物理dataguard
Q8:备库切换为主库后,有什么好的方法保证应用端不修改连接数据库的IP地址 ,让应用能够连接到备库。
A8:可以通过使用dns来连接数据库,当发生switchover/failover后可以通过修改dns方式来实现;
Q9:AFFIRM and NOAFFIRM 这两个参数能讲一下吗
A9:区别在于前者会等待备库收到redo log并写入磁盘,后者只需要确认备库收到redo log而不等待写入磁盘
Q10:19c 的ADG需要额外授权吗,DML重定向功能是包含在ADG License里面么?还是有单独的License
A10:从11g开始提供的ADG功能需要单独授权,DML重定向包含在ADG License里,不需要额外的License
Q11:19c dataguard dml新特性的应用场景由哪些?
A11:主要应用场景是数据库双活、两地三中心时备库也需要少量的写入数据,这个时候可以通过dml重定向来实现
Q12:几百TB的Oracle数据库迁移怎么做
A12:数据迁移需要考虑到源端、对端数据库版本、操作系统平台、硬件是否异构等条件,一般来说可以使用tts/xtts/ogg/adg等多种方式来实现数据迁移
Q13:ADG+far sync在灾备建设中,能完全取代存储级复制吗
A13:在数据库层面,ADG+far sync能够代替存储级复制,因为只有基于数据库redo log复制的方式才能保证数据的一致性和安全性,同时备库还可以支持dml 重定向,是做灾备的最佳选择
Q14:多个数据库大量的数据库链的业务,对ADG有影响嘛
A14:当主库的redo log产生频率过高时,会对ADG传输链路以及ADG的处理性能有较大的要求,所以我们首先要保证网络的稳定、备库的处理性能,另外在19c版本中包含了adg 多实例并发apply redo log以及18c 推出的nologging增强、11g推出的redo压缩等特性,共同确保能够尽可能的提高数据库应用能力
Q15:Oracle 12c直接升级19c 有什么最好的办法建议吗?
A15:12c升级到19c数据库,需要考虑是否替换硬件、是否更换存储等,如果原地升级建议考虑另外准备一份12c同构环境配置adg复制后将adg升级到19c,这样避免主库升级失败带来的业务影响,
Q16:12cR2和19c之间能做ADG吗
A16:不可以,ADG不支持跨版本
Q17:standby 可以开启增量备份吗?并且使用 BLOCK CHANGE TRACKING。
A17:standby 从11g开始可以开启block change tracking
Q18:做双活,主备在不同数据中心,对两个数据中心的距离有没有特别的要求
A18:如果使用Far sync ADG功能,则对距离没有特别的要求,但是一般来说业务双活的数据中心也不会超过1000公里
Q19:ADG跨平台搭建,可以aix到linux吗?如果可以,怎么实现数据初始化
A19:ADG跨平台搭建仅支持部分平台,aix-linux使用了不同的字节序,目前尚不支持adg搭建,具体支持详情请见:Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration (Doc ID 413484.1)
Q20:11g的级联备库不支持实时应用,要等源库日志切换后才会应用,Oracle 12c以后的级联备库才支持实时应用。这个说法对吧?
A20:该说法完全正确,详情请见:Cascaded Standby Databases in Oracle 12c (Doc ID 1542969.1)
Q21:逻辑备库是应用sql语句 物理备库应用redo 最后主备库数据还是一样的 怎么理解能很好区分逻辑和物理备库?
A21:逻辑备库于物理备库等区别是物理备库是与主库架构完全一摸一样不允许运行ddl和dml(19c adg 重定向也是路由到主库写),但是逻辑备库是可以运行ddl 跟dml,这样可以保持与主库不一样的架构;在数据文件结构方案,物理备库也主库保持完全一样(可以通过convert path在不同路径),逻辑备库更接近goldengate架构,所以不推荐使用逻辑备库
Q22:两地三中心是怎么理解?指far sync?
A22:两地三中心的严格意义是说整体IT架构跨越了两个不同的城市,其中主中心会在同城具备两个数据中心,异地还有一个数据中心,这三个地方实现灾备;而在Oracle数据库中则就是MAA架构,包含Oracle RAC、ADG等一系列技术组合,当然ADG会包含Far sync ADG、ADG重定向等功能
Q23:windows可以dg到linux?
A23:支持windows到dg的DG搭建,详情请见Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration (Doc ID 413484.1)
Q24:ADG DML如何防止备库修改数据?如果写同一条数据如何处理
A24:可以使用dba权限控制或触发器控制;另外adg dml redirect功能不是用来大量更新数据的,只是偶尔更新数据使用,所以基本上不会出现这个问题。
Q25:如果far sync的实例down了,那么主库会hang住吗?
A25:配置far sync adg实例时也需要主库也远端的备库通信,避免far sync adg出现问题的时候影响业务
Q26:12C的dg建立,用rman 啥的 for service,再解释一下
A26:请参考mos文档:Creating a Physical Standby database using RMAN restore from service (Doc ID 2283978.1)
Q27:为什么使用ADG DNK备库时建议少量数据写入?
A27:因为在ADG 备库上所有的DML还需要通过网络重定向到主库, 大量数据下入网络带宽是很大的挑战,而且业务的实时性也不够。
Q28:dml重定向的性能如何,同机房能否用这个做读写分离吗?
A28:重定向性能取决于服务器性能、网络性能以及服务器的负载情况。读写分离从11g开始就支持,但即使在同机房也建议只是做少量的写入。