《数据库程序员面试分类真题17.docx》由会员分享,可在线阅读,更多相关《数据库程序员面试分类真题17.docx(17页珍藏版)》请在优知文库上搜索。
1、数据库程序员面试分类真题17倚答题1. RAC环境中的SCANIP的作用是什么?正确答案:从OraCIellgR2RAC开始引入SCAN(SingleClientAccessName,(江南博哥)集群的单客户端访问名称)IP的概念,相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCANIP和SCAPIP1.ISTENERe在客户端的tnsnames.ora配置文件中,只需要配置SCANIP,然后用户即可访问数据库。客户端通过SCANIISCANIP1.ISTENER来负载均衡地连接到RAC数据库。同之前各版本的RAC相比,使用SCANIP的好处就是,当后台RAC数据库添加、删除节点时
2、,客户端配置信息无须修改。SCAN提供一个域名来访问RAa域名可以解析13个(注意,最多3个)SCANIP,可以通过DNS、GNS或etchosts文件来解析实现。需要注意的是,SCANIP、VIP和PUbIiCIP必须属于同一子网。考点RAC2. RAC环境中的HAIP(HighlyAvailableIP)的作用是什么?正确答案:在OraCIe11.2.0.2之前,私网的冗余一般是通过在OS上做网卡绑定(如BOnd等)来实现的,从OraCleI1.2.0.2版本开始推出HIP(HighlyAvailableIP)技术替代/操作系统层面的网卡绑定技术,其功能更强大、更兼容。HAIP通过其提供的
3、独特的169.254.*网段的IP地址,实现集群内部连接的高可用及负载均衡。所以,在I1.2.0.2或更高版本安装RAC的时候需要注意169.254.*的IP地址不能被占用。有rHAIP技术则不再需要借助任何第三方的冗余技术来实现私网网卡的冗余。考点RAC3. 什么是DG?正确答案:首先,DG(DataGuard,数据卫士)不是一个备份恢复的工具,然而,DG却拥有备份的功能,在物理DG下它可以和主库一模一样,但是它存在的目的并不仅仅是为了备份恢复数据,应该说它的存在是为了确保企业数据的高可用性、数据保护以及灾难恢且。DBA可以通过将一些操作(例如查询报表)转移到备库执行的方式来减小主库的压力,
4、构建高可用的企业数据库应用环境。在凶环境中,至少有两个数据库,一个处于OPEN状态对外提供服务,这个数据库叫作主库(PrimaryDatabase);另一个处于恢复状态,叫作备库(StandbyDatabase)o通常情况下,主库对外提供服务,用户在主库上进行操作,操作被记录在联机日志和归档日志中,这些日志通过网络传递给备库,然后在备库上被应用,从而实现主库和备库的数据同步。OraelC对这一过程进一步地优化设计,使得日志的传递、恢熨工作更加自动化、智能化,并且提供一系列参数和命令,简化了DBA工作。如果软硬件升级,那么可以把备库切换为主库继续对外服务,这样既减少了服务停止时间,数据乂不会丢失
5、。如果异常原因导致土库不可用,那么也可以把备库强制切换为主库继续对外服务,这时数据损失都和配置的数据保护级别有关系。所以,Primary和Standby只是一个角色概念,并不固定在某个数据库中。考点DG4. DG有哪些优缺点?正确答窠:DG的优点主要有灾难恢复及高可用性;全面的数据保护;有效利用系统资源:在高可用及高性能之间更加灵活的平衡机制:故障自动检杳及解决方案:集中的、易用的管理模式;自动化的角色转换。DG的缺点主要有由于传输整个日志文件,所以需要较高的网络传输带宽。在OraCIeIIg之前的物理备库虽然可以以只读方式打开,然后执行查询、报表等操作,但需要停止应用日志,这将使目标库与源数
6、据不能保持同步,如果在此期间源数据库发生故障,那么将延长切换的时间。从OraCleHg开始,ADG可以在数据库打开的情况下应用口志,这极大地提高了DG的应用范用。逻辑备库不能支持某些特定的数据对象和数据类型。不支持双向复制,所以无法应用于信息集成的场合。只能复制整个数据库,不能选择某个SCHEMA或表空间或表进行单独复制。不支持异构的系统环境,需要相同的操作系统版本和数据库版本(OraCleIlg支持部分异构平台)。考点DG5. DG可以分为哪儿类?正确答案:DG根据备库重演日志方式的不同,可以分为物理DG(PhySiCalDG)、逻辑DG(1.ogicalDG)和快照DG(SnaPShOtD
7、G),它们对应的数据库分别可以称为PhysicalStandby、1.ogica1Standby和SnapshotStandbyo物理DG:物理DG使用的是MediaRecovey技术,在数据块级别进行恢复,这种方式没有数据类型的限制,可以保证两个数据库完全一致。在OraCleHg之前的物理DG只能在MOUNT状态下进行恢复,虽然可以以只读方式打开备库,但是不能应用H志,而到了OracleIIg时备库可以在打开的情况下执行恢豆操作了,这称为ADG(ACtiVeDataGuard)0物理DG实时应用进程为MRP进程。逻辑DG:逻辑DG使用的是1.ogMinCr技术,通过把日志内容还原成SQ1.语
8、句,然后通过SQ1.引擎执行这些SQ1.语句。逻辑DG不支持所有的数据类型,这Availabi1ity),见下表。比较项目最大保护最大保护模式能够确保绝无数据丢失,该模式要求主库所有的事务在提交前其RedO不仅被写入本地的OnlinleRedo1.ogs,还要同时写入备库简介的StandbyRedo1.ogs,并确认Redo数据至少在一个备库中可用(如果有多个的话),然后才会在主库上提交。如果出现了导致备库不可用故障(例如网络中断),那么主库会被关闭些不支持的数据类型可以在视图DBAJOGSTDBY.UNSUPPORTED中皆看。如果使用了这些数据类型,那么不能保证主备库完全一致。1.ogic
9、alSIandby可以在恢复的同时进行读写操作。逻辑I)G实时应用进程为1.SP进程。需要注意的是,在逻辑DG中,SYS用户下的对象不会同步。创建逻辑备库需要首先创建一个物理备库,然后再将其转换成逻辑备库。快照DG:当PlaysicalStandby转换为SnapshotStandby时,它是一个完全可更新的Standby数据库。SnapshotStandby依然会接收来Fl主库的归档文件,但是它不会应用。当SnaPShOtStandby转换为PhySiCalStandbyHj,所有在SnaPShotStandby数据库的操作被丢弃之后,PhysicalStandby数据库才会应用Primar
10、y数据库的Redo数据。考点DG6. DG有哪3种保护模式?它们的区别是什么?正确答案:DG提供了3种数据保护模式(ProteCtionMode):最大保护(MaXimUmProtection)最高性能(MaXimUmPerformanCe)和最高可用(MaXimUm最高可用最商陆能最高可用模式在不影响主库可用的前提下,提供最高级别的在最高性能模式下,事数据保护.其实现务可以随时提交。如方式与最大保护模式类果网络条件理想,那么似,也是要求本地这种模式能够提供类似事务在提交前必须至少最高可用性的数据保写入一台主库的护,而仅对主库的性能StandbyRedo1.ogs有中,不过与最大保护模轻微影响
11、。这也是在创式不同的是,如果出现建备库时,系统的默认故障导致备库无法保护模式。最高性能模访问,那么主库并不会式区别于最大保护模式被关闭,而是自动的地方是,它并不需要转为最高性能模式,等将日志信息实时地传递备库恢复正常之到备库上,也不需要确后,主库又会自动转换保日志在其中的至少一成最高可用模式。台备库上应用最高可用模式适用于想要确保获得零数据丢失保护,但不想让生产数据库受网络盘点磁作优/备用服务器故障影响的企业A1.TERDATABASESETSTANDBYAITERDATABASESETSTANDBYDATABASETOMAXIMIZEA1.TERDATABASESETSTANDBYDATAB
12、ASETOMAXIMIZE切换命令DATABASETOMAXIMIZEPROTECTION;AVAI1.ABI1.ITY;Performancen;数据丢失隋况零数据丢失零数据丢失最小数据丢失主库Redo需要同时主库Rede需要同时写主库事务完成情况写入主库、至少一个备库,主库入主库、至少一个备库,主库事务才能主库事务可以随时提交事务才能完成完成是否默认的保护模式否否是性能影响对数据库性能影响最大界于最大保护和最高性能之间对数据库性能影响最小使用1.GWR进程传递归档时采用同步网络传输模式同步(SYNC)同步(SYNC)(SYNC)或异步(ASYNC),使用ARCH进程传递归档时采用同步(SY
13、NC)是否需要StandbyRedo1.ogsYESYES可没有,但推荐有Rcdo写进程1.GWR1.GWR1.GWR或ARCHAFFIRMAFFIRMAFFIRM或NOAFFIRM该模式可以保证备该模式可以在没有问题避免了备库对主数据库库没有数据丢出现的隋况下,保的性能和可用性影响证备库没有数据丢失,是一种折中的方法缺点要求网络高度稳定可靠,如果出现了导致各库不可用故障(比如网络中断),那么主库会被关闭。备库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对阿络等客观条件要求非常高,主库的性能会因此受到非常大的冲击。最大保护模式损害r系统的可用性在正常运行的过程中缺点是主库的性能
14、受到诸多因素的影响。要求备库必须配置StandbyKedo1.ogs,而主库必须使用1.gwrsyncaffirm方式归档到各库如果与主库提交的事务相关的恢复数据没有发送到备库,那么这些事务数据将被丢失,不能保证数据无损失。如果主库发生灾难性故障,日志全部损失,那么备库和主库可能会出现一个左右的日志信息差异。当然,在这种方式下,可以通过设置主库增加归档频率来缩小可能的数据损失。最高性能模式损害了系统的数据安全性考点DG7. Switchover和Eailover的区别是什么?正确答案:个DG环境中只有两种角色:Primary和Standby。所谓角色转换就是让数据库在这两种角色中切换,切换也分
15、两利:SwitchoverllFailover0关于角色切换需要注意以下几点:I)SWilChoVCr是指主库转换成备库,然后将原备库转换成新主库:而Failover是指将备库转换成土库。2)使用场合不同。SWitChOVer用于有准备的、计划之中的切换,通常是系统升级、数据迁移等常态任务;FailoVer用于意料之外的突发情况,例如I,异常断电、H然灾难等。3)数据丢失程度不同。SWitChOVer不会丢失数据,FaiIoVer通常意味着有部分数据丢失。4)善后处理的不同。SWitChOVer之后DG环境不会被破坏,仍然有Primary、Standby两种角色的系统存在,但是FailOVer之后,DG环境就会被破坏,一般情况下需要重建。但是,若主库或备库开启了闪回功能,则都可以通过闪回数据库功能恢复DG环境。例如,PRoDl为主库,SBDBl为备库;若PRoDl意外宕机,则SBDBl执行FaiIoVer操作变为主库;此时若想恢复DG环境,则有3种处理办法:将PRODl利用闪回数据库功能闪回到SBDBl变为主库的SCN时间点,然后将PRODl转换为备库,最后利