达梦DBA面试中常见问题涉及体系架构、存储结构、性能优化、高可用、备份恢复、运维管理及安全机制等方面,以下为详细解读:
体系架构与模块功能达梦数据库采用多进程多线程混合架构,核心模块包括:
- 数据库实例:负责数据库的启动、关闭及运行管理,协调各模块协作。
- 存储管理:管理数据文件(存储实际数据)、控制文件(记录数据库元信息)和重做日志文件(记录事务变更,用于恢复),支持数据文件自动扩展和表空间在线重定义。
- 内存管理:包含缓冲区(缓存数据页)、日志缓冲区(暂存重做日志)、共享池(存储SQL解析结果和执行计划)等,通过内存分配优化提升性能。
- 进程管理:监控进程(如DMWATCH)监控系统状态,归档进程(DMARCH)处理重做日志归档,检查点进程(DMCKPT)定期将脏页写入磁盘,确保数据一致性。
存储结构特点达梦采用表空间管理机制,支持多维度优化:
- 表空间功能:可在线重定义,支持表空间级备份恢复,通过智能存储优化自动调整数据分布。
- 文件管理:数据文件支持自动扩展,避免因空间不足导致业务中断。
复杂查询性能优化优化策略需结合技术手段与参数调整:
- 索引优化:合理创建索引(如B树索引、位图索引),避免过度索引导致写入性能下降。
- 执行计划分析:使用EXPLAIN命令查看SQL执行路径,定位全表扫描、索引失效等瓶颈。
- SQL改写:优化JOIN顺序、避免子查询嵌套、使用绑定变量减少硬解析。
- 参数配置:调整缓冲区大小(如BUFFER_POOL_SIZE)、共享池大小(SHARED_POOL_SIZE)等,匹配业务负载。
高可用与灾难恢复
- 高可用方案:
数据守护(Data Watch):主备节点实时同步,备库可读,故障时自动切换。
读写分离集群:主库处理写请求,备库分担读负载,提升整体吞吐量。
MPP集群:通过多节点并行处理支持超大规模数据计算。
共享存储集群:多节点共享存储,确保数据强一致性。
- 灾难恢复流程:
验证备份完整性(如校验备份文件MD5值)。
恢复控制文件(从备份或归档日志重建)。
恢复数据文件至指定时间点。
应用归档日志(通过RECOVER DATABASE命令)。
打开数据库并验证数据一致性。
安全机制达梦提供多层次安全防护:
- 三权分立:将系统管理员(SYSDBA)、安全管理员(SSO)、审计管理员(AUDITOR)权限分离,避免权限集中风险。
- 强制访问控制(MAC):基于安全标签限制用户对数据的访问权限。
- 透明数据加密(TDE):对存储在磁盘的数据自动加密,防止物理泄露。
- 审计日志:记录所有敏感操作(如DDL、DCL),支持审计分析工具追溯异常行为。
日常监控要点需重点关注以下指标:
- 连接数监控:通过V$SESSION视图监控活跃连接数,避免连接池耗尽。
- 表空间使用率:定期检查V$TABLESPACE视图,预防空间不足。
- 锁等待情况:通过V$LOCK视图分析锁冲突,优化事务设计。
- 性能计数器:监控I/O吞吐量、CPU使用率等,结合AWR报告定位性能瓶颈。