ITPub博客

首页 > 数据库 > 国内数据库 > 《OBCP 实验考试经验总结贴》

《OBCP 实验考试经验总结贴》

原创 国内数据库 作者:圣彼得堡的村长 时间:2026-09-04 22:08:28 0 删除 编辑

《OBCP 实验考试经验总结贴》

  最近抽空考了一把 OBCP 实验,由于前期没重视,总体感受不是很顺利,但刚刚发成绩单,已经通过了。除了没重视外,客观因素也有一些:

  1. 首先是开考后   OCP 页面半天打不开, OAT 页面里显示 OpenSearch、 MetaDB 和 OCP 全部是红色异常状况,但是我在后台看 docker 和 进程都在运行,排查了十多分钟,正当我准备要卸载重装时, OCP 页面终于刷进去了;
  2. 然后是 考试环境感觉不太稳定,同样的操作,一会可以成功,一会又报错。前面说了开考十多分钟,我的 OCP 页面打不开, xshell 里面登录服务器地址也登不上,到做《主备租户》的题目时,我创建备租户,时而报错(连不上原租户),时而成功。但是切换租户时,每次切换都提示: 主备延时过大。直到考试快结束时,重新建备租户,再试着切换一下,意外成功了。这道 10 分最简单的题算是没丢分。

image.png|471

简单吐槽了一下,开始给大家总结考试的注意事项和建议。

1. 注意事项

  1. 前面提到过 OBCP 实验考试是 开卷考试,在 3 个小时内完成 8 道必选题和 2 道随机题(6 道题中抽取),随机题不是你自选的,而是系统安排给你的,所以 6  道随机题都要会。
  2. 很多人都知道考试题目和白屏操作步骤,但是 最重要的是要把黑屏用到的命令准备好,你不能考试时候现场 OCR 识别图片再粘贴执行命令;
  3. 黑屏执行 SQL 语句时候, 看清楚登录的是 sys 租户 还是 obmysql 租户;大部分都通过 OBProxy (2883 端口)登录的 obmysql 租户;也有 SQL 需要去 sys 租户执行,别登错了;也要注意是直连 2881,还是通过 2883 登录的 OBProxy;

这是我觉得最重要的三件事,总之就是平时要准备充分,要像准备笔试一样准备实验题。

2. 考试的几点建议:

  1. 考试环境拿到手时, OAT、 OpenSearch、 MetaDB和 OCP 其实都已经部署好了。你只需要用浏览器访问 OCP_IP:8080 就能打开页面。如果页面打不开,多刷新几次,千万别一看到 OAT 里这几个组件显示红色异常,就想着去重装—— 考试就是从 OCP 页面添加第一台 OBServer 开始的,前面的环境不用你操心, oceanbase、 OBProxy包都已经上传了, OAT 工具也用不到;
  2. 创建集群比较耗时,参数一定要提前核对清楚,别等跑完了才发现错了重来。比如我中午没休息,加上前面折腾了半天,脑子有点糊,把 system_memory (自留内存)设置成了 datafile_size 的值 ,结果 UNIT 创建不出来,后台一排查原来是参数填错了; 扩展集群也是同理,过程很慢,争取一次搞对;
  3. 不要偷懒用浏览器自带的密码保存/自动填充功能。 因为 OceanBase 实验环境里涉及多个用户密码,浏览器很容易把登录密码和租户密码搞混,甚至出现把 admin 自动填充成集群名或租户名的情况,导致连错实例浪费时间;
  4. 如果添加机器一直卡着,看一下 /etc/resolv.conf 文件是否有 search localdomain,有的话就注释掉,否则 ssh之类的操作会等半天才提示输入密码,考试机器是云虚拟机,应该是模板批量创建的, 一般不会出现这种情况;
  5. 在创建集群、扩展集群的时候,可以往后翻一下题目,准备一下 SQL 语句;
  6. 有的题目做起来很顺利,一次成功,这样当然最好,但是 别放松警惕,因为很有可能一个错误让你半天没有进度。
  7. 遇到报错,别慌,多查一查。比如 4 个并发导数时候,原来的语句是:
LOAD DATA /*+ PARALLEL(4) APPEND */ INFILE '/home/admin/obcp_exam/lab5_salary.csv' INTO TABLE salary 
FIELDS TERMINATED BY ','LINES TERMINATED BY '\n'
(id, name,age,dept,level, salary);

结果报错了,经过一番调整,命令改成如下成功:

obclient [lab5db]> LOAD DATA /*+ PARALLEL(4) */
    -> INFILE '/home/admin/obcp_exam/lab5_salary.csv'
    -> INTO TABLE salary
    -> FIELDS TERMINATED BY '\t'
    -> LINES TERMINATED BY '\n'
    -> (id, name, age, dept, level, salary);
Query OK, 1000001 rows affected (15.327 sec)
Records: 1000001  Deleted: 0  Skipped: 0  Warnings: 0
obclient [lab5db]> Bye
[root@iZbp1evy5n93x31b4lluz8Z ~]# wc -l /home/admin/obcp_exam/lab5_salary.csv 
1000001 /home/admin/obcp_exam/lab5_salary.csv
  1. 遇到失败的操作,反复多尝试,就像我做《主备租户》那道题时,做了五六次都报错,于是我就先做后面的题目,最后再回来同样的操作就成功了。
  2. 不要怀有破罐子破摔的思想。比如一直没成功,干脆把环境清了重新再搞,没必要,因为你做到后面清环境重头再来,工作量太大,每个实验题都在不同的 database 下面,容易漏掉。
  3. 考试时候如果笔记本能外接一个显示器,就不用来回切屏了,效率也会高很多。
  4. 最后一点,也是前面提到过的, 一定要准备充分,包括 考试用到的 SQL 语句,还有 obclient 登录命令,排错语句等,提前准备好,考试时候时间紧,很容易登录错租户,虽然你实验做完了,但是不在 obmysql 租户里建的表,也不算你通过。

   这几天我把实验考题重新整理了一遍,整体感受是:只要课上认真听了,考试难度并不大。核心不在于死记硬背 SQL,而是理解每个考点背后的原理。 只要你知道题目在考哪个知识点,对应的操作自然就会了。

   如果有同学想了解更多考试细节,欢迎私信我,我也可以提供实验环境(16C32G OCP + 三节点 OBServer)并指导你练习。

如果本文对你有所帮助,欢迎点赞、推荐和转发,也欢迎关注后续文章,一起考证、一起学习 OceanBase 分布式数据库。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31444449/viewspace-3181649/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-02-12

  • 博文量
    25
  • 访问量
    20670