版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DB2数据库面试题及详细答案(实战版)一、基础概念类(高频基础)1、简述DB2数据库的特点,以及和MySQL、Oracle的核心区别?参考答案:DB2是IBM研发的企业级关系型数据库,主打高可用、高稳定性、高安全性,多用于金融、银行、运营商、政务等核心生产场景,是典型的商用重型数据库。核心特点:支持海量数据、高并发事务处理,容错机制完善,宕机概率极低;严格的事务ACID特性,数据一致性、可靠性极强;自带完善的备份恢复、日志审计、权限管控体系;支持分区表、并行查询、多维集群,大数据量查询性能优异。与其他数据库核心区别:对比MySQL:MySQL轻量、开源、部署简单,侧重互联网业务;DB2重稳定、重数据安全,适合核心交易系统,事务管控和容错能力更强。对比Oracle:两者定位接近,均为企业级重型数据库;DB2架构更简洁,资源占用更低,运维成本更低,在国有金融、政企系统使用率更高;Oracle生态更全面,全球化场景适配更好。2、DB2中数据库、实例、表空间的关系是什么?参考答案:三者是逐层包含、依赖的层级关系:实例>数据库>表空间>数据表/索引实例:DB2的后台服务进程,是数据库运行的载体,一台服务器可部署多个独立实例,实例相互隔离,拥有独立的端口、日志、配置参数。数据库:创建在实例之下,一个实例可包含多个数据库,每个数据库拥有独立的系统表、日志、权限体系,数据完全隔离。表空间:数据库的存储容器,数据库所有表、索引、大对象都存储在对应表空间中,表空间可关联不同物理磁盘,方便数据分层存储、扩容和迁移。3、DB2的日志类型有哪些?区别是什么?参考答案:DB2日志分为循环日志和归档日志两种,核心用于事务恢复、故障回滚。循环日志(默认模式):日志文件写满后会自动覆盖旧日志,无法实现时间点恢复,仅支持全量备份恢复,适用于测试、开发环境,生产环境基本不用。归档日志(生产必备):日志写满后自动归档保存,不会覆盖,结合全量备份可实现时间点恢复,能精准恢复到故障前任意时刻的数据,保障生产数据安全。补充:生产环境必须开启归档日志,同时配置日志归档路径,定期清理归档日志,避免磁盘爆满。4、什么是DB2缓冲池?作用是什么?参考答案:缓冲池是DB2在内存中开辟的一块缓存区域,是数据库内存核心组件,所有数据读写都会优先经过缓冲池。核心作用:缓存常用数据表和索引页,减少磁盘IO,大幅提升查询、读写性能;批量缓存脏数据,统一刷盘,降低磁盘频繁读写的压力;支持数据预读、延迟写,优化数据库IO效率。实操要点:缓冲池大小是DB2性能优化的关键,一般分配服务器物理内存的50%-70%,需根据业务并发调整。二、常用命令与实操类(运维高频)1、简述DB2日常运维常用核心命令?参考答案:1)实例启停启动实例:db2start停止实例:db2stop/db2stopforce(强制停止,生产慎用)2)数据库连接与查看连接数据库:db2connectto库名user用户名using密码查看所有数据库:db2listdbdirectory断开连接:db2terminate3)表空间与存储查看查看表空间状态:db2listtablespacesshowdetail查看表空间容器:db2listtablespacecontainersfor表空间ID4)备份恢复全量备份:db2backupdb库名to备份路径全量恢复:db2restoredb库名from备份路径5)进程与会话查看查看活跃会话:db2listactiveapplications终止会话:db2forceapplication(会话ID)2、DB2数据库如何开启归档日志?步骤是什么?参考答案:生产环境标准操作步骤,无需重启实例,修改参数后生效:连接目标数据库:db2connectto库名修改日志模式为归档:db2updatedbcfgfor库名usingLOGARCHMETH1DISK:归档路径关闭数据库、断开所有连接:db2terminate&&db2stopforce启动实例:db2start执行一次全量备份(开启归档后必须做首次全备,否则日志无法归档):db2backupdb库名to备份路径查看日志配置是否生效:db2getdbcfgfor库名|grepLOGARCH3、DB2表空间满了如何处理?常用扩容方式?参考答案:表空间爆满是运维常见问题,三种主流扩容方式:新增容器扩容(最常用):为表空间添加新的磁盘容器,适合已有磁盘空间不足的场景,不会影响业务运行。
命令:db2altertablespace表空间名add(device'磁盘路径'大小)扩容原有容器:直接扩大已有容器的存储空间,操作简单,适合磁盘剩余空间充足的场景。
命令:db2altertablespace表空间名extend(all新增大小)自动扩容配置:修改表空间属性,开启自动扩容,后续空间不足时系统自动扩容,减少人工运维。
命令:db2altertablespace表空间名autoresizeyes注意:扩容前需确认磁盘使用率,避免扩容后磁盘依旧爆满,生产扩容优先业务低峰期操作。三、索引与SQL优化类(面试核心)1、DB2有哪些索引类型?各自适用场景?参考答案:常用索引分为4类,适配不同业务场景:普通索引:基础单列/多列索引,用于常规查询条件,提升普通SELECT查询效率,无唯一性限制。唯一索引:索引字段数据唯一、不允许重复,可用于手机号、身份证、订单号等唯一字段,兼顾查询加速和数据唯一性约束。主键索引:特殊的唯一索引,非空且唯一,一张表只能有一个主键索引,是表的核心标识,默认聚集索引,查询效率最高。复合索引:包含多个字段的联合索引,遵循最左匹配原则,适用于多字段组合查询场景,避免重复建单索引,节省存储空间。2、什么是索引最左匹配原则?复合索引如何设计更合理?参考答案:最左匹配原则:DB2复合索引遵循从左到右匹配的规则,查询条件必须包含索引最左侧字段,才能触发索引生效;如果跳过左侧字段,直接使用右侧字段查询,索引失效,会走全表扫描。复合索引设计原则:高频查询字段放最左侧,筛选度高、区分度高的字段优先靠前;等值查询字段在前、范围查询字段在后(=、in在前,>、<、like在后);避免冗余索引,一张表索引不宜过多,索引会降低插入、更新、删除性能;区分度极低的字段(如状态、性别)不建议建索引。3、DB2中SQL慢查询如何排查?常用优化思路?参考答案:一、慢查询排查步骤开启SQL监控,查看耗时SQL:通过数据库快照、监控视图定位执行时间长、扫描行数多的SQL;查看执行计划:db2explainplanfor目标SQL,分析SQL执行逻辑;定位问题:查看是否存在全表扫描、索引失效、排序过多、关联效率低等问题。二、核心优化思路优先优化索引:缺失索引则新建合理索引,索引失效则调整查询条件、优化复合索引顺序;优化SQL语句:避免select*,只查询所需字段;避免where子句对索引字段做函数运算、隐式转换;优化分页、排序:大数量分页避免offset偏移过大,排序字段建立索引,减少内存排序;大表优化:超大表采用分区表,按时间、维度分区,缩小查询扫描范围;参数优化:调整缓冲池大小、排序堆、查询并行度等数据库参数。四、锁机制与事务类(难点高频)1、DB2的锁类型有哪些?常见锁等待、死锁如何解决?参考答案:一、核心锁类型共享锁(S锁):读锁,多个事务可同时加共享锁,互不冲突,读不阻塞读,阻塞写;排他锁(X锁):写锁,用于新增、修改、删除操作,一个事务加排他锁后,其他事务无法加任何锁,读写均阻塞;意向锁:表级辅助锁,标记表内行锁状态,提升锁检测效率,分为意向共享锁、意向排他锁。二、锁等待解决方式锁等待是事务持有锁未释放,导致后续事务阻塞。排查对应阻塞会话,可手动终止长期阻塞的会话,同时优化业务SQL,缩短事务执行时间,避免长事务。三、死锁解决方式死锁是两个及以上事务互相持有对方所需锁,循环等待导致卡死。DB2会自动检测死锁并随机终止一个事务,释放锁资源。根治优化方案:统一业务SQL操作表的顺序,避免交叉锁等待;精简事务逻辑,减少事务内耗时操作,快速提交/回滚释放锁;合理调整锁超时参数,避免无效长时间等待。2、DB2事务隔离级别有哪几种?区别是什么?参考答案:DB2标准四种隔离级别,级别越高一致性越强、并发越低:未提交读(UR):最低级别,可读取其他事务未提交数据,会出现脏读、不可重复读、幻读,并发最高,极少用于生产。已提交读(CS):默认隔离级别,只能读取已提交数据,杜绝脏读,允许不可重复读、幻读,兼顾一致性和并发,适配大部分业务。可重复读(RR):锁定查询的行数据,事务内多次查询数据一致,杜绝脏读、不可重复读,允许幻读,适合对账、统计类精准查询业务。串行读(RS):最高级别,锁定查询数据范围,杜绝所有读异常,事务串行执行,一致性最强,但并发性能最差,仅用于核心交易、资金结算场景。五、备份恢复与故障处理(生产实操)1、DB2常用备份方式有哪些?适用场景?参考答案:离线全量备份:需要停止数据库业务,完整备份所有数据,备份数据最完整、恢复最稳定,适合业务低峰期全量数据备份。在线全量备份:无需停业务,不影响正常读写,生产环境主流备份方式,依赖归档日志,支持时间点恢复。增量备份:仅备份上次备份后变更的数据,备份速度快、占用空间小,一般搭配全量备份做周期备份策略(日增量、周全备)。2、数据库误删数据如何恢复?参考答案:前提:数据库已开启归档日志,且有完整全量备份。核心恢复思路:全量备份+归档日志时间点恢复先恢复最近一次完整全量备份;通过归档日志回放,将数据恢复到误操作之前的时间点;恢复完成后导出误删数据,再导入生产库,避免覆盖现有正常数据。补充:未开启归档日志的环境,无法精准恢复单条/单表数据,只能恢复全量备份的数据,会丢失备份后新增数据。六、高阶运维与性能调优(进阶面试)1、DB2分区表的作用?常用分区方式?参考答案:分区表是超大表优化的核心手段,将一张大表按规则拆分为多个物理子分区,逻辑上仍是一张整表。核心作用:缩小查询扫描范围,大幅提升大表查询性能;支持分区单独备份、删除、迁移,清理历史数据更便捷;分散IO压力,多分区并行读写,提升并发性能。常用分区方式:范围分区:按时间、数值范围分区(最常用,如按月份、年份分区);列表分区:按固定字段值分区(如地区、业务类型);哈希分区:按字段哈希值均匀分区,均衡数据存储和访问压力。2、DB2数据库CPU、IO过高的常见原因及优化方案?参考答案:1、CPU过高常见原因与优化问题:大量SQL全表扫描、频繁排序、索引失效、并发事务过多;优化:优化缺失索引、改写低效SQL、避免大结果集排序、限制无效并发连接。2、IO过高常见原因与优化问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初高中地理衔接教学设计:城镇空间结构与区位因素的深度解构
- 2026年5月锅炉工考试题有答案
- 2026年内蒙古自治区烟草专卖局人员招聘笔试备考题库及详细答案解析
- 2026年厦门象屿集团有限公司人员招聘考试模拟试题及详细答案解析
- 2026年深圳市创新投资集团有限公司人员招聘考试备考题库及详细答案解析
- 2026年石家庄绿炬种子机械厂人员招聘笔试模拟试题及详细答案解析
- 2026年中国烟草总公司新疆维吾尔自治区公司人员招聘笔试备考试题及详细答案解析
- 2026年肇庆市烟草专卖局人员招聘考试备考题库及详细答案解析
- 2026年中国石油四川石化有限责任公司人员招聘考试备考试题及详细答案解析
- 2026年福建省冶金控股有限公司人员招聘笔试备考试题及详细答案解析
- 2026年太原铁路局人员招聘笔试参考题库及答案详解
- 【月考卷】2026-2027三年级上册语文第一次月考检测卷(统编版含答题卡)
- 华为以客户为中心培训
- 2025年成都市中考物理试题卷(含标准答案及解析)
- JG/T 296-2010空气吹淋室
- 面积补差承诺协议书
- 中职高教版(2023)语文职业模块-第六单元微写作一-描述事物【课件】
- 事故申请复议申请书范本
- 2024年安徽省机械行业设备点检员职业技能竞赛理论考试题库(含答案)
- 科研伦理与学术规范-课后作业答案
- GB/T 42531-2023低热矿渣硅酸盐水泥
评论
0/150
提交评论