「源de爸讲数据库」每天更新OceanBase OBCP题库及全网独家超详细题目解析,祝您早日持证上岸!
现如今,一大批国产数据库随着国产化浪潮,已经逐步被越来越多的人认可。OceanBase便是其中一个优秀代表。
做这个日更专题,是希望能以边练边学的方式,带大家快速入门一套新的数据库产品,养成每日学习的习惯。
我们的目标:轻刷题,享知识!
话不多说,坐稳扶好,我们发车了~
1、标准推荐的统计行数的语法是?
A、count(1)
B、count(列名)
C、count(*)
D、以上都可以
习题解析:
如果指定 COUNT(*) 返回所有行(包含NULL)的统计数目。COUNT(*)是SQL-92的标准语法。
COUNT函数如果指定 COUNT(expr),即返回 expr 不为 NULL 的统计个数
同理,COUNT(1) 是统计"1 不为 NULL "的记录,有多少,由于条件永远为真,实际就是统计全表行数,结果等同于 COUNT(*)
正确答案:C
文档出处:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001054583
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001054400
https://xiaolincoding.com/mysql/index/count.html
2、关于ob查询改写规则正确的是
A、基于规则+基于代价
B、基于规则
C、基于代价
习题解析:OceanBase 数据库提供了两类查询改写规则:基于规则的改写与基于代价的改写。
正确答案:A
文档出处:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001053028
3、使用gv$plan_cache_plan_explain 的四个条件是
A、ip
B、port
C、tenant_id
D、plan_id
E、sql_id
习题解析:视图 GV$OB_PLAN_CACHE_PLAN_EXPLAIN 用于展示缓存在全部的 OBServer 节点中的计划缓存中的物理执行计划。该视图仅支持 GET 操作,查询时需要指定 IP、PORT、TENANT_ID、PLAN_ID 字段。
正确答案:A、B、C、D
文档出处:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001051734
4、慢查询sql,通过日志文件捞取,指定时间点参数是?
A、trace_log_slow_query_watermark
B、trace_log_slow_query_thread
C、log_slow_query_watermark
D、log_slow_query_thread
习题解析:如果 SQL 执行时间超过了 trace_log_slow_query_watermark 值,那么可以认为这是一个慢查询。在这种情况下,OceanBase 数据库将在 OBServer 日志中打印 Slow Query 消息。其他选项无相关参数名。
正确答案:A
文档出处:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001052407
5、当服务器间时钟偏差大于100毫秒后,可能会导致系统不可用,也可能会丢失数据
A、正确
B、错误
习题解析:
OceanBase 数据库是一个分布式数据库,故集群的多个节点以及 OCP 节点的时钟必须配置时钟同步服务,保证所有节点的时钟偏差在 2s 以内。
如果集群时间不同步,则可能影响 OceanBase 集群的选举模块,导致没有主副本或者脑裂。
正确答案:B
文档出处:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001049937
6、关于回收站的描述,哪些选项是正确的?
A、查看回收站必须使用sys租户进行查看
B、开关回收站有租户级和会话级两种级别
C、单独删除的index是不进回收站的
D、使用PURGE RECYCLEBIN可以清空整个回收站
习题解析:
对于 sys 租户,除了能查看本租户的数据库、表和索引回收站对象外,还可以查看系统内所有的租户回收站对象;对于 MySQL 用户租户,只能查看数据库、表和索引回收站对象;对于 Oracle 用户租户,只能查看表和索引回收站对象。
控制回收站开启关闭的命令分为 Global 级别和 Session 级别。
直接 DROP 索引不会进入回收站,删表时表上的索引会跟随主表一起进入回收站。
清理回收站可以指定:索引、表、库和租户,或整个回收站(PURGE RECYCLEBIN)
正确答案:B、C、D
文档出处:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001050131
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001050882
7、关于OceanBase 的TableGroup,以下说法正确的是
A、TableGroup 是一个逻辑概念,它和物理数据文件没有关联关系
B、TableGroup 是一个物理概念,它和物理数据文件有关联关系
C、TableGroup 影响表分区的调度方法,OceanBase 会优先把属于同一个 TableGroup 的相同分区编号的所有分区规整在一起,调度到同一台节点上,从而规避跨节点的分布式事务
D、OceanBase 的TableGroup 只支持单表,不支持分区表
习题解析:
- 表组(Table Group)是一个逻辑概念,表示一组表的集合。默认情况下,不同表之间的数据是随机分布的,没有直接关系。通过定义表组,可以控制一组表在物理存储上的邻近关系。
- 表组的 SHARDING 属性取值不同,会对加入表组的表产生限制,可选NONE、PARTITION、ADAPTIVE。默认 SHARDING = ‘ADAPTIVE’,要求加入表组的所有表其对应的一级分区和二级分区必须与表组中所有表的一级分区和二级分区的分区定义一致,包括分区类型、分区个数、分区值。
正确答案:A、C
文档出处:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001052201
8、宏块是定长的,大小为固定的2MB,是数据文件写IO的最小单位;微块是变长的,默认值为 16KB,是数据文件读IO的最小单位
A、正确
B、错误
习题解析:
- 宏块是数据文件写 IO 的基本单位,每个 SSTable 就由若干个宏块构成, 宏块2M固定大小的长度不可更改, 后续转储合并重用宏块以及复制迁移等任务都会以宏块为最基本粒度。
- 在宏块(Macro Block)内部数据被组织为多个大小为 16KB 左右的变长数据块,称之为微块(Micro Block),微块中包含若干数据行(Row),微块是数据文件读 IO 的最小单位。每个数据微块在构建时都会根据用户指定的压缩算法进行压缩,因此宏块上存储的实际是压缩后的数据微块,当数据微块从磁盘读取时,会在后台进行解压并将解压后的数据放入数据块缓存中。每个数据微块的大小在用户创建表时可以指定不超过宏块的大小(ALTER TABLE mytest SET block_size = 131072;),默认 16KB。
正确答案:A
文档出处:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001050877
9、如何选择局部索引还是全局索引,以下说法正确的是
A、如果全局索引的分区规则和主表的分区规则相同并且分区数相同,这时推荐创建一个局部索引。一方面是因为全局索引的维护代价更大;另一方面是因为全局索引无法保证和主表分区的物理位置相同,除非将其和主表指定在一个表组中
B、如果查询条件里“包含完整的分区键”,使用本地索引是最高效的
C、如果数据量较大,或者容易出现索引热点,可考虑创建全局分区索引
D、通常来说,全局索引能为高频且精准命中的查询(比如单记录查询)提速并减少IO;对范围查询则不一定哪种索引效果更好
E、不能忽视全局索引在 DML 语句中引入的额外开销:数据更新时带来的跨机分布式事务,事务的数据量越大则分布式事务越复杂
习题解析:
正确答案:A、B、C、D、E
文档出处:
10、利用OMS通过数据实时同步+快速切换实现平滑去O的迁移方案,以下步骤是正确的?
1.应用读写 ORACLE
2.0MS 实时同步:ORACLE->OB
3.应用停写 ORACLE
4.OMS 全量校验:OB&ORACLE
5.0MS 实时同步: OB->ORACLE
6.应用切换读写 OB
A、正确
B、错误
习题解析:
正确答案:A
文档出处:
你的天赋,需要每天兑现~ Enjoy!
欢迎关注分享:源de爸讲数据库