暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
GBase 8a GDCA 认证课后练习题大全(题库).md
147
1次
2024-11-18
25墨值下载

大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。

社群交流

为了给大家提供一些技术交流的平台,目前已成立的技术交流群:

  • Oracle 数据库交流群
  • 国产数据库交流群
  • Linux 技术交流群
  • ChatGPT 4o 免费体验群

需要进群(均已超过 200 人,需要邀请)可以添加号主微信:Lucifer-0622,备注对应的群名即可。

@TOC

前言

近期,南大通用 GBase 8a 数据库新一期的 GDCA 认证开启火热报名:2024 年十一月 GBase 8a MPP Cluster 认证培训,到今天为止,培训课程已经学习完成,我总结了每节课的课后练习题,一共 100 题,分享出来供大家一起查阅。

当然,配合 GBase 8a 数据库实操练习,效果更佳,GBase 8a 安装部署可以参考:GBase 8a MPP 集群部署最佳实践

单选题

1、GBase 8a MPP Cluster 数据库属于( )?

  • [ ] A 非关系型数据库
  • [x] B 关系型分布式数据库
  • [ ] C 关系型事务型数据库
  • [ ] D 关系型集中式数据库

正确答案: B

解析: 南大通用大规模分布式并行数据库 GBase 8a MPP Cluster 是列存数据库,主要用于分析场景,属于 OLAP 场景使用 SQL 处理结构化数据,属于关系型数据库。MPP 技术架构处理海量数据,数据分散在多个节点上,又是分布式数据库。

2、数据库行业中有多位科学家获得了图灵奖,其中有一位发明了很多种不同类型的数据库,像 SqlServer、Sybase、Informix、DB2 等前生 Ingres 这款数据库,还有 PostGreSQL(又叫 PG)也是他推出的,他的名字( )。

  • [ ] A Charles W. Bachman
  • [ ] B E.F. Codd
  • [ ] C Jim Gray
  • [x] D Michael Stonebraker

正确答案: D

3、以下哪个老牌国产数据库厂家是在 2003–2006 年期间成立的( )?

  • [ ] A 武汉达梦
  • [ ] B 人大金仓
  • [x] C 南大通用
  • [ ] D 神州通用

正确答案: C

解析: 天津南大通用数据库技术股份有限公司是2004年成立的。

4、GBase 8a 对于智能索引的特点理解错误的是( )

  • [ ] A 智能索引是粗粒度的,基于 DC 包创建,每条索引很小,几乎不影响入库性能。
  • [ ] B 智能索引有局部性特点,每条索引随着新增 DC 追加到索引数据结构末尾,所以建索引速度与数据量无关。
  • [ ] C 智能索引是免维护的,不需要用户手工创建,而是全字段自动建立索引,非常的智能方便。
  • [x] D 智能索引能提升查询效率,原因是数据进入 DC 时自动进行了排序,这样智能索引在查找数据时根据 DC 的最大值和最小值进行智能过滤,排除掉不满足条件的 DC。

正确答案: D

5、在 GBase8a v95 版本集群中,一个数据节点不属于任何一个 VC 中,被称为( )节点。

  • [ ] A gcluster 节点
  • [x] B Free Node 节点
  • [ ] C gnode 节点
  • [ ] D 以上都不是

正确答案: B

解析: Free Node 节点不属于任何一个 VC。

6、集群中负责各节点实例间共享信息,并在多副本操作中,控制各节点数据一致性状态的组件是( )?

  • [ ] A gnode
  • [x] B gcware
  • [ ] C gcluster
  • [ ] D syncserver

正确答案: B

解析: GCWare 用于各节点 GCluster 实例间共享信息,以及控制多副本数据操作时,提供可操作节点,并在多副本操作中,控制各节点数据一致性状态。

7、GBase 8a 集群中由数据节点组成的集群叫做( )?

  • [ ] A 虚拟集群
  • [ ] B GCluster 集群
  • [ ] C GCware 集群
  • [x] D Data 集群

正确答案: D

解析: 由 gcluster 节点组成的集群叫 GCluster 集群,由数据节点组成的集群叫 Data 集群,由 gcware 节点组成的集群叫 GCware 集群。三个集群协同工作形成联邦架构。

8、用户连接 GBase 8a 数据库时,默认使用的连接端口是?

  • [ ] A 5050
  • [x] B 5258
  • [ ] C 5919
  • [ ] D 16066–16166 之间任意一个

正确答案: B

解析: 5050 是 gnode 端口,5258 是 gcluster 端口,5919 是 gcware 端口,16066–16166 是数据远程导出端口。

9、C/S 架构中的服务端内置在( )集群节点中?

  • [ ] A Gcware
  • [x] B Gcluster
  • [ ] C Gnode
  • [ ] D 全部

正确答案: B

10、gcmonit 负责监测以下哪个进程?( )

  • [ ] A gcrecover
  • [ ] B gcware
  • [x] C gcmonit
  • [ ] D syncserver

正确答案: C

11、以下有关 8a 集群初始化之前可运行的操作描述正确的是( )?

  • [x] A 可以查看系统数据库
  • [ ] B 可以创建数据库
  • [ ] C 可以创建账户
  • [ ] D 能够删除数据

正确答案: A

解析: 只有初始化后,数据库才能将数据写入相对应的数据分片。

12、有关 gcluster_services all stop 命令,描述正确的是( )?

  • [ ] A 关闭整个集群的服务进程
  • [ ] B 只有操作系统管理员 root 可以使用
  • [x] C 只关闭当前节点的 gnode 和 gcluster 相关进程
  • [ ] D 关闭当前节点的所有集群进程

正确答案: C

解析: 由 DBA 用户执行,关闭当前节点的所有数据库服务进程。

13、当集群 gcluster 节点出现数据不一致时,应如何定位问题( )?

  • [x] A gcadmin showddlevent
  • [ ] B gcadmin showdmlevent
  • [ ] C gcadmin showdmlstorageevent
  • [ ] D 查看网络

正确答案: A

解析: 集群管理节点主要维护数据库的元数据,所以出现数据不一致时主要查看 ddlevent。

14、GBase 8a MPP Cluster 中,使用以 @ 开头的变量是( )

  • [ ] A 局部变量
  • [ ] B 系统变量
  • [x] C 用户变量
  • [ ] D 全局变量

正确答案: C

15、GBase 8a MPP Cluster 支持的 DATETIME 类型,支持的最小时间单位是( )

  • [ ] A 秒
  • [ ] B 毫秒
  • [x] C 微秒
  • [ ] D 纳秒

正确答案: C

解析: GBase 8a MPP Cluster 支持的 DATETIME 类型,支持的最小时间单位是微秒。

16、DECIMAL 类型是严格的数值数据类型,建表语句 create table t(i int, j decimal); 中,没有具体写 DECIMAL 位数,则默认是( )位

  • [ ] A 0
  • [x] B 10
  • [ ] C 18
  • [ ] D 65

正确答案: B

解析: DECIMAL 默认是 DECIMAL(10,0)

17、GBase 8a MPP Cluster 每条 SQL 语句默认的结束符号是( )

  • [ ] A .
  • [x] B ;
  • [ ] C #
  • [ ] D --

正确答案: B

解析: GBase 8a MPP Cluster 每条 SQL 语句的默认结束符号是 ;

18、GBase 8a MPP Cluster 支持数据类型中,()类型不能有 DEFAULT 值。

  • [ ] A DECIMAL
  • [x] B TEXT
  • [x] C BLOB
  • [x] D LONGBLOB

正确答案: BCD

解析: 大对象类型不支持 DEFAULT 值,像 TEXT、BLOB 和 LONGBLOB。

19、GBase 8a MPP Cluster 支持的 DECIMAL(M,D) 类型,其中 M 是总位数,最大支持( )位

  • [ ] A 16
  • [ ] B 18
  • [ ] C 64
  • [x] D 65

正确答案: D

解析: GBase 8a MPP Cluster 支持的 DECIMAL(M,D) 类型,其中 M 是总位数,最大支持 65 位。

20、在实际的 GBase 8a 项目中,建议客户使用( )类型存储字符串。

  • [ ] A CHAR
  • [ ] B TEXT
  • [x] C VARCHAR
  • [ ] D VARCHAR2

正确答案: C

解析: 数仓等项目建议使用 VARCHAR 类型存储字符串,8a 不支持 VARCHAR2 类型。

21、GBase 8a MPP Cluster 执行 SQL 命令,DDL 和 DML 执行步骤不同点:( )

  • [x] A 一条 DDL 命令会在所有 gcluster 管理节点和 gnode 计算节点上执行。一条 DML 命令由 GCluster 发起节点下发给 gnode 计算节点,各计算节点执行 DML 命令更新数据,然后返回结果给发起管理节点。
  • [ ] B DDL 和 DML 语句首先发给所有管理节点,然后再下发到各个计算节点。
  • [ ] C DDL 仅在所有管理节点上执行;DML 语句仅在计算节点上执行。
  • [ ] D DDL 和 DML 语句首先发给 GCluster 发起节点,再下发到各个计算节点。

正确答案: A

解析: 一条 DDL 命令会在所有 gcluster 管理节点和 gnode 计算节点上执行。一条 DML 命令由 GCluster 发起节点下发给 gnode 计算节点,各计算节点执行 DML 命令更新数据,然后返回结果给发起管理节点。

22、快速 UPDATE 模式,需要开启 ( )参数开关

  • [x] A gbase_fast_update
  • [ ] B fast_update
  • [ ] C _t_gbase_fast_update
  • [ ] D _fast_update

正确答案: A

解析: 快速 UPDATE 模式,需要开启 gbase_fast_update 参数为 1 或者 on,开启快速更新模式。

23、哈希分布表中被定义为 distributed by 的字段,不能做( )操作。

  • [ ] A delete
  • [x] B update
  • [ ] C insert
  • [ ] D 以上三种

正确答案: B

解析: 哈希分布表中的 hash 列字段,不能做 update 操作。

24、笛卡尔乘积是由于( )的表关联产生的。

  • [ ] A 左外连接
  • [ ] B 右外连接
  • [ ] C 全连接
  • [x] D 没有关联条件

正确答案: D

解析: 没有关联条件的两表会产生两表条数相乘记录的联合表。

25、以下聚合语句中错误的是( )

  • [ ] A select Ssex, count(Sno) from student group by Ssex;
  • [ ] B select YEAR(Sage), count(Sno) from student group by YEAR(Sage);
  • [ ] C select Cno, count(Sno) from student group by Cno;
  • [x] D select Cno, count(Sno) from student group by Ssex;

正确答案: D

解析: 有 group by 子句时,投影列需包括 group by 后分组字段和聚合函数。

26、where和having用法区别( )

  • [ ] A where 中不能有列的别名,having 中可以操作列的别名。
  • [x] B WHERE 子句用来筛选 FROM 子句中指定的数据集。HAVING 子句用来从分组的结果中筛选。
  • [x] C where 中不能有聚合函数,having 中可以有聚合函数。
  • [x] D 执行的顺序不一样:where 的搜索条件是在进行分组之前执行;having 的搜索条件是在分组后执行的。

正确答案: BCD

解析: having 中不能有列的别名,所以A错。

27、COUNT(*)COUNT(colName) 结果( )

  • [ ] A 完全相同。
  • [x] B colName 列存在 NULL 值时,不同。
  • [ ] C 总是不同。
  • [ ] D 由表类型(哈希分布表、随机分布表)决定。

正确答案: B

解析:NULL 值时,二者查询的条数不同。COUNT(colName) 只记录不含 NULL 值的条数。

28、GBase 8a MPP Cluster 执行单个复制表 DQL 语句,会下发到( )计算节点上

  • [ ] A 所有
  • [ ] B 指定
  • [x] C 随机一个
  • [ ] D 以上皆非

正确答案: C

解析: 每个节点都有复制表,随机选择一个节点执行即可。

29、GBase 8a MPP Cluster 执行单个 hash 分布表 select 语句,WHERE 子句中只有一个 hash 分布列条件,语句会下发到( )计算节点上

  • [ ] A 所有
  • [ ] B 指定
  • [ ] C 随机一个
  • [x] D 和条件中比较值的 hash 运算值相匹配的

正确答案: D

解析: hash 分布表能计算出数据具体落在哪个节点上,所以不是所有节点都查询,只下发到有该数值的节点执行即可。

30、select round(123.456, -2) 的执行结果:

  • [ ] A 123.46
  • [ ] B 123.45
  • [x] C 100
  • [ ] D 123.00

正确答案: C

解析: round 函数支持四舍五入,-2 参数表示小数点前 2 位,为百位,查看十位数字为 2,则直接舍去,结果为 100。

31、数据库字符集是 UTF8,SELECT LENGTH('南大通用数据') 执行结果是( )

  • [ ] A 12
  • [ ] B 6
  • [x] C 18
  • [ ] D 10

正确答案: C

解析: LENGTH() 函数返回值是字节个数,UTF8 字符集,一个汉字为 3 个字节存储,则结果为 18。

32、统计 2012(含)年后出生的学生,以下( )语句正确且执行效率最高。

  • [ ] A select SId, SName, SAge from student where to_char(SAge, 'YYYY') >= 2012;
  • [ ] B select SId, SName, SAge from student where SAge >= to_date('2012-1-1');
  • [x] C select SId, SName, SAge from student where SAge >= to_date('2012-1-1', 'YYYY-MM-DD');
  • [ ] D select SId, SName, SAge from student where to_char(SAge, 'YYYY') > 2012;

正确答案: C

解析: where 条件中使用函数尽量在值上,不要在字段上使用函数,这样少执行函数次数,提高性能。to_date 函数有两个参数,只写一个参数是错误的。

33、求距离月底还有多少天,正确的语句是( )

  • [ ] A SELECT DATEADD(LAST_DAY(NOW()), NOW());
  • [x] B SELECT DATEDIFF(LAST_DAY(NOW()), NOW());
  • [ ] C SELECT DATESUB(LAST_DAY(NOW()), NOW());
  • [ ] D SELECT DATEDIFF(NOW(), LAST_DAY(NOW()));

正确答案: B

解析: DATEDIFF(LAST_DAY(NOW()), NOW()) 得到的天数为正数,DATEDIFF(NOW(), LAST_DAY(NOW())) 得到的天数为负数。

34、SELECT TRUNCATE(127.456, -1) 执行结果为( )

  • [ ] A 100
  • [x] B 120
  • [ ] C 123.5
  • [ ] D 123.4

正确答案: B

解析: TRUNCATE 函数为截取指定位数,-1 参数表示小数点前 1 位,为十位,则直接舍去十位后面的数字,结果为 120。

35、SELECT LAST_DAY('0000-12-1') 运行的结果是( )

  • [ ] A 0-12-31
  • [ ] B 0000-12-31
  • [ ] C 0000-12-30
  • [x] D NULL

正确答案: D

解析: '0000-12-1' 不是一个正确的日期,返回值为 NULL

36、关于 NULL 的叙述,()是错误的

  • [ ] A NULL 值表示“没有数据”,值未知,值不确定,不占空间。
  • [ ] B NULL 的拼写,大小写无关。
  • [x] C SELECT count(SAge) FROM Student 统计表包括 NULL 值的总条数。
  • [ ] D NULL 和 UNKNOWN 是等价的。

正确答案: C

解析: count(SAge) 不统计表中该字段为 NULL 值的条数。

37、显示 “2021年03月16日” 这样的日期格式,正确的 SQL 语句是()

  • [ ] A SELECT DATE_FORMAT(sysdate(), '%y年%m月%d日')
  • [x] B SELECT DATE_FORMAT(sysdate(), '%Y年%m月%d日')
  • [ ] C SELECT DATE_FORMAT(sysdate(), '%Y年%0m月%d日')
  • [ ] D SELECT DATE_FORMAT(sysdate(), '%Y年%mm月%dd日')

正确答案: B

解析: 根据日期格式规则,正确答案为 SELECT DATE_FORMAT(sysdate(), '%Y年%m月%d日')%Y 代表 4 位的年,%m 代表 2 位的数字月,%d 代表 2 位的天。

38、SELECT add_months('2020-12-30', 1); 的执行结果()

  • [ ] A 2020-01-30 00:00:00
  • [ ] B 2020-11-30 00:00:00
  • [ ] C 2021-01-30
  • [x] D 2021-01-30 00:00:00

正确答案: D

解析: add_months() 函数返回值是日期时间类型。

39、NOW 和 SYSDATE 函数的区别是()

  • [ ] A NOW 有同义词,SYSDATE 没有同义词。
  • [x] B NOW 取的是语句开始执行的时间,SYSDATE 取的是该函数执行的实时时间。
  • [ ] C NOW 得到当前日期和时间,SYSDATE 得到当前日期。
  • [ ] D NOW 得到当前时间,SYSDATE 得到当前日期。

正确答案: B

解析: NOWSYSDATE 函数都能得到当前日期和时间,区别为 NOW 取的是语句开始执行的时间,SYSDATE 取的是该函数执行的实时时间。

40、SELECT CHAR_LENGTH('南大通用数据') 执行结果是()

  • [ ] A 12
  • [x] B 6
  • [ ] C 18
  • [ ] D 10

正确答案: B

解析: CHAR_LENGTH() 函数返回值是字符个数,结果为 6。

41、以下授权语句( )是正确的

  • [ ] A grant select on * to bizMan@localhost
  • [ ] B grant select courseware.* to bizMan@localhost
  • [x] C grant select on courseware.* to bizMan@localhost
  • [ ] D grant select on courseware.* to user bizMan

正确答案: C

解析:

  • grant select on * to bizMan@localhost” 错误在于只有一个 *
  • grant select courseware.* to bizMan@localhost” 错误在于缺少 on 关键词;
  • grant select on courseware.* to user bizMan” 错误在于多了 user

42、create user bizMan identified by 'x' 创建的 bizMan 用户可访问的客户端( )

  • [x] A 任意主机
  • [ ] B 只能是数据库服务器本机,即 localhost
  • [ ] C 只能是 127.0.0.1
  • [ ] D 该用户在任何主机上都不能访问数据库

正确答案: A

解析: 新建用户 bizMan 等同于 bizMan@%,任意主机均可登录。

43、ALL 是一个特殊权限,不包含( )

  • [ ] A PROCESS
  • [x] B GRANT OPTION
  • [ ] C EXECUTE
  • [ ] D SHUTDOWN

正确答案: B

解析:
ALL 权限不包含 GRANT OPTION 给其他用户授权权限。

44、收回表插入数据权限语句以下正确的是( )

  • [ ] A revoke insert("ID") on courseware.test01 to bizMan@localhost;
  • [ ] B revoke insert(ID) on *.test01 from bizMan@localhost;
  • [x] C revoke insert(ID) on courseware.test01 from bizMan@localhost;
  • [ ] D revoke insert(ID) on courseware.test01 to bizMan@localhost;

正确答案: C

解析:
revoke 后面用 from 关键词,表级权限需写明具体的数据库名称。

45、和 SHOW VARIABLES LIKE 'gbase_sql%' 等价的语句是( )

  • [x] A SELECT variable_name, variable_value from information_schema.global_variables where variable_name like 'gbase_sql%';
  • [ ] B SELECT * from information_schema.global_variables where variable_name like 'gbase_sql%';
  • [ ] C SELECT variable_name, variable_value from global_variables where variable_name like 'gbase_sql%';
  • [ ] D SELECT name, value from global_variables where variable_name like 'gbase_sql%';

正确答案: A

解析: 选项 A 正确地从 information_schema.global_variables 表中查询 variable_namevariable_value,与 SHOW VARIABLES LIKE 'gbase_sql%' 等价。

46、( )表存储哈希键值与 nodeid 的对应关系。GBase 8a 数据库引擎根据计算出的 hash 值确定数据存储在哪个节点上。

  • [ ] A gbase.audit_log
  • [x] B gbase.nodedatamap
  • [ ] C gbase.proc
  • [ ] D gbase.time_zone

正确答案: B

解析: gbase.nodedatamap 表存储哈希键值与 nodeid 的对应关系。

47、查看正在运行的线程,与 SHOW PROCESSLIST 等价的语句是( )

  • [ ] A select * from gbase.processlist;
  • [x] B select id, user, host, db, command, time, state, info from information_schema.processlist;
  • [ ] C select id, user, host, db, command, time, state, info from performance_schema.processlist;
  • [ ] D select * from processlist;

正确答案: B

解析: SHOW PROCESSLISTinformation_schema.processlist 表查询的内容一致。

48、获取用户组 Role 和用户 User 关系信息需要查询( )系统表

  • [ ] A gbase.user
  • [ ] B gbase.user_check
  • [x] C gbase.role_edges
  • [ ] D gbase.roleanduser

正确答案: C

解析: gbase.role_edges 表记录用户组 Role 和用户 User 关系信息。

49、显示当前数据库版本,正确的语句是( )

  • [ ] A select version;
  • [ ] B select versions();
  • [x] C select version();
  • [ ] D show version;

正确答案: C

解析:
version() 函数返回数据库版本信息。

50、中止连接当前执行的语句,但是不中止该连接本身,正确的语句是( )

  • [x] A kill query 3789
  • [ ] B kill 3789
  • [ ] C pause 3789
  • [ ] D CONTINUE 3789

正确答案: A

解析: 需要加 QUERY 参数,以中止连接当前执行的语句,但是不中止该连接本身。

51、建表语句 create table tb(id int, name varchar(50), c int) REPLICATED; 创建的是( )表?

  • [ ] A 分布表
  • [ ] B 临时表
  • [x] C 复制表
  • [ ] D 分区表

正确答案: C

解析: REPLICATED 表示创建的是复制表。

52、当客户端连接上 GBase 8a MPP Cluster 数据库后,执行( )SQL命令切换到指定数据库下。

  • [ ] A show databases;
  • [ ] B create database database_name;
  • [x] C use database_name;
  • [ ] D select database();

正确答案: C

解析: 使用 use database_name; 命令切换到指定数据库下

多选题

1、集中式事务型数据库经过了 40 多年发展,技术上进行三代演进,分别是( )?

  • [x] A 单机服务器
  • [x] B 主备集群
  • [x] C 共享存储集群
  • [ ] D 分布式事务型集群

正确答案: A, B, C

解析: 交易数据库发展到今天,历经 40 年,演进可清晰的划分为三代:单机、主备集群、共享存储集群。

2、GBase 8a 对于并行理解正确的是( )

  • [ ] A 在单个节点上,单条 SQL 语句未实现并行。
  • [x] B 在单个节点上,单条 SQL 语句多个算子已经实现了并行操作。
  • [ ] C 在多个节点上,多条 SQL 语句之间是并行调动操作的,下发到单节点上的子 sql 是无法并行的。
  • [x] D 在多个节点上,单条 SQL 语句经执行器分解后下发到多个节点上进行并行计算,在单节点上的子 sql 也是可以并行的。

正确答案: B, D

3、以下针对 GBase 8a 集群数据库中 DC 的描述正确的是( )?

  • [x] A DC 是基本的 I/O 单位
  • [x] B 每个 DC 自动封装和压缩
  • [ ] C 每个 DC 包含 32768 行数据
  • [x] D DC 尾块不压缩

正确答案: A, B, D

解析: DC 文件依赖操作系统的文件大小限制进行分裂和存储。DC 是基本 I/O 单位,具有查询所涉及列块的列扩展I/O。每个 DC 包含 65536 行数据,数据行数不足时以 DC 尾块形式单独存放。DC 尾块不封装、不压缩。

4、8a 数据库的压缩支持( )

  • [x] A 按库压缩
  • [x] B 按表压缩
  • [x] C 按列压缩
  • [ ] D 按行压缩

正确答案: A, B, C

解析: 实现库级、表级、列级三级压缩选项。压缩算法按数据类型和数据分布不同而优化,自动选择最优压缩算法,灵活平衡性能与压缩比的关系,可以对压缩方式进行修改。

5、GBase 8a 集群数据库主要应用于( )?

  • [ ] A 用户业务系统
  • [x] B 数据仓库系统
  • [x] C 商业智能系统
  • [x] D 决策支持系统

正确答案: BCD

解析: 南大通用大规模分布式并行数据库集群系统是为管理超大规模数据量而设计的通用计算平台,具备高性能、高可用、高扩展特性,广泛应用于各类企业单位的数据仓库系统、BI 系统和决策支持系统。

6、数据多分片部署的优势在于( )

  • [x] A 降低木桶效应
  • [ ] B 提高查询速度
  • [x] C 快速扩容
  • [ ] D 实现分区

正确答案: AC

7、下列有关 SetSysEnv.py 脚本描述正确的是( )?

  • [ ] A 每个节点安装前都要执行该脚本
  • [ ] B 该脚本由 DBA 用户操作执行
  • [x] C cgroup 参数是可选项
  • [x] D 运行产生的日志文件存在 /tmp 目录下

正确答案: CD

解析: SetSysEnv.py 脚本用于设置集群各节点的安装环境,会涉及到系统环境的设置,所以需要以操作系统的管理员身份执行。Gcware 独立部署于单独节点的情况下,可以不执行该脚本。

8、下列有关 demo.options 文件描述正确的是( )?

  • [x] A demo.options 是安装集群的配置文件
  • [x] B 该文件指定各集群节点的角色
  • [ ] C 该文件描述节点和 rack 的对应关系
  • [x] D 在 demo.options 文件中写明密码即代表所有节点所使用的密码一致

正确答案: ABD

解析: 8a 集群安装时,使用 demo.options 文件作为集群静默安装的配置文件。该文件标识集群各节点角色、账户信息、密码等。

9、影响 license 失效的原因有( )?

  • [x] A 超过数据库合法使用期限
  • [x] B 超过数据库规模范围
  • [x] C 超过 gnode 节点数量
  • [ ] D 更换网卡

正确答案: ABC

解析: 下发的 License 会包含:使用期限、数据规模、gnode 节点数量等信息。

10、企业管理器 GBaseDataStudio 能够实现以下哪些功能( )?

  • [x] A 查看集群环境日志
  • [x] B 创建和删除用户
  • [x] C 诊断存储过程和函数
  • [x] D 执行 SQL 脚本

正确答案: ABCD

解析: 企业管理器作为集群的图形化客户端,可以实现各种数据库操作并可视化数据库对象。

11、以下关于企业管理器 GBaseDataStudio 说法正确的是( )?

  • [x] A 通过 JDBC 连接数据库
  • [x] B 可以用它执行加载操作
  • [x] C 它是 8a 数据库的图形化客户端
  • [ ] D 它只能用在 Windows 系统平台

正确答案: ABC

解析: 企业管理器作为集群的图形化客户端,提供 Linux 版和 Windows 版。

12、以下有关 gcadmin 命令,说法正确的是( )?

  • [x] A gcadmin 命令可以在 gcluster 节点执行;
  • [ ] B gcadmin 命令可以在 node 节点执行;
  • [x] C 操作系统 root 用户,默认不可以执行 gcadmin 命令查看集群状态;
  • [ ] D gcadmin 命令在没有 initnodedatamap 前不能使用;

正确答案: AC

13、gcluster_services all info 命令有可能查看到以下哪些进程( )?

  • [ ] A gcware
  • [x] B gcluster
  • [x] C gcrecover
  • [ ] D gcmonit

正确答案: BC

解析: gcluster_services all info 命令用于查看 gcluster 和 gcrecover 等进程的运行状态。

[gbase@gbase8a01 ~]$ gcluster_services all info
/opt/gbase/192.168.6.72/gcluster/server/bin/gclusterd is running
/opt/gbase/192.168.6.72/gcluster/server/bin/gcrecover is running
/opt/gbase/192.168.6.72/gnode/server/bin/gbased is running
/opt/gbase/192.168.6.72/gnode/server/bin/gc_sync_server is running

14、以下选项中,属于 gnode 节点模块进程的是( )

  • [ ] A gclusterd
  • [ ] B gcware
  • [x] C gbased
  • [x] D gc_sync_server
  • [ ] E gcrecover

正确答案: CD

解析: gbased 和 gc_sync_server 是 gnode 节点模块的相关进程。

15、GBase 8a MPP Cluster 中,关于 SQL 描述错误的是( )

  • [ ] A SQL 的关键字不区分大小写,例如 SELECT 和 select 都可以正确执行。
  • [ ] B 默认 SQL 执行采用自动提交方式,跟 oracle 默认非自动提交不同,不用单独写 commit 语句。
  • [x] C 数据库、表、列等标识符名称默认支持的字符为字母、数字、一下划线、中文组合,名称长度有最大长度限制。
  • [x] D 数据库、表、列等标识符名称中包括特殊字符或关键词时,需要加反引号包围,例如 gs-table.gs-column

正确答案: CD

解析: 需要设置参数 cluster_extend_ident 参数为 1 时,才支持中文库名、表名,默认此参数为 0,不支持中文。数据库、表、列等标识符名称中包括特殊字符或关键词时,每个对象需要加反引号包围,例如 gs-table.gs-column,不能加到一起。

16、Student 包含 SId,Sname,Sdept,Sage 等字段,以下 INSERT 语句正确的是( )

  • [x] A INSERT Student (SId , Sname) SELECT user_id, user_Name FROM user_info
  • [x] B INSERT INTO Student (SId , Sname) SELECT user_id, user_Name FROM user_info
  • [x] C INSERT INTO Dept_age (Sdept , Avg_age) SELECT Sdept, AVG(Sage) FROM Student GROUP BY Sdept
  • [ ] D INSERT INTO Student SELECT user_id, user_Name FROM user_info

正确答案: ABC

解析: 表名后不写明要插入的列是错误的。

17、数据操作语句 DML 包含( )

  • [ ] A SELECT
  • [x] B INSERT
  • [x] C DELETE
  • [x] D UPDATE

正确答案: BCD

解析: DML 不包含 SELECT 查询语句。

18、以下 INSERT 语句正确的是( )

  • [x] A INSERT INTO score (sid, score) VALUES (1, 80);
  • [ ] B INSERT INTO score [sid, score] VALUES (1, 80);
  • [ ] C INSERT score (sid, score) VALUES ((1, 80), (2, 76), (3, 91), (4,86), (5,89));
  • [x] D INSERT score (sid, score) VALUES (1, 80), (2, 76), (3, 91), (4,86), (5,89);

正确答案: AD

解析: 插入多个值时,元组集合外不用再加一层圆括号。

19、哈希分布表的哈希列的约束是( )

  • [ ] A 哈希列的值不能是空值。
  • [ ] B 哈希列只支持 1 列。
  • [x] C 哈希列的值支持的数据类型是整型、DECIMAL 或 VARCHAR。
  • [x] D UPDATE 语句不能改写哈希列的值。

正确答案: CD

解析: v95 版本的 8a 支持 hash 列可以是 null 值和多列 hash。

20、使用 union 或 union all 时,需( )

  • [x] A 必须保证各个 select 集合的结果有相同个数的列。
  • [ ] B 必须保证各个 select 集合相同次序上的列名相同。
  • [x] C 必须保证各个 select 集合对应的列类型是一样的。
  • [x] D 各个 select 集合相同次序上的列名可以不同。

正确答案: ACD

解析: 各个 select 集合投影列相同次序上的列类型一致,个数一致,列名可以不同,以第一个 select 列名显示。

21、表连接类型分为( )两大类

  • [x] A 内连接
  • [x] B 外连接
  • [ ] C 左连接
  • [ ] D 右连接

正确答案: AB

解析: 表连接类型分为内连接和外连接。

22、以下条件分支语句正确的是( )

  • [ ] A CASE Ssex WHEN '男' THEN '帅哥' WHEN '女' THEN '美女' ELSE '不明'
  • [x] B CASE Ssex WHEN '男' THEN '帅哥' WHEN '女' THEN '美女' ELSE '不明' END
  • [x] C CASE Ssex WHEN '男' THEN '帅哥' WHEN '女' THEN '美女' END
  • [x] D CASE WHEN Ssex='男' THEN '帅哥' WHEN Ssex='女' THEN '美女' ELSE '不明' END

正确答案: BCD

解析: 语句末尾要有 END

23、查询日期月份最后一天,以下语句哪些是正确的()

  • [ ] A select last_day('2019年2月10日')
  • [x] B select last_day('2019-2-10 12:10:30')
  • [x] C select last_day('19-02-10')
  • [x] D select last_day('190210')
  • [ ] E 以上皆错

正确答案: BCD

解析: 含中文字符日期不是标准可支持的日期类型格式。

24、获取当前日期时间,可以使用( )函数。

  • [x] A SYSDATE
  • [x] B NOW
  • [x] C CURDATETIME
  • [x] D CURRENT_TIMESTAMP
  • [x] E CURRENT_DATETIME

正确答案: ABCDE

解析: 全部都正确,均能获取当前日期时间。

25、SELECT IFNULL(country, '未知') RESULT FROM worldcup 语句中控制流函数 IFNULL 可以替换为()。

  • [x] A CASE WHEN THEN ELSE END
  • [x] B IF
  • [x] C NVL
  • [ ] D NULLIF

正确答案: ABC

解析: NULLIF 函数是判断表达式是真还是假,与 IFNULL 返回值不同,所以不能替换。

26、字符串连接语句正确的是()

  • [x] A select '我已使用' || 20 || '天GBase 8a'
  • [ ] B select '我已使用' + '20' + '天GBase 8a'
  • [x] C select concat('我已使用', 20, '天GBase 8a')
  • [x] D select concat('我已使用', '20', '天GBase 8a')

正确答案: ACD

解析: + 为数值相加运算符,没有字符串拼接的功能。

27、授予用户权限组权限,正确的语句是( )

  • [x] A grant "role1" to bizMan@localhost;
  • [x] B grant role1 to bizMan@localhost;
  • [ ] C grant "role1" from bizMan@localhost;
  • [ ] D grant role1 from bizMan@localhost;

正确答案: AB

解析:
grant 后面用 to 关键词,用户组加双引号,认为是数据库对象;若是单引号,则会认为是字符串。

28、GBase 8a 的权限级别包括( )

  • [x] A 全局级
  • [x] B 数据库级
  • [x] C 表级
  • [x] D 列级
  • [x] E 过程级

正确答案: ABCDE

29、以下授予表插入数据权限的语句正确的是( )

  • [ ] A grant insert("ID") on courseware.test01 from bizMan@localhost;
  • [x] B grant insert(ID) on courseware.test01 to bizMan@localhost;
  • [ ] C grant insert("ID") on *.test01 to bizMan@localhost;
  • [x] D grant insert("ID") on courseware.test01 to bizMan@localhost;

正确答案: BD

解析:

  • grant insert("ID") on courseware.test01 from bizMan@localhost;” 错误在于 grant 后面的关键词应该是 to
  • grant insert("ID") on *.test01 to bizMan@localhost;” 的错误在于表级权限在数据库级权限下,需写明具体的数据库。

30、回收用户的 Role 权限,正确的语句是( )

  • [ ] A revoke role1 to bizMan@localhost;
  • [ ] B revoke *.role1 from bizMan@localhost;
  • [x] C revoke role1 from bizMan@localhost;
  • [x] D revoke "role1" from bizMan@localhost;

正确答案: CD

解析: revoke 后面用 from 关键词,用户组加双引号,认为是数据库对象;若是单引号,则会认为是字符串。

31、STUDENT 表分片有一个副本,以下( )语句等价于 SELECT COUNT(*) FROM STUDENT

  • [x] A SELECT COUNT(1) FROM STUDENT;
  • [ ] B select TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS from performance_schema.tables where TABLE_SCHEMA='courseware' and TABLE_NAME='student';
  • [x] C select TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS/2 from performance_schema.tables where TABLE_SCHEMA='courseware' and TABLE_NAME='student';
  • [ ] D select TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS/3 from performance_schema.tables where TABLE_SCHEMA='courseware' and TABLE_NAME='student';

正确答案: AC

解析: COUNT(*)COUNT(1) 都表示总条数;performance_schema.tables 保存的是所有分片的表条数,由于有一个副本,2倍数据,需要将 TABLE_ROWS 除以 2。

32、目前 GBase 8a 的 hash 分布列支持哪几种数据类型( )

  • [x] A varchar
  • [ ] B char
  • [x] C int
  • [x] D decimal

正确答案: ACD

解析: hash 分布列当前只支持整数类型、varchar、decimal 数据类型

33、hash 索引列不支持数据类型是( )

  • [ ] A DECIMAL
  • [x] B TEXT
  • [x] C BLOB
  • [ ] D VARCHAR

正确答案: BC

解析: hash 分布列当前只支持整数类型、varchar、decimal 数据类型

34、以下哪个操作能释放 t 表数据占用的物理空间( )

  • [x] A DROP TABLE t;
  • [ ] B RENAME TABLE t TO a;
  • [ ] C DELETE FROM t;
  • [x] D TRUNCATE TABLE t;

正确答案: AD

解析: DROP TABLE 和 TRUNCATE TABLE 可以释放数据占用的空间

35、使用 ALTER TABLE 语句能修改表字段的( )
(多选题,2分)

  • [ ] A 数据类型
  • [ ] B 默认值
  • [x] C varchar 类型的长度
  • [x] D 名字

正确答案: CD

解析: ALTER TABLE 语句不支持改变量的数据类型、改变量的属性(NOT NULL、默认值)、改变表的字符集;可以变列的长度,只能变大,不能变小;可改变名称

判断题

1、集群镜像是两个统一管理的VC,为了实现数据实时同步、相互备份、负载分担的目的而建立的镜像关系。

  • [x] 正确
  • [ ] 错误

正确答案: 正确

2、Candidate 是 gcware 集群竞选 Leader 时的角色,选举完成,该角色会自动成为 Leader 的备份。

  • [ ] 正确
  • [x] 错误

正确答案: 错误

3、GBase 8a 集群内,单个节点的主分片越多,数据查询性能越高。

  • [ ] 正确
  • [x] 错误

正确答案: 错误

4、GBase 8a 集群数据库安装成功后,数据库的初始管理员为 root,密码为空。( )

  • [x] 正确
  • [ ] 错误

正确答案: 正确

解析: 数据库安装完成后,数据库自动生成管理员账户 root,初始密码为空。使用 root 账户登录数据库后执行初始化数据库操作,数据库才能正常使用。

5、图形化的企业管理器使用 JDBC 接口连接 GBase 8a 集群,因此也可以通过设置参数,使得企业管理器实现连接时的高可用和负载均衡。

  • [x] 正确
  • [ ] 错误

正确答案: 正确

6、运行在非 gcluster 节点的命令行客户端,必须使用“-h”参数。( )

  • [x] 正确
  • [ ] 错误

正确答案: 正确

解析: gccli -h 参数用于指定通过哪个服务器登录数据库。除非数据库客户端与登录服务器在同一节点,否则需要指定 -h 参数指明要登录的服务器。

7、GBase 8a 数据库的集群管理工具 gcadmin,随 GBase 8a 数据库一起安装,部署在 gcluster/server/bin 目录中。

  • [ ] 正确
  • [x] 错误

正确答案: 错误

解析: gcadmin 是专门为 DBA 管理员提供的用于对集群进行管理和监控的工具软件。随 GBase 8a 数据库一起安装,部署在 gcware/bin 目录中。

8、GBase 8a MPP Cluster v9 版本增加虚拟集群的概念,当没有多个 VC 情况下,8a 集群为兼容模式,会默认包括一个 VC,id 是 vc00001,在访问路径中可以省略。( )

  • [x] 正确
  • [ ] 错误

正确答案: 正确

解析: GBase 8a MPP Cluster v9 增加了虚拟集群概念,在没有多个 VC 的情况下默认包括一个 VC,id 为 vc00001,可以在访问路径中省略。

9、其他数据库表要迁移到 GBase 8a MPP Cluster 时,当遇到跟 8a 支持的数据类型关键字不一致时,必须要把列的数据类型完全改写成 8a 支持的数据类型才能正确建表。( )

  • [ ] 正确
  • [x] 错误

正确答案: 错误

解析: 8a 支持隐式转换,对于一些数据类型,例如 bool 类型、int2 等,能自动转换成 8a 支持的列类型。

10、GBase 8a 的 DELETE 支持级联删除,即关联表的数据同时被删除。

  • [ ] 正确
  • [x] 错误

正确答案: 错误

解析: GBase 8a 的 DELETE 操作不支持级联删除,一次只能删除一个表中的数据。

11、GBase 8a 的 DELETE 操作会实际删除数据,重新创建智能索引,所以删除数据操作的性能较低。

  • [ ] 正确
  • [x] 错误

正确答案: 错误

解析: GBase 8a 的 DELETE 操作会打删除标记,不实际删除数据。

12、系统函数在 SQL 语句中,经常出现的位置在 SELECT 投影列中,或者 WHERE 子句中的查询条件中。

  • [x] 正确
  • [ ] 错误

正确答案: 正确

13、GBase 8a 数据库用户名大小写不敏感( )

  • [ ] 正确
  • [x] 错误

正确答案: 错误

解析: GBase 8a 数据库用户名大小写是敏感的。

写在最后

本文仅记录课后练习题以及对应答案的解析,并非 GBase 8a GDCA 实际考试考题,仅供学习参考。

往期精彩文章

达梦数据库安装最详细教程
一招教你学会达梦数据库的免密登录
一文讲透达梦数据库的大小写敏感
效率翻倍!达梦数据库 disql 使用技巧全攻略 达梦数据库参数配置与一键优化指南 达梦 AWR 报告快速上手指南 金仓数据库 KingbaseES V9 单机安装指南
KingbaseES KSQL 免密登录的几种方式
KingbaseES 控制文件冗余与恢复秘籍
南大通用 GBASE 8s V8.8 数据库最全安装指南
GBase 8a MPP 集群部署最佳实践
GBase 8s GDCA 认证课后练习题大全(题库)
GBase 8s 数据库巡检报告及一键巡检脚本
YashanDB 一键生成 AWR 报告
YashanDB 数据库安装部署


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
of
25墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜