同学们有考HCCDP-GaussDB工作级开发者的没?整理了一部分题库,需要的再学可以一起学习。完整的题库已经发布在“题主”小程序上了,可以自己去找一下。
以下哪一项系统视图可用于定位单个session在特性级上的内存问题?
A、SESSION_STAT
B、SESSION_TIME
C、SESSION_STAT_ACTIVITY
D、SESSION_MEMORY_DETAIL
答案:D
解析:SESSION_MEMORY_DETAIL视图提供会话级内存上下文的详细分配信息,可用于分析单个会话在特定功能(如排序、哈希、缓存等)上的内存使用情况,适合定位特性级内存问题。其他视图多用于会话统计、活动状态或时间信息。
以下关于匿名块的组成中,非必要的是哪一项?
A、Declare
B、Declaration statements
C、END
D、BEGIN
答案:B
解析:匿名块的基本结构为:[DECLARE] ... BEGIN ... END; 其中DECLARE部分(声明语句)是可选的,当没有变量声明时可以省略。BEGIN和END是必要关键字。因此“Declaration statements”(声明语句)本身是非必要的。
以下哪一项扫描算子属于GaussDB分布式版数据库特有?
A、ValuesScan
B、Stream
C、CteScan
D、CstoreScan
答案:B
解析:Stream算子是GaussDB分布式版本中特有的,用于在数据节点(DN)之间或计算节点(CN)与DN之间进行数据流传输,是实现分布式查询计划的关键算子。其他算子如ValuesScan(值扫描)、CteScan(公共表表达式扫描)、CstoreScan(列存扫描)在集中式数据库中也可能存在。
用户业务通过以下哪个组件访问GaussDB数据库?
A、DN
B、GTM
C、CM
D、CN
答案:D
解析:CN(Coordinator Node,协调节点)是GaussDB分布式架构中接收客户端连接、解析SQL、生成分布式执行计划的组件,用户业务通过CN访问数据库。DN(Data Node)存储数据,GTM(Global Transaction Manager)管理全局事务,CM(Cluster Manager)负责集群管理。
GaussDB整个系统网络划分为( )个平面?
A、2
B、3
C、4
D、5
答案:A
解析:GaussDB分布式集群网络通常划分为两个平面:业务平面(用于客户端与CN、CN与DN之间的数据访问)和管理平面(用于集群管理、监控、备份等内部通信)。因此正确答案为A。
要级联删除用户创建的表等数据库对象,使用关键字
A、STRICT
B、CASCADE
C、USAGE
答案:B
解析:在删除用户(DROP USER)或删除其他对象时,使用CASCADE关键字可以级联删除依赖该对象的所有子对象(如表、视图等)。STRICT为严格模式(有依赖则报错),USAGE是权限关键字。
创建数据库可以指定兼容参数
A、Mysql
B、Ora
C、TD
D、SQL Server
答案:B
解析:在GaussDB中创建数据库时,可通过DBCOMPATIBILITY参数指定兼容模式,常用值为‘MYSQL’(兼容MySQL语法)、‘ORA’(兼容Oracle语法)、‘TD’(兼容Teradata语法)。题目中“Ora”即对应Oracle兼容模式,为可指定参数之一。
如果要在某个模式下创建对象,该用户对此模式的应具有( )权限
A、EXECUTE
B、SELECT
C、CREATE
D、USAGE
答案:C
解析:在某个模式(Schema)下创建表、视图、函数等对象,用户需要拥有该模式的CREATE权限(通过GRANT CREATE ON SCHEMA schema_name TO user_name授予)。USAGE权限允许访问模式中的现有对象,但不包括创建新对象。
CREATE TABLE AS 创建表,后面需要添加查询语句类型
A、INSERT
B、UPDATE
C、SELECT
D、DELETE
答案:C
解析:CREATE TABLE AS语句用于基于查询结果创建新表,语法为:CREATE TABLE new_table AS SELECT ...;因此后面必须跟随SELECT查询语句。INSERT、UPDATE、DELETE不适用于此语法。
表设计时选择分布列的原则包括
A、作为分布列的字段尽量聚集
B、选择查询中关联条件作为分布列
C、尽量选择在查询中存在形如 col =10001过滤条件的字段
答案:B
解析:选择分布列(分布键)时应优先考虑经常作为关联条件(JOIN条件)的字段,这可以减少分布式查询时的数据重分布(shuffle)开销,提升关联查询性能。A项错误,分布列应尽量分散以均衡数据;C项适用于范围查询,但等值过滤条件不一定适合作为分布列(可能导致数据倾斜)。
以下哪类索引只支持等值查询?
A、Btree索引
B、Hash索引
C、Gin索引
D、Gist索引
答案:B
解析:Hash索引基于哈希值快速定位,仅支持等值查询(=),不支持范围查询(>、<、BETWEEN等)。Btree索引支持等值查询和范围查询,Gin和Gist索引用于全文检索或空间数据。
下列关于表空间操作约束,描述有误的一项是
A、删除表空间时,不受事务保护,若删除失败,表空间已被破坏,不可使用
B、只有系统管理员可以创建表空间
C、系统管理员默认拥有执行 DROP TABLESPACE 命令权限
D、允许在一个事务块内部执行创建和删除表空间操作
答案:D
解析:在GaussDB中,创建和删除表空间(TABLESPACE)属于DDL操作,通常不允许在事务块内部执行(即不能与普通DML语句混在同一事务中),这类操作是自动提交的。因此D项描述错误。A、B、C项描述符合表空间操作的常见约束。
下列关于分区设计,描述有误的一项是?
A、针对已经存在的表进行分区,最好将数据迁移完后在建索引
B、如果要充分使用分区表的查询优势,必须使用分区时的字段作为过滤条件
C、分区前后需要保证全局唯一性
D、VACUUM 或 ANALYZE 只会对主表起主作用
答案:D
解析:VACUUM和ANALYZE操作在分区表上可以针对主表执行,也可以对各个分区子表分别执行,且通常会自动传播到分区。D项“只会对主表起主作用”描述错误。A、B、C项关于分区设计的数据迁移、查询条件、唯一性约束的描述基本正确。
在系统崩溃时可以利用哪种日志进行恢复
A、系统日志
B、性能日志
C、pg_xlog
D、pg_clog
答案:C
解析:在GaussDB(基于PostgreSQL)中,pg_xlog(或pg_wal)目录存储了事务的WAL(Write-Ahead Logging)日志,用于系统崩溃恢复和PITR(时间点恢复)。pg_clog存储事务提交状态,系统日志和性能日志主要用于监控和问题诊断,不直接用于崩溃恢复。
下列哪种类型的日志记录事务最终状态的日志?
A、系统日志
B、性能日志
C、pg_xlog
D、pg_clog
答案:D
解析:pg_clog(或pg_xact)存储事务提交日志(Commit Log),记录每个事务的最终状态(已提交、已回滚等),用于多版本并发控制(MVCC)中判断事务可见性。pg_xlog存储WAL日志,系统日志和性能日志不直接记录事务状态。
用来清理残留事务的工具叫
A、gs_clean
B、gs_guc
C、gs_dump
D、gs_ctl
答案:A
解析:gs_clean是GaussDB提供的工具,用于清理残留的两阶段事务(prepared transaction)和孤儿事务(orphaned transaction),通常在分布式事务异常后使用。gs_guc用于配置参数,gs_dump用于逻辑备份,gs_ctl用于数据库实例控制。
数据库利用()进行死锁检测
A、DAG
B、RPC
C、WFG
D、DLC
答案:C
解析:数据库死锁检测通常使用WFG(Wait-for Graph,等待图)模型,通过检测事务间的等待环路来判断死锁是否存在。DAG是有向无环图,RPC是远程过程调用,DLC不是标准死锁检测缩写。
MVCC 用于解决( )事务冲突
A、读读
B、写写
C、读写
D、上述都包括
答案:C
解析:MVCC(多版本并发控制)主要解决读写事务冲突(即读不阻塞写、写不阻塞读),通过为数据维护多个版本来避免读操作被写操作阻塞,并提高并发性能。写写冲突仍需要通过锁机制解决。
CLOG 日志缓冲区使用什么算法()
A、FIFO
B、LRU
C、SLRU
D、RANDOM
答案:C
解析:CLOG(Commit Log)缓冲区采用SLRU(Segmented LRU,分段最近最少使用)算法进行页面管理,该算法是LRU的变体,将缓冲区分为多个段以提高命中率和并发性能。
MULTXACT 日志存储的内容针对的是记录的哪部分()
A、xmin
B、xmax
C、data
D、cid
答案:B
解析:MULTXACT(MultiXact)日志用于存储多个事务ID(如行锁由多个事务共享时),主要与元组的xmax字段相关,记录哪些事务对行进行了锁定或更新。xmin记录插入事务ID,data存储实际数据,cid(command id)记录命令标识。
CSN 的推进和分配在( )管理
A、GTM
B、CN
C、DN
D、CM_SERVER
答案:A
解析:在GaussDB分布式架构中,CSN(Commit Sequence Number,提交序列号)由GTM(Global Transaction Manager)全局事务管理器统一分配和推进,用于确定事务的全局提交顺序和可见性。
以下哪些选项不是 FusionInsight Manager 页面中可以进行的集群运维操作有?
A、集群启停
B、实例状态监控
C、实例主备替换
D、CN 自动剔除
答案:D
解析:FusionInsight Manager是华为云大数据平台的运维管理界面,支持集群启停、实例监控、主备切换等操作。CN(Coordinator Node)自动剔除通常由GaussDB集群内部机制(如CM)自动完成,不属于FusionInsight Manager页面的直接运维操作。
以下关于GDS的原理的描述中,说法错误是哪一项?
A、充分使用多DN并发
B、GDS多进程并行导入
C、GDS多线程并行导入
D、多个GDS并行导入
答案:B
解析:GDS(GaussDB Data Service)是用于高速数据导入导出的工具,其采用多线程并行处理(C项)而非多进程并行(B项),以降低进程间切换开销并提升效率。GDS支持多DN并发(A项)和部署多个GDS实例并行导入(D项)。因此B项说法错误。
使用DRS进行迁移时,选择同步对象,以下说法哪个是正确的?
A、只能进行表级同步
B、只能进行库级同步
C、只能进行导入对象文件
D、以上都可以选择
答案:D
解析:DRS支持多种同步对象选择方式:表级同步(选择部分表)、库级同步(选择整个schema或库)、以及导入对象文件(通过模板文件指定对象)。因此D项“以上都可以选择”正确。
ODBC中,用于释放句柄的接口是以下哪个?
A、SQLCommit
B、SQLDisconnect
C、SQLFreeHandle
D、SQLClose
答案:C
解析:在ODBC编程中,SQLFreeHandle函数用于释放环境句柄、连接句柄、语句句柄等ODBC资源。SQLCommit提交事务,SQLDisconnect断开连接,SQLClose不是标准ODBC函数(可能是SQLCloseCursor或SQLFreeStmt)。
以下关于用户和角色的描述中,正确的是哪一项?
A、角色是一种权限集合,应该具有登录数据库并执行SQL的能力
B、用户只能被赋予一个角色
C、对用户权限的管理,可以简化为对角色权限的管理
D、用户是行为,角色是实体
答案:C
解析:角色是权限的集合,通过对角色授予权限并将角色赋予用户,可以集中管理用户权限,简化权限维护工作,因此C正确。A错误,角色默认不可登录(除非特殊设置);B错误,用户可以被赋予多个角色;D描述不准确,用户和角色都是数据库中的实体对象。
使用DRS进行迁移,配置全量设置时,同步对象类型选项有同步表结构、同步数据、同步索引三种,以下哪个是必选项?
A、同步表结构
B、同步数据
C、同步索引
D、以上都是
答案:B
解析:在DRS全量迁移设置中,“同步数据”是必选项,因为迁移的核心是数据转移。同步表结构和同步索引可以根据需要选择,不一定必须勾选(例如目标表已存在时可只同步数据)。因此B项正确。
以下哪个模块不属于JDBC的组成部分?
A、Application API
B、JDBC API
C、JDBC Driver Manager
D、JDBC Driver
答案:A
解析:JDBC(Java Database Connectivity)的架构主要包括:JDBC API(供应用程序调用的接口)、JDBC Driver Manager(驱动管理器)、JDBC Driver(数据库驱动)。Application API不是JDBC标准组成部分,而是应用程序自身业务接口。
以下哪一项不属于存储过程的控制语句?
A、返回语句
B、赋值语句
C、循环语句
D、分支语句
答案:B
解析:存储过程的控制语句用于控制程序流程,包括返回语句(RETURN)、循环语句(LOOP、WHILE、FOR)、分支语句(IF、CASE)。赋值语句(如 := 或 SET)属于数据操作语句,不是流程控制语句。
在使用gs_dump工具进行导出的时候,如果希望指定数据库CN连接的端口号,应该使用以下哪个参数?
A、-s
B、-F
C、-p
D、-U
答案:C
解析:gs_dump的“-p”参数用于指定数据库连接端口号。例如“-p16000”。-s表示只导出模式(定义),-F指定输出格式,-U指定用户名。
使用UGO将Oracle数据库迁移至GaussDB,以下哪个版本暂时不支持进行迁移转化?
A、10g
B、11g
C、12c
D、18c
答案:A
解析:根据UGO的官方支持列表,通常支持Oracle 11g、12c、18c及以上版本进行迁移评估和转化,而对Oracle 10g及更早版本可能不再提供官方支持或存在功能限制。因此A项10g暂时不支持迁移转化。
在以下工具中,哪个工具适合分布式场景大批量数据的导入/导出?
A、gs_dump/gs_restore
B、Copy
C、Gsql元命令\copy
D、GDS
答案:D
解析:GDS(GaussDB Data Service)是专门为GaussDB分布式场景设计的高性能数据导入导出工具,支持多线程、多DN并发,适合TB/PB级别大批量数据的快速迁移。gs_dump/gs_restore主要用于逻辑备份恢复,Copy和\copy适合单表数据量不大的场景。
以下关于GaussDB高可用特性的描述中,正确的是?
A、RPO=0s
B、RPO=10s
C、RTO=20s
D、RTO=30s
答案:A
解析:GaussDB在最大保护模式(如1主2备同步复制)下可做到RPO(Recovery Point Objective,数据恢复点目标)为0,即不丢失已提交事务数据。RTO(Recovery Time Objective,恢复时间目标)通常为秒级,但具体时间取决于故障场景和配置,并非固定为20s或30s。因此A项正确。
以下物化算子中用于处理数据去重操作的是哪一项?
A、Material
B、Unique
C、Agg
D、SetOp
答案:B
解析:Unique算子用于在已排序的数据流上去除重复行(去重),是执行DISTINCT或UNIQUE约束时常用的物化算子。Material用于物化中间结果,Agg用于聚合(如GROUP BY),SetOp用于集合操作(UNION/INTERSECT/EXCEPT)。
在以下命令中,使用以下哪一个选项中的命令可以将查询结果集导出?
A、Copy t1 to '/data/input/t1_output.txt' delimiter '^'
B、Copy (select * from t1 where a2=1) to '/data/input/t1_output.txt' delimiter '^'
C、Gs_dump (select * from t1 where a2=1) to '/data/input/t1_output.txt' delimiter '^'
D、Gds (select * from t1 where a2=1) to '/data/input/t1_output.txt' delimiter '^'
答案:B
解析:COPY命令支持将查询结果导出到文件,语法为:COPY (query) TO 'file' [WITH] DELIMITER '分隔符'。因此B正确。A项导出整表(不含条件),C项gs_dump不支持直接导出查询结果,D项GDS用于分布式批量导入导出,语法不匹配。
进行数据迁移前,需要对迁移项目进行调研,以下哪个不属于调研范畴的内容?
A、迁移场景
B、迁移工具
C、数据量收集
D、业务压力
答案:B
解析:迁移前调研主要包括对迁移场景(全量/增量)、数据量、业务负载(TPS/QPS)等信息的收集,迁移工具的选择通常属于迁移方案设计阶段,不属于前期调研必须明确的内容。因此B项不属于调研范畴。
以下哪一项元数据命令用于列出数据库集簇中所有数据库的名称、所有者、字符集编码以及使用权限?
A、\db
B、\l
C、\dn
D、\du
答案:B
解析:在gsql中,\l(或\list)命令用于列出当前数据库集簇中的所有数据库信息,包括数据库名、所有者、编码、权限等。\db列出表空间,\dn列出模式,\du列出角色/用户。
使用Psycopg2安装包,需设置目录权限,如权限设置的按照最小权限,应该设置为以下哪个权限?
A、711
B、755
C、777
D、655
答案:B
解析:按照最小权限原则,Psycopg2安装目录通常设置为755(即owner可读写执行,group和其他用户可读执行),既能保证安装和运行所需的基本权限,又避免过度开放写权限带来的安全风险。777权限过大,711和655可能限制其他用户读取执行。