数据库运行管理员 练习卷

四级 / 三级 / 二级 / 一级 | 30 题 | 姓名:__________ 得分:______

返回题库 隐藏答案 15 题30 题50 题100 题

1在Linux环境下安装MySQL 8.0时,若希望数据目录位于独立挂载的/data分区并启用大小写敏感的表名,初始化时应如何设置

  1. A. 初始化前修改my.cnf设置lower_case_table_names=0并指定datadir=/data/mysql
  2. B. 初始化时加--lower-case-table-names=0并指定--datadir=/data/mysql
  3. C. 初始化后通过SET GLOBAL lower_case_table_names=0动态修改再迁移数据目录
  4. D. 先用默认参数初始化,再把数据目录整体mv到/data/mysql并重启服务

2在数据库性能调优中,下列属于通过减少物理IO来提升查询效率的措施有(多选)

  1. A. 为高频过滤列建立合适索引
  2. B. 将热点表数据缓存在内存缓冲池
  3. C. 对大表频繁执行全表扫描以获取最新数据
  4. D. 定期重建碎片率过高的索引
  5. E. 对返回大量行的查询取消排序操作

3MySQL中查询information_schema.tables时发现某表DATA_LENGTH远大于实际行数据量,且删除大量历史数据后空间未释放,最恰当的处置是

  1. A. 执行OPTIMIZE TABLE回收表空间
  2. B. 执行ANALYZE TABLE更新统计信息
  3. C. 执行FLUSH TABLES刷新表缓存
  4. D. 执行CHECK TABLE检查表完整性

4在Linux服务器上以RPM包安装MySQL 8.0后,需要修改默认字符集为utf8mb4并使其对后续新建库生效,应优先调整哪个配置文件中的参数

  1. A. /etc/my.cnf 中 [mysqld] 段的 character-set-server
  2. B. /etc/my.cnf 中 [client] 段的 default-character-set
  3. C. /usr/share/mysql/my-default.cnf 中的 collation-server
  4. D. /var/lib/mysql/auto.cnf 中的 server-uuid

5Oracle数据库执行RMAN全量备份后,若要验证备份集是否可正常用于恢复且不实际还原数据文件,应使用哪个命令

  1. A. RESTORE DATABASE VALIDATE
  2. B. VALIDATE BACKUP
  3. C. CROSSCHECK BACKUP
  4. D. LIST BACKUP SUMMARY

6在Linux服务器上通过源码编译方式安装MySQL后,执行初始化命令时指定--initialize-insecure参数,该参数的作用是什么

  1. A. 初始化数据目录但不生成root随机密码
  2. B. 初始化数据目录并强制使用空密码登录
  3. C. 初始化数据目录同时创建默认测试数据库
  4. D. 初始化数据目录并跳过权限表加载过程

7在Linux上以源码方式安装MySQL后,首次初始化数据目录时应使用哪个命令生成临时root密码并完成初始化

  1. A. mysqld --initialize --user=mysql
  2. B. mysql_install_db --user=mysql
  3. C. mysqld --init-file=/etc/my.cnf
  4. D. mysqladmin -u root password

8针对OLTP库的慢查询优化,为某高频等值查询列建立索引后写入性能下降明显,最可能的原因是

  1. A. 索引维护增加了每次写入的额外开销
  2. B. 索引把查询计划强制改为全表扫描
  3. C. 索引导致缓冲池命中率降为零
  4. D. 索引使事务隔离级别被自动提升

9数据库运行中监控到大量Waiting for table metadata lock,最可能的原因是

  1. A. 存在未提交的长事务持有该表元数据锁
  2. B. 磁盘剩余空间不足触发写入阻塞
  3. C. 缓冲池过小导致页换出频繁
  4. D. 二进制日志文件数量超过上限

10MongoDB副本集中,某次要节点持续处于RECOVERING状态无法转为SECONDARY,检查oplog发现其落后主节点超过oplog窗口,正确的恢复处置是什么

  1. A. 对该节点执行rs.syncFrom指定主节点强制同步
  2. B. 停止该节点清空数据目录后重新加入副本集进行全量同步
  3. C. 在主节点执行rs.stepDown触发重新选举
  4. D. 增大该节点oplogSizeMB后重启等待自动追平

11在Linux上安装MySQL 8.0后,希望数据目录使用独立挂载的/data分区并启用二进制日志,下列配置组合最合理的是

  1. A. datadir=/data/mysql,log-bin=/data/mysql/binlog,并确保/data分区属主为mysql
  2. B. datadir=/var/lib/mysql,log-bin=/data/binlog,并确保/data分区属主为root
  3. C. datadir=/data/mysql,log-bin=/var/lib/mysql/binlog,并确保/data分区属主为mysql
  4. D. datadir=/data/mysql,log-bin=/data/binlog,并确保/data分区属主为root

12某DBA为生产库配置物理备份时,将备份集与数据库数据文件放在同一块物理磁盘上,这种做法最直接的风险是

  1. A. 备份时锁表时间变长
  2. B. 磁盘故障导致数据与备份同时丢失
  3. C. 备份文件校验速度下降
  4. D. 恢复时无法使用增量备份

13对MySQL执行逻辑备份时,需要保证备份数据与binlog位置一致以支持时间点恢复,mysqldump应搭配哪个参数

  1. A. --single-transaction --master-data=2
  2. B. --lock-all-tables --flush-logs
  3. C. --single-transaction --flush-privileges
  4. D. --quick --hex-blob --events

14在Linux环境下安装MySQL后,首次启动服务前需要初始化数据目录,以下关于初始化命令与参数配合的描述中正确的是

  1. A. mysqld --initialize会生成随机root密码并写入错误日志
  2. B. mysqld --initialize-insecure会生成随机root密码并写入错误日志
  3. C. mysqld --initialize会创建空密码root账户并允许直接登录
  4. D. mysqld --initialize-insecure会拒绝启动直到手动设置root密码

15某生产库的innodb_buffer_pool_size配置为物理内存的80%,但监控发现磁盘读IOPS持续偏高,最可能的原因是

  1. A. 缓冲池仍不足以覆盖热点数据
  2. B. redo log文件过大
  3. C. binlog格式为ROW
  4. D. 表空间使用独立表空间

16在Oracle数据库中,归档模式下执行热备份时对表空间加锁的正确命令是

  1. A. ALTER TABLESPACE users BEGIN BACKUP
  2. B. ALTER DATABASE BEGIN BACKUP users
  3. C. ALTER TABLESPACE users READ ONLY
  4. D. ALTER DATABASE ARCHIVELOG users

17在Linux服务器上通过源码编译方式安装MySQL后,首次初始化数据目录时,用于生成临时root密码并初始化系统表的命令是哪个

  1. A. mysqld --initialize --user=mysql
  2. B. mysql_install_db --user=mysql --random-password
  3. C. mysqld_safe --skip-grant-tables --initialize
  4. D. mysqladmin -u root password --initialize

18在Oracle中执行RMAN备份时,希望备份集能够只备份已使用过的数据块以减小备份体积,应启用哪个特性

  1. A. 备份优化与块变更跟踪配合增量备份
  2. B. 开启归档模式后执行全库全量备份
  3. C. 设置控制文件自动备份并保留多份副本
  4. D. 使用备份集压缩并指定maxpiecesize参数

19某业务要求RPO接近0且允许少量RTO,数据库部署在同城双机房,较合适的方案是

  1. A. 异步复制加每日全量备份
  2. B. 半同步复制加定期全量备份
  3. C. 同步复制加定期全量备份
  4. D. 逻辑备份加异地增量归档

20某企业要求数据库备份满足RPO接近零,且主库故障时能快速切换,最符合该要求的方案是

  1. A. 搭建同步复制的主备集群并配置自动故障转移
  2. B. 每天凌晨做一次全量逻辑备份
  3. C. 每小时做一次增量物理备份
  4. D. 每周做一次差异备份并异地存放

21在Linux服务器上完成MySQL 8.0二进制方式安装后,首次启动前需要初始化数据目录,以下初始化命令中能正确设置root密码并生成临时随机密码记录的是

  1. A. mysqld --initialize --user=mysql
  2. B. mysqld --initialize-insecure --user=mysql
  3. C. mysqld --init-file=/tmp/init.sql --user=mysql
  4. D. mysql_install_db --user=mysql --random-pass

22在对生产库执行xtrabackup全量备份后准备恢复到新实例,恢复前通常需要先执行的操作是

  1. A. 执行xtrabackup --prepare使备份数据达到一致状态
  2. B. 执行xtrabackup --copy-back直接覆盖数据目录
  3. C. 执行FLUSH TABLES WITH READ LOCK锁定原库再恢复
  4. D. 执行mysqladmin shutdown关闭原实例后再恢复

23在Linux上以源码方式安装MySQL 8.0后,首次初始化数据目录时使用了mysqld --initialize-insecure,与--initialize相比,其直接结果是

  1. A. root@localhost账户生成随机临时密码并写入错误日志
  2. B. root@localhost账户密码为空且无需首次登录后强制修改
  3. C. 初始化过程跳过InnoDB日志文件创建以加快启动
  4. D. 数据目录权限被自动设置为750且属主为mysql

24某数据库服务器磁盘IO持续接近饱和,慢查询日志显示大量全表扫描,优先考虑的调优措施是

  1. A. 为高频查询条件字段建立合适索引
  2. B. 增大InnoDB缓冲池容量
  3. C. 调整数据库连接池最大连接数
  4. D. 开启查询缓存减少磁盘读取

25MySQL中某张日志表按天分区,运维发现查询最新一天数据时仍扫描了全部分区,执行计划中partitions列显示所有分区名,最可能的原因是

  1. A. 分区键与查询条件字段类型不一致导致无法裁剪
  2. B. 分区表未建立局部索引导致扫描全表
  3. C. 查询使用了ORDER BY导致优化器放弃分区裁剪
  4. D. 分区数量超过优化器裁剪上限自动降级

26某OLTP库慢查询日志显示大量查询在等行锁,information_schema.innodb_trx中可见长事务,首先应查看哪个视图定位持锁与被阻塞关系

  1. A. performance_schema.data_locks与data_lock_waits
  2. B. information_schema.processlist中的State字段
  3. C. performance_schema.events_statements_summary_by_digest
  4. D. information_schema.tables中的AUTO_INCREMENT值

27在PostgreSQL中配置流复制时,主库postgresql.conf中wal_level参数应设置为哪个值才能支持物理复制

  1. A. replica
  2. B. minimal
  3. C. logical
  4. D. archive

28对数据库执行逻辑备份恢复到测试环境时,发现恢复后部分表数据比生产少,排查备份脚本发现mysqldump未加--single-transaction且备份期间有写入,最合理的解释是

  1. A. 备份文件被压缩损坏导致丢行
  2. B. 备份期间并发写入造成表间数据不一致
  3. C. 恢复时字符集不匹配导致部分行被过滤
  4. D. 目标库磁盘空间不足导致写入中断

29以下关于数据库索引维护的做法中,正确的有(多选)

  1. A. 定期检查并重建碎片率过高的索引以提升扫描效率
  2. B. 对频繁更新的列建立大量索引以加速所有查询
  3. C. 删除长期未被使用且确认无业务依赖的冗余索引
  4. D. 在查询条件列上创建索引前先分析该列的选择性
  5. E. 为每张表的所有列都建立单列索引以保证覆盖

30数据库服务器内存充足但查询响应仍慢,执行计划显示对大表做全表扫描,统计信息最近未更新,下一步最合理的操作是

  1. A. 直接增加临时表空间大小
  2. B. 收集该表的统计信息后重新评估计划
  3. C. 对该表的所有列都建立单列索引
  4. D. 关闭自动统计信息收集任务

参考答案

  1. B 知识点:MySQL 8.0初始化参数。lower_case_table_names只能在初始化时通过参数指定,初始化后不…
  2. A、B、D 知识点:减少物理IO的调优手段。索引可减少扫描页数、缓冲池可命中内存、重建碎片索引可减少页读取,故A、B、D正确;C的全…
  3. A 知识点是InnoDB表空间回收。大量删除后需OPTIMIZE TABLE(或重建表)归还空间;ANALYZE只更新统计信…
  4. A 知识点是MySQL配置文件分段作用。[mysqld]段的character-set-server决定服务端默认字符集,对…
  5. B 知识点:RMAN备份验证。VALIDATE BACKUP用于检查备份集完整性,确认可用于恢复而不实际还原。RESTORE…
  6. A 知识点:MySQL初始化参数。--initialize-insecure初始化数据目录且root密码为空,便于后续手动设…
  7. A 知识点为MySQL 5.7及以后版本的数据目录初始化方式。mysqld --initialize会创建系统表并生成临时r…
  8. A 知识点:索引的读写权衡。每增加一个索引,INSERT/UPDATE/DELETE都要维护对应B+树,写入开销上升。索引不…
  9. A 知识点是元数据锁等待。长事务未提交会持续持有MDL,导致后续DDL或访问排队;磁盘不足表现为写错误;缓冲池过小表现为IO…
  10. B 知识点:MongoDB副本集落后节点恢复。当节点落后超过oplog窗口无法增量同步时,需清空数据目录重新初始同步。错误项…
  11. A 知识点:MySQL数据目录与二进制日志路径配置及权限要求。正确项将datadir和log-bin都放在独立数据分区并赋予…
  12. B 知识点:备份恢复的存储隔离原则。备份与数据同盘时,一旦该磁盘损坏,原始数据和备份会一起损毁,失去容灾意义。锁表时间取决于…
  13. A 知识点:mysqldump一致性备份。--single-transaction在InnoDB下提供一致性快照,--mas…
  14. A 知识点:MySQL数据目录初始化方式。--initialize生成临时随机root密码并记录到错误日志,故A正确;--i…
  15. A 知识点:InnoDB缓冲池与磁盘IO关系。缓冲池即使占比高,如果热点数据总量超过池容量,仍会频繁从磁盘读取,表现为IOP…
  16. A 知识点:Oracle热备份的表空间加锁语法。正确项对:热备份需先对表空间执行BEGIN BACKUP,使数据文件进入备份…
  17. A 知识点是MySQL 5.7及以后源码安装后的初始化方式。mysqld --initialize会初始化数据目录并在错误日…
  18. A 知识点是RMAN增量备份与块变更跟踪。块变更跟踪记录自上次备份以来变化的块,增量备份只读这些块,配合备份优化可显著减小体…
  19. C 知识点是RPO/RTO与复制模式匹配。正确项同步复制保证主库提交前备库已接收,RPO接近0,配合备份满足恢复。错误项A异…
  20. A 知识点是RPO与高可用架构。正确项同步复制使备库与主库数据一致,自动切换满足快速恢复。错误项每天全备RPO为一天;每小时…
  21. A 知识点是MySQL 8.0数据目录初始化方式。--initialize会生成一个临时随机root密码并写入错误日志,符合…
  22. A 知识点:Percona XtraBackup的备份恢复流程。备份文件在--backup阶段处于非一致状态,需通过--pr…
  23. B 知识点:MySQL初始化参数差异。--initialize-insecure生成空密码root账户,不强制首次改密,故B…
  24. A 知识点是SQL性能调优。全表扫描导致IO饱和,建立索引可直接减少扫描的数据量,是最直接的措施。增大缓冲池对已缓存数据有效…
  25. A 知识点:MySQL分区裁剪的前提条件。分区裁剪要求查询条件中的分区键与分区定义的类型、字符集、排序规则一致,类型不一致会…
  26. A 知识点:InnoDB锁等待诊断。performance_schema.data_locks和data_lock_wait…
  27. A 知识点:PostgreSQL流复制要求wal_level至少为replica。A正确,replica记录足够WAL用于物…
  28. B 知识点是一致性备份的必要性。未加--single-transaction且备份期间有写入,各表导出时点不同造成数据不一致…
  29. A、C、D 知识点:索引维护与设计原则。正确项:重建高碎片索引、清理无用冗余索引、按选择性建索引均是合理做法。错误项:频繁更新列建大…
  30. B 知识点是统计信息对优化器代价估算的影响。统计信息过期会导致优化器误判选择全表扫描,应重新收集统计信息。增大临时表空间只影…