ChatGPT能代替Oracle DBA吗?用Oracle OCP(1z0-083)的真题测试一下。

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 第1道题ChatGPT就做错了,姚远老师心里不禁窃喜,看来ChatGPT也不咋地,我们也许不会失业,让我们来看看第一道题的题目

关于博主,姚远:

Oracle ACE(Oracle和MySQL数据库方向)。

Oracle MAA 大师。

华为云MVP。

《MySQL 8.0运维与优化》的作者。

拥有 Oracle 10g和12c OCM等20+数据库认证。

曾任IBM公司数据库部门经理,主导过多个大型数据中心核心库的设计。

现在一家第三方公司任首席数据库专家,服务2万+客户。

引言

ChatGPT已经通过了很多考试,姚远老师是Oracle OCP和MySQL OCP讲师,我很好奇ChatGPT能不能通过Oracle OCP的考试呢?让我们拿Oracle 19c OCP考试(1z0-082)的真题对ChatGPT进行一个测试。


测试过程

第1道题ChatGPT就做错了,姚远老师心里不禁窃喜,看来ChatGPT也不咋地,我们也许不会失业,让我们来看看第一道题的题目:


Which two statements are true about space-saving features in an Oracle Database?

A.An index created with the UNUSABLE attribute has no segment.

B.Private Temporary Tables(PTTs) store metadata in memory only.

C.Private Temporary Tables(PTTs) when used, are always dropped at the next commit statement. D.An index that is altered to be UNUSABLE will retain its segment

E. A table that is truncated will always have all of its extents removed


ChatGPT的答案是B和C,B是对的,但ChatGPT选择了一个错误的答案C:

Private Temporary Tables(PTTs) when used, are always dropped at the next commit statement.

实际上PTT有两种:Transaction-specific (ON COMMIT DROP DEFINITION)和session-specific (ON COMMIT PRESERVE DEFINITION)。这两种在commit时都会删除表中的数据,但第二种是不会删除表定义的,因此C是错的。


ChatGPT忽略了一个正确的答案A,于是姚远老师问ChatGPT:你为什么没有选择A,请你做一个实验,创建一个UNUSABLE的索引试试?

ChatGPT回答:作为一个AI语言模型,我没有直接的物理数据库来创建索引。…

现在我知道ChatGPT为什么会做错了,因为ChatGPT没有实验环境。

我自己实验了一下:

SQL>  create index in_1 on table_1(no) unusable;
Index created.
SQL> select segment_name,blocks from user_segments where segment_name in ('IN_1');
no rows selected
SQL>  alter index in_1 rebuild;
Index altered.
SQL> select segment_name,blocks from user_segments where segment_name in ('IN_1');
SEGMENT_NAME     BLOCKS
-------------------- ----------
IN_1            8



image.png

发现创建索引时为unusable是不创建段的,只有重建索引才会有段。


第2道题是关于视图的,ChatGPT对 WITH CHECK的限制很清楚,做对了。


第3道题是PMON进程的作业,ChatGPT还知道从12c后PMON注册监听的功能交给了LRRG进程负责,也做对了。


第4道题是集合的 INTERSECT操作,ChatGPT也做对了。


第5道题是用户的最小权限原则,ChatGPT也做对了。


第6 道题是关于回滚段的题目,ChatGPT做错了,ChatGPT认为:Undo segments can be stored in the SYSTEM tablespace.这个选项是错的,ChatGPT给出的理由是: Undo segments are stored in the undo tablespace, not in the SYSTEM tablespace.

实际上在自动回滚段管理时,如果没有undo表空间,回滚段是可以放在系统表空间中的,在Oracle的官方文档中有下面的内容:


When the database instance starts, the database automatically selects the first available undo tablespace. If no undo tablespace is available, then the instance starts without an undo tablespace and stores undo records in the SYSTEM tablespace. This is not recommended, and an alert message is written to the alert log file to warn that the system is running without an undo tablespace.


感觉ChatGPT做这个选择有点想当然。


第7道题是日期的计算,也做对了。


第8道题做错了,ChatGPT选择了一个下面这个选项:

Directory Naming requires setting the TNS_ADMIN environment variable on the client side.

实际上TNS_ADMIN环境变量不是必需设置的,只有ORACLE_HOME设置了即可。


第9道题错了,ChatGPT选择了一个错误的答案 :

Any user can create a PUBLIC synonym.

实际上即使创建PUBLIC的同义词,也需要 CREATE PUBLIC SYNONYM的系统权限。

ChatGPT还忽略了一个正确的答案:A synonym can have a synonym。


第10道题是关于直接路径导入的压缩格式,这个知识点在Oracle官方文档上面写的清清楚楚,ChatGPT做对了


第11道题是关于延迟段创建特性,ChatGPT也做对了


欢迎试看博主的专著《MySQL 8.0运维与优化》

总结和分析

测试进行到这里,ChatGPT一共做了11道题,错了4道题,正确率为63.6%,而Oracle 19C OCP的1Z0-082的及格线是60%,ChatGPT涉险过关!


更多的Oracle OCP和MySQL OCP题库的解析可以参见:


image.png

Oracle 19c OCP和MySQL 8.0 OCP应试指南和题库讲解


姚远老师分析了ChatGPT解题的特点,发现ChatGPT对于在业界答案没有争议的题目做得很好,但ChatGPT也有两个弱点,一个是ChatGPT没有真正的一个Oracle数据库进行实验,因此在解答需要实验验证的题目时很吃亏;另一个是ChatGPT不擅长解决概念上比较绕的问题。但总体来说,ChatGPT已经可以胜任一个初级DBA的工作了,只是对ChatGPT的给出的答案需要一个资深的DBA进行二次验证。


大家觉得ChatGPT能代替Oracle DBA吗?请留言聊一下。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
人工智能 测试技术
软件测试/人工智能|思维导图很难画,ChatGPT来帮你
软件测试/人工智能|思维导图很难画,ChatGPT来帮你
39 0
|
5月前
|
人工智能 自然语言处理 安全
【网安AIGC专题10.19】论文3代码生成:ChatGPT+自协作代码生成+角色扮演(分析员、程序员、测试员)+消融实验、用于MBPP+HumanEval数据集
【网安AIGC专题10.19】论文3代码生成:ChatGPT+自协作代码生成+角色扮演(分析员、程序员、测试员)+消融实验、用于MBPP+HumanEval数据集
110 0
|
4月前
|
人工智能 测试技术 Python
软件测试/人工智能|PPT不好写,问问ChatGPT
软件测试/人工智能|PPT不好写,问问ChatGPT
46 0
|
4月前
|
人工智能 自然语言处理 测试技术
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本
84 0
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本
|
5月前
|
人工智能 测试技术
软件测试/人工智能|如何利用ChatGPT帮助我们编写测试用例
软件测试/人工智能|如何利用ChatGPT帮助我们编写测试用例
80 0
|
4月前
|
人工智能 测试技术 API
软件测试/人工智能|教你如何使用ChatGPT的API
软件测试/人工智能|教你如何使用ChatGPT的API
229 0
|
4月前
|
人工智能 测试技术 程序员
软件测试/人工智能|使用ChatGPT帮我们查找bug
软件测试/人工智能|使用ChatGPT帮我们查找bug
71 1
|
4月前
|
设计模式 人工智能 测试技术
软件测试/人工智能|如何使用ChatGPT编写符合PO模式的数据驱动测试框架
软件测试/人工智能|如何使用ChatGPT编写符合PO模式的数据驱动测试框架
55 0
|
4月前
|
SQL 人工智能 关系型数据库
软件测试/人工智能|利用ChatGPT写一份不一样的简历
软件测试/人工智能|利用ChatGPT写一份不一样的简历
57 0
|
4月前
|
人工智能 测试技术
软件测试/人工智能|述职报告头很大,ChatGPT来帮你
软件测试/人工智能|述职报告头很大,ChatGPT来帮你
50 0
软件测试/人工智能|述职报告头很大,ChatGPT来帮你

推荐镜像

更多