继续整理HCCDP-GaussDB理论题的题目,完整题库发在“题主”小程序上,需要的同学可以自己去绿泡泡上搜一下。
使用value less than范围分区时,分区键最多支持多少列?
A、3
B、4
C、5
D、6
答案:B
解析:在GaussDB中,使用VALUES LESS THAN进行范围分区时,分区键最多支持4列(即复合分区键最多4个列),超过则无法创建。
在满足业务精度的情况下,选择数据类型的优先级从高到低排序应为以下哪一项?
A、整数、NUMERIC、浮点数
B、浮点数、整数、NUMERIC
C、NUMERIC、整数、浮点数
D、整数、浮点数、NUMERIC
答案:D
解析:在数据库设计中,选择数据类型时应优先考虑精度高、计算效率好、存储空间小的类型。整数(如INT)精度高、运算快;浮点数(如FLOAT/DOUBLE)适合范围大但可能有精度损失;NUMERIC(DECIMAL)用于精确小数但计算开销大。因此优先级为:整数 > 浮点数 > NUMERIC。
计算数据库缓存命中率的方式正确的是以下哪一项?
A、tup_returned/(tup_returned + tup_fetched)
B、tup_fetched/(tup_returned + tup_fetched)
C、blks_read/(blks_read + blks_hit)
D、blks_hit/(blks_read + blks_hit)
答案:D
解析:数据库缓存命中率通常指共享缓冲区(shared buffer)的块命中率,计算公式为:blks_hit / (blks_hit + blks_read),其中blks_hit表示从缓存中读取的块数,blks_read表示从磁盘读取的块数。其他选项涉及元组返回与获取,不直接反映缓存命中率。
以下哪一个指令可用于开启三权分立?
A、gs_guc reload -N all -I all -c "enable_separation_of_duty=enable"
B、gs_guc reload -N all -I all -c "separation_of_duty=on"
C、gs_guc reload -N all -I all -c "enable_separation_of_duty=1"
D、gs_guc reload -N all -I all -c "enable_separation_of_duty=on"
答案:D
解析:在GaussDB中,开启三权分立的参数为“enable_separation_of_duty”,设置为“on”表示启用。因此正确命令为:gs_guc reload -N all -I all -c "enable_separation_of_duty=on"。注意参数名中的下划线需补全。
数字类型的变量赋值语句中,变量的值不可能是以下哪一项?
A、整数
B、字符
C、表达式
D、小数
答案:B
解析:数字类型(如INT、NUMERIC、FLOAT)的变量只能接受数值或结果为数值的表达式赋值,不能直接赋值为字符(如字符型文本)。字符类型需使用字符类型变量接收。
GaussDB执行SQL过程中,哪一项不是查询解析阶段的任务?
A、查询重写
B、词法分析
C、语法分析
D、语义分析
答案:A
解析:查询解析阶段主要包括词法分析、语法分析和语义分析,将SQL文本转换为内部语法树。查询重写属于查询优化阶段的任务,在解析之后进行,用于对语法树进行逻辑优化(如视图展开、谓词下推等)。
以下关于数据库常见架构的描述中,错误的是哪一项?
A、在Shared Disk架构下每个处理单元使用自己私有的CPU和内存,共享磁盘系统
B、在Shared Disk架构下,当存储器接口达到饱和的时候,可以通过增加计算节点来获取更高的性能
C、Shared Everything架构一般针对单个主机,完全透明共享CPU、内存、I/O
D、Shared Nothing架构下,系统通常需要将它的数据分布在多个节点的不同数据库中
答案:B
解析:Shared Disk架构中,所有节点共享同一存储系统,当存储接口(如网络、磁盘I/O)达到饱和时,增加计算节点并不能直接提升存储带宽,性能瓶颈仍在存储侧,因此B项描述错误。其他选项关于Shared Disk、Shared Everything、Shared Nothing的描述基本正确。
以下数据分布方式中,数据冗余度最大是哪一种?
A、Hash
B、List
C、Replication
D、Range
答案:C
解析:Replication(复制分布)会将全表数据复制到每个数据节点(DN),冗余度最大,存储开销最高,但可提升本地读取性能。Hash、List、Range分布通常将数据按规则分散存储,每个数据只存储一份(不含副本时),冗余度低。
以下哪个数据库产品,不能作为UGO迁移时的源端数据库?
A、MYSQL
B、ORACLE
C、DB2
D、SQLSERVER
答案:D
解析:根据华为UGO(Universal Graphic Operator)支持的源数据库列表,通常包括Oracle、MySQL、DB2等,但不包括SQL Server作为源端。SQL Server的迁移可能需要使用其他工具(如DRS)或第三方方案。
目前GaussDB支持的函数类型不包括以下哪一项?
A、IMMUTABLE
B、INPUTABLE
C、STABLE
D、VOLATILE
答案:B
解析:GaussDB支持的函数稳定性(Volatility)类别包括:IMMUTABLE(不可变,输入相同则输出恒定)、STABLE(稳定,在一次事务中输出不变)、VOLATILE(易变,每次调用可能变化)。INPUTABLE不是GaussDB支持的函数类型。
全局事务的ACID特性中,以下选项中的哪一种特性的定义是整个事务中的所有操作,要么全部完成,要么全部不完成,不可停滞在中间某个环节?
A、持久性
B、一致性
C、隔离性
D、原子性
答案:D
解析:原子性(Atomicity)指事务是一个不可分割的工作单元,事务中的操作要么全部成功,要么全部失败回滚,不能只执行部分操作。持久性指事务提交后永久保存,一致性指事务前后数据满足完整性约束,隔离性指并发事务间相互隔离。
以下关于物化视图的描述中,哪一项是错误的?
A、物化视图相比视图,查询性能得到了提升
B、物化视图将查询结果存放在磁盘中
C、物化视图的更新与视图相同是自动更新
D、物化视图与视图不同,需要使用命令从基表获取更新数据
答案:C
解析:物化视图是预先计算并存储查询结果的物理表,其数据不会自动随基表更新而实时更新,需要手动或定时刷新(REFRESH)。普通视图是虚拟表,查询时动态生成。因此C项“自动更新”描述错误,D项描述正确。A、B项符合物化视图特性。
在GaussDB逻辑架构中,由以下选项中的哪一个组件来负责共享配置和服务发现(服务注册和查找)?
A、ETCD
B、DN
C、OM
D、GTM
答案:A
解析:在GaussDB分布式架构中,ETCD用于存储集群元数据、配置信息,并提供服务发现功能,协调各节点(CN、DN)的状态。DN(Data Node)存储数据,OM(Operation Manager)负责运维管理,GTM(Global Transaction Manager)管理全局事务。
用于顺序扫描HDFS存储引擎的是哪一类扫描算子?
A、CstoreScan
B、ForeignScan
C、DfsScan
D、TidScan
答案:C
解析:在GaussDB中,访问HDFS(Hadoop分布式文件系统)存储引擎时使用DfsScan扫描算子,用于顺序扫描HDFS上的外部表数据。CstoreScan用于列存储表,ForeignScan用于其他外部数据源,TidScan用于按行ID扫描。
使用DRS数据复制服务进行迁移时,DRS通过哪种方式连接源端数据库的?
A、ODBC
B、JDBC
C、Psycopg
D、Gsql
答案:B
解析:DRS(Data Replication Service)通常使用JDBC(Java Database Connectivity)驱动连接各类源数据库(如Oracle、MySQL、PostgreSQL等),以实现数据抽取、转换和加载。JDBC跨平台性好,支持多种数据库,适合作为迁移工具的统一连接方式。
GaussDB创建的database,在ORA兼容性下,数据类型DATE会被替换为以下哪一个数据类型?
A、Timestamp(0) without timezone
B、Timestamp(0) with timezone
C、Datetime
D、Interval
答案:A
解析:在GaussDB的ORA(Oracle)兼容模式下,DATE类型会被映射为Timestamp(0) without timezone,即不含时区的时间戳,精度到秒,与Oracle DATE类型行为相似。
以下关于psycopg驱动的copy_to方法,以下哪项的参数描述是正确的?
A、Null: 文件中的文本表示NULL
B、Text: 要从中读取数据的类文件对象
C、Sep: 表中预期的列分隔符
D、Columns: 可迭代的列名导出。如果未指定,则不导出
答案:A
解析:在psycopg的copy_to方法(将表数据导出到文件)中,null参数用于指定文件中表示NULL值的文本(如\\N)。其他选项:要写入的目标文件使用file参数,sep指定列分隔符,columns指定要导出的列名(如未指定则导出全部)。因此A正确。
WDR snapshot的默认保存周期是多久?
A、3
B、7
C、8
D、11
答案:C
解析:在GaussDB中,WDR(Workload Diagnostic Report)快照数据默认保留8天,超过该期限的旧快照会自动清理。
DRS支持多种任务模式,DRS支持以下哪个任务模式?
A、全量
B、增量
C、全量+增量
D、以上都支持
答案:D
解析:DRS(Data Replication Service)支持全量迁移、增量迁移以及全量+增量(先全量后增量)三种任务模式,可根据业务需求选择。因此D项“以上都支持”正确。
以下关于INSERT语句的使用,描述错误的是哪一项?
A、批量插入的情况,执行多条INSERT INTO VALUES()的效率高于使用INSERT INTO TABLE1 VALUES (),(),()
B、禁止对存在多个唯一约束的表执行INSERT ON DUPLICATE KEY UPDATE
C、INSERT ON DUPLICATE KEY UPDATE不支持对主键或唯一约束的列上执行UPDATE
D、INSERT ON DUPLICATE KEY UPDATE如果插入多条数据,这些数据之间不允许存在主键/唯一约束冲突
答案:A
解析:批量插入时,使用单条INSERT语句插入多行(如VALUES (),(),())的效率通常高于执行多条独立的INSERT语句,因为减少了网络往返和SQL解析开销。因此A项描述错误。B、C、D项关于INSERT ON DUPLICATE KEY UPDATE的限制描述基本符合数据库约束逻辑。
访问HDFS存储引擎用的哪个扫描算子?
A、CstoreScan
B、ForeignScan
C、DfsScan
D、TidScan
答案:C
解析:在GaussDB中,访问HDFS(Hadoop分布式文件系统)存储引擎时使用DfsScan扫描算子,用于读取HDFS上的外部表数据。CstoreScan用于列存储表,ForeignScan用于其他外部数据源,TidScan用于按行ID扫描。
使用UGO进行评估任务创建,默认情况下,一个租户能创建多少个评估任务?
A、5
B、10
C、15
D、20
答案:B
解析:根据华为UGO(Universal Graphic Operator)的默认配额策略,一个租户(项目)默认最多可创建10个评估任务。具体限额可能随版本或配置调整,但题目中B为正确答案。
Psycopg使用Connection类中的connect方法连接数据库,以下关于Connect方法中配置参数的描述,正确的是哪一项?
A、conn_user: 用户名
B、databasename: 数据库名称
C、connect_password: 密码
D、host: 数据库IP
答案:D
解析:在Psycopg(PostgreSQL/GaussDB Python驱动)的connect方法中,常用参数为:user(用户名)、password(密码)、host(数据库IP或主机名)、database(数据库名称)。选项D描述正确,A、B、C项参数名不符合实际Psycopg规范(实际应为user、database、password)。
创建数据库评估任务时,以下哪些信息不是必须进行填写的?
A、源数据库类型
B、连接方式
C、主机类型
D、源库采集时间
答案:D
解析:创建数据库评估任务时,源数据库类型、连接方式和主机信息(如IP或主机名)通常是必填项,用于连接源库进行采集。源库采集时间(如开始和结束时间)通常用于性能数据采集,不是创建任务时必须指定的项目,可根据需要后续设置或使用默认范围。
在使用gs_dump工具进行数据库对象导出的时候,如果希望指定导出文件到特定的文件,应该使用以下哪个参数?
A、-U
B、-s
C、-f
D、-F
答案:C
解析:gs_dump的“-f”参数用于指定输出文件的路径和名称。例如“-f /data/backup.sql”。-U指定用户名,-s表示只导出模式(定义),-F指定输出格式(如c、p、t)。
在gsql元命令中,使用以下哪一个选项中的元命令可以连接到一个新的数据库
A、\\h
B、\\c
C、\\o
D、\\d
答案:B
解析:在gsql(GaussDB命令行工具)中,\\c 或 \\connect 元命令用于连接到新的数据库或切换连接。\\h 查看SQL帮助,\\o 设置输出文件,\\d 查看对象定义。
执行作业最终可用内存的计算公式是哪一项?
A、max_process_memory+shared_memory+cstore_memory
B、max_process_memory+shared_memory-cstore_memory
C、max_process_memory-shared_memory+cstore_memory
D、max_process_memory-shared_memory-cstore_memory
答案:D
解析:在GaussDB内存模型中,执行作业可用的动态内存(dynamic_memory)通常从max_process_memory中扣除shared_memory(共享内存)和cstore_memory(列存内存)等固定分配部分,因此计算公式为:max_process_memory – shared_memory – cstore_memory。
某程序如果需要调用ODBC完成返回结果集中某一列的数据,它需要调用ODBC中哪个接口?
A、SQLExecute
B、SQLGetData
C、SQLFetch
D、SQLResult
答案:B
解析:在ODBC编程中,SQLGetData函数用于从结果集中获取某一列的数据,尤其适用于变长数据类型或列数据较大时逐列提取。SQLExecute执行SQL语句,SQLFetch获取一行数据,SQLResult不是标准ODBC函数。
以下关于表空间的描述中,说法错误的是哪一项?
A、如果数据库所在的分区或者卷空间已满,又不能逻辑上扩展更多空间,可以在不同分区上创建和使用表空间,直到系统重新配置空间
B、管理员通过表空间可以设置占用的磁盘空间,用以在和其他数据共用分区的时候,防止表空间占用相同分区上的其他空间
C、GaussDB自带了一个表空间pg_default,用于存放系统字典表
D、表空间可以控制数据库数据占用的磁盘空间,例如当表空间所在磁盘的使用率达到90%时,数据库将被设置为只读模式
答案:C
解析:pg_default是GaussDB默认表空间,用于存储用户数据和部分系统数据,但系统字典表(如pg_catalog中的表)通常存放在pg_global表空间(或类似系统表空间)中。因此C项描述错误。A、B、D项关于表空间用途和管理的描述基本正确。
以下哪一项元命令用于退出gsql?
A、\\q
B、\\h
C、\\o
D、\\c
答案:A
解析:在gsql中,\\q(quit)元命令用于退出命令行工具。\\h查看帮助,\\o设置输出文件,\\c切换连接。
在连接GaussDB实例的时候,需要确保ECS与GaussDB实例互通。以下哪种情况下,无需设置ECS和GaussDB实例的安全组规则?
A、ECS与GaussDB实例在同一个AZ中
B、ECS与GaussDB实例在同一个VPC中
C、ECS与GaussDB实例在同一个子网中
D、ECS与GaussDB实例在同一个安全组中
答案:D
解析:当ECS和GaussDB实例属于同一个安全组时,默认安全组规则通常允许组内资源互相访问,无需额外设置安全组规则。若在不同安全组中,即便在同一VPC、子网或AZ中,仍需配置安全组规则放通相应端口。
在华为云数据管理服务DAS的库管理功能界面,使用以下哪个选项中的模块可以显示当前库名称、IP地址、字符集和可跳转的SQL窗口?
A、Schema列表
B、对象列表
C、库信息
D、元数据采集
答案:C
解析:在DAS的库管理界面,“库信息”模块通常显示数据库的基本信息,如库名、IP地址、端口、字符集等,并提供快捷入口(如SQL窗口)进行操作。Schema列表和对象列表主要用于展示数据库对象结构,元数据采集用于更新对象信息。
在以下命令中,使用以下哪一个选项中的命令可以以自定义归档形式导出表1的定义?
A、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -F c
B、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -F p
C、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -f c
D、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -f t
答案:A
解析:选项A中“-F c”表示使用自定义归档格式(custom format)导出,该格式支持压缩和并行恢复等特性。“-s”表示仅导出表定义(模式),“-t t1”指定导出表t1。B项为纯文本格式,C项参数写法有误(-f重复),D项为tar格式。
目前GaussDB支持JDBC的版本是以下哪个?
A、1.0
B、2.0
C、3.0
D、4.0
答案:D
解析:GaussDB当前主要兼容和支持JDBC 4.0及以上版本,以提供完整的数据库连接、事务管理和数据类型支持。JDBC 4.0是较广泛使用的稳定版本。
对于UTF-8字符集,CHAR(3)在PG兼容性下能存放几个中文字符?
A、2
B、3
C、4
D、5
答案:B
解析:在PG(PostgreSQL)兼容模式下,CHAR(3)表示固定长度为3个字符(character),而非字节。UTF-8编码下,一个中文字符通常占3-4个字节,但作为一个字符计数,因此CHAR(3)可以存储3个中文字符。
在华为云数据管理服务DAS的SQL操作功能界面,可以使用以下哪一个选项中的功能来提高SQL语句易读性?
A、执行SQL
B、执行计划
C、格式化
D、SQL提示
答案:C
解析:DAS的SQL编辑器提供“格式化”功能,可自动调整SQL语句的缩进、换行、关键字大小写等,使其结构清晰、易读。执行SQL用于运行查询,执行计划用于分析性能,SQL提示用于语法补全。
通过UGO进行对象迁移,迁移的流程有以下:1.迁移 2.对象校正 3.创建迁移项目 4.验证&应用 5.迁移计划,以下那个是正确的迁移详细流程?
A、35214
B、35124
C、35241
D、35142
答案:B
解析:UGO典型迁移流程为:3创建迁移项目 → 5迁移计划 → 1迁移 → 2对象校正 → 4验证&应用。因此正确顺序为35124。
Explain命令查看执行计划时,无法设置为以下哪一种格式?
A、TEXT
B、SQL
C、XML
D、JSON
答案:B
解析:EXPLAIN命令支持以TEXT、XML、JSON、YAML等格式输出执行计划,但不支持直接输出为SQL格式。SQL是查询语言本身,而非执行计划的展示格式。
日志归档的备份数据,对应的恢复种类为什么?
A、全量恢复
B、增量恢复
C、差量恢复
D、PITR恢复
答案:D
解析:日志归档(如WAL日志)通常用于支持PITR(Point-in-Time Recovery,时间点恢复),通过结合全量/增量备份和连续的归档日志,可以将数据库恢复到指定时间点。因此日志归档对应的恢复种类为PITR恢复。
UGO完成评估任务后,可以查看评估任务信息,以下哪个不属于评估任务信息中的内容?
A、源数据库分析
B、数据库模式
C、迁移时长评估
D、目标数据库评估
答案:C
解析:UGO(Universal Graphic Operator)评估任务主要分析源数据库对象、结构、兼容性等,并生成目标数据库的评估报告,包括源库分析、数据库模式(schema)信息、目标库评估等。迁移时长评估通常不在评估任务信息中直接提供,需根据数据量、网络等因素另行估算。
使用UGO进行评估任务查看时,以下哪个信息不能在“源数据库分析”界面中获取?
A、源库基本信息
B、性能信息
C、源库到目标库的兼容性
D、特征分析
答案:C
解析:“源数据库分析”界面主要展示源库本身的基本信息、性能数据和特征分析等,而源库到目标库的兼容性分析通常属于“迁移评估”或“目标数据库评估”部分,不在源库分析界面直接提供。
以下哪个参数用于开启和关闭WDR snapshot的功能?
A、wdr_snapshot_interval
B、enable_wdr_snapshot
C、wdr_snapshot_retention_days
D、create_wdr_snapshot
答案:B
解析:enable_wdr_snapshot参数用于控制是否开启WDR(Workload Diagnostic Report)快照功能,设置为on时开启,off时关闭。其他参数分别用于设置快照间隔(A)、快照保留天数(C)或手动创建快照(D)。
在JDBC的URL设置中,参数与参数之间使用以下哪种字符进行连接?
A、#
B、?
C、&
D、%
答案:C
解析:JDBC URL中,第一个参数前使用“?”与基础URL分隔,后续多个参数之间使用“&”连接,例如:jdbc:postgresql://host/db?param1=value1¶m2=value2。
生成WDR报告时指定的begin_snap_id和end_snap_id可通过以下哪张表获取?
A、dbe_perf.session_stat
B、snapshot.snapshot
C、dbe_perf.database_stat
D、snapshot.snap_global_os_threads
答案:B
解析:snapshot.snapshot系统表存储了WDR快照的元数据信息,包括快照ID(snap_id)、时间戳等,生成WDR报告时需要指定起止快照ID,可通过查询该表获取可用的快照ID范围。
在以下命令中,使用以下哪一个选项中的命令可以将导出表名为t1的单表定义?
A、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -F c
B、gs_dump postgres -p 16000 -s -f -t t1 /data/all.sql
C、gs_dump postgres -p 16000 -f /data/all.sql
D、gs_dump postgres -p 16000 -s -f /data/all.sql -F c
答案:A
解析:选项A中“-s”表示仅导出模式(定义),“-t t1”指定导出表t1,“-f /data/t1.sql”指定输出文件,“-F c”为自定义归档格式,符合导出单表定义的要求。B选项参数顺序有误(-f后应紧跟文件名),C和D未指定表名,会导出全部对象。
实例dynamic memory持续上涨,我们可以通过哪个视图定位是哪个memory_context占用?
A、memory_node_detail
B、shared_memory_detail
C、session_memory_detail
D、global_threadpool_status
答案:C
解析:session_memory_detail视图提供了会话级内存上下文的详细分配情况,可用于分析dynamic memory持续上涨时具体是哪个memory_context占用了过多内存。其他视图如memory_node_detail显示节点级内存,shared_memory_detail显示共享内存,global_threadpool_status显示线程池状态,不适用于细粒度内存上下文定位。
以下哪种机制可大幅减少数据的扫描量?
A、聚簇\\局部聚簇
B、分区表的剪枝机制
C、HASH分布数据
D、避免数据shuffle
答案:B
解析:分区表的剪枝(Partition Pruning)机制可在查询时根据条件自动跳过不需要扫描的分区,从而大幅减少数据扫描量,提升查询性能。聚簇和局部聚簇主要优化数据存储顺序,HASH分布影响数据分布均匀性,避免shuffle减少数据传输,但都不直接减少扫描量。
以下选项中的哪一种数据分布策略,会对指定列按照范围进行映射,把数据分布到对应数据节点中?
A、REPLICATION
B、HASH
C、RANGE
D、LIST
答案:C
解析:RANGE分布策略根据指定列的连续值范围(如数值、日期)将数据映射到不同的数据节点,适合按范围查询和管理的场景。REPLICATION是复制分布,HASH是哈希分布,LIST是按离散值列表分布。
execute immediate的使用场景不包括以下哪一项?
A、动态调用存储过程
B、动态调用匿名块
C、动态查询
D、开启动态游标
答案:D
解析:EXECUTE IMMEDIATE用于动态执行SQL语句或PL/SQL块,包括动态调用存储过程、匿名块和动态查询。但开启游标通常使用OPEN FOR语句(配合动态SQL),而非直接通过EXECUTE IMMEDIATE实现,因此D项不属于其典型使用场景。
由于安全原因,数据库的IP地址有时不能暴露在公网上,但是选择专线网络进行数据库迁移,成本又高。这种情况下,可以选择DRS以下哪种迁移方式进行数据迁移?
A、实时迁移
B、备份迁移
C、实时同步
D、数据订阅
答案:C
解析:DRS的实时同步功能通常支持通过代理或VPN等方式在私有网络环境中进行数据同步,无需将源库IP直接暴露在公网,同时避免了专线的高成本。实时迁移和备份迁移可能仍需要网络直接可达,数据订阅更适用于数据分发场景。
使用UGO进行语法迁移,需要进行数据库评估迁移,以下关于UGO的数据库评估迁移描述中,错误的是哪一项?
A、数据采集过程中,如果与源数据库的连接中断,系统内部的自动重试机制会定期测试其与源数据库的连接,并重试连接
B、下次重试连接时间取决于当前时间、检查测试连接和网络稳定性连接所需的时间、重试睡眠间隔的总和
C、一旦“确认数据库选择”后,“操作”到“重新评估”可以进行重新修改
D、确认数据库选择后,数据库评估页面“项目状态”由“评估-成功 待确认目标数据库”变为“完成创建迁移项目”
答案:C
解析:在UGO中,一旦确认数据库选择并进入下一步,通常不能再通过“重新评估”修改已确认的目标数据库类型或评估参数,需要重新创建评估任务。因此C项描述错误。A、B、D项描述符合UGO评估迁移的常见流程。
以下哪个驱动是GaussDB ODBC中使用的驱动?
A、psqlodbc
B、oracle odbc
C、db2 odbc
D、gaussdb odbc
答案:A
解析:GaussDB基于PostgreSQL生态开发,其ODBC驱动通常使用PostgreSQL的官方ODBC驱动“psqlODBC”(也称为PostgreSQL ODBC Driver)。虽然可能有定制优化,但驱动名称和基础仍为psqlodbc。
以下不属于扫描算子的是哪一项?
A、SeqScan
B、CstoreScan
C、IndexScan
D、Append
答案:D
解析:SeqScan(顺序扫描)、CstoreScan(列存储扫描)、IndexScan(索引扫描)均属于扫描算子,用于从表中读取数据。Append算子用于合并多个子查询结果(如UNION ALL),不属于扫描算子,而是连接或集合操作算子。
在华为云数据管理服务DAS的SQL操作功能界面,可以使用以下哪一个选项中的模式使得每次执行SQL时,保留之前的结果集,创建新标签页显示新结果集?
A、覆盖模式
B、追加模式
C、累加模式
D、更新模式
答案:B
解析:在DAS的SQL编辑器中,追加模式(或称为“新建标签页”模式)会在每次执行SQL时保留之前的结果集,并创建一个新的标签页来显示最新查询结果,便于对比和分析历史执行结果。覆盖模式会替换当前结果,累加和更新模式不适用于此场景。
通过以下哪个视图可以获取实例工作线程/辅助线程列表,用户判断线程的运行状态?
A、SESSION_STAT
B、THREAD_WAIT_STATUS
C、POOLER_STATUS
D、REPLICATION_STAT
答案:B
解析:THREAD_WAIT_STATUS视图用于查看实例中各工作线程(如后台线程、辅助线程)的状态、等待事件等信息,适合用于判断线程运行状态。其他选项如SESSION_STAT用于会话统计,POOLER_STATUS用于连接池状态,REPLICATION_STAT用于复制状态,均不直接提供工作线程详细列表与运行状态。
在JDBC Connection接口的prepareStatement方法中,SQL语句的IN占位符使用以下哪种字符?
A、*
B、?
C、.
D、~
答案:B
解析:JDBC中预编译语句(PreparedStatement)使用问号“?”作为占位符(placeholder),用于表示SQL语句中的参数位置,后续通过setXXX方法填充实际值。
分布式数据库业务设计应遵循以下哪一条原则?
A、大量用分布式事务,能用就用,不能用,拆表也要用,极大化应用分布式数据库的分布式特性。
B、合理设计业务,尽量避免分布式事务,从而提高业务并发、性能,降低复杂性。
C、领导说怎么写就怎么写。
D、我是开发,我想怎么写就怎么写。
答案:B
解析:在分布式数据库设计中,分布式事务通常涉及跨节点协调,会带来性能开销和复杂性。合理设计业务逻辑、数据分布和事务边界,尽量避免不必要的分布式事务,有助于提高系统并发性能并降低运维复杂度,是推荐的分布式数据库设计原则。
某客户使用DRS将Oracle迁移至GaussDB数据库时,可以根据业务场景选择对应的对象进行数据同步,支持的类型不包含以下哪项?
A、指定某个schema下的部分table同步到同一个database
B、指定部分schema下的所有table同步到同一个database
C、指定部分schema下的部分table进行同步到不同database
D、按模板填写需要同步的对象信息进行同步
答案:C
解析:DRS(Data Replication Service)通常支持将源库对象同步到目标库的同一个database中,不支持在同一个迁移任务中将不同schema下的部分表同步到不同的目标database中。选项C描述的跨多个目标database的同步场景不属于DRS常规支持范围。
以下哪项视图可用帮助定位特性级细粒度时延性能问题?
A、SESSION_STAT
B、GSTAT_DATABASE
C、SESSION_STAT_ACTIVITY
D、WAIT_EVENTS
答案:D
解析:WAIT_EVENTS视图记录了各类等待事件(如I/O、锁、网络等)的详细统计信息,可用于分析SQL执行过程中细粒度的时延分布,帮助定位特性级性能瓶颈。其他视图多用于会话统计、数据库全局状态或活动会话信息,不具备等待事件的细粒度时延分析能力。
在一个在线社交平台的用户数据库设计中,需要按照用户年龄段将数据分布到对应的数据节点中。以下选项中,哪种数据分布策略最适合这个场景?
A、REPLICATION
B、HASH
C、RANGE
D、LIST
答案:C
解析:按照年龄段(数值范围)进行数据分布时,RANGE分布策略可以依据指定的列(如年龄)的连续值范围将数据划分到不同节点,便于按范围查询和管理,适合此类基于连续区间的数据分布需求。
如果要在SCHEMA下创建对象,需要授予操作用户该SCHEMA的哪一个权限?
A、Select
B、Create
C、Insert
D、Usage
答案:D
解析:在数据库中,要在某个SCHEMA下创建表、视图等对象,用户需要拥有该SCHEMA的USAGE权限,以及对应对象类型的CREATE权限(通常是数据库级别的CREATE权限或特定对象创建权限)。USAGE权限允许用户访问SCHEMA中的对象,并结合CREATE权限实现创建操作。
当数据库中的数据被错误地删除、修改或覆盖时,需要通过选择合适的时间点作为恢复点,并应用相应的事务日志。以下哪一选项可以帮助快速恢复?
A、全量恢复
B、增量恢复
C、差量恢复
D、PITR恢复
答案:D
解析:PITR(Point-in-Time Recovery,时间点恢复)允许将数据库恢复到指定的历史时间点,通过结合全量备份和事务日志(WAL)重演实现,适用于数据误操作后的快速精确恢复。其他选项如全量/增量/差量恢复通常基于备份集恢复,不一定能精确到误操作前的时间点。
实例当前节点内存的分配和使用率情况可以查看以下哪一张性能视图?
A、SESSION_STAT
B、SHARED_NODE_DETAIL
C、MEMORY_NODE_DETAIL
D、OS_THREADS
答案:C
解析:MEMORY_NODE_DETAIL视图提供了数据库中各节点内存分配与使用的详细信息,包括内存上下文、使用率等,适合用于监控节点内存状况。其他视图如SESSION_STAT用于会话统计,SHARED_NODE_DETAIL可能与共享内存相关,OS_THREADS用于操作系统线程信息。
以下关于全量备份和增量备份的描述中,说法错误的是哪一项?
A、全量备份表示对所有目标数据进行备份,包含备份时刻点上数据库的全量数据,耗时时间长(和数据库数据总量成正比),自身即可恢复出完整的数据库
B、全量备份总是备份所有选择的目标,即使从上次备份后数据没有变化。
C、增量备份即差分备份,只包含从指定时刻点之后的增量修改数据,耗时时间短(和增量数据成正比,和数据总量无关)
D、增量备份可以单独恢复出完整的数据库
答案:D
解析:增量备份(包括差分备份)仅包含自上次备份以来的变化数据,必须依赖相应的全量备份才能恢复出完整的数据库,不能单独用于完整恢复。因此D项说法错误。
在GaussDB主备部署模式下,采用了1主机加2备机的部署模式,这种模式是以下哪一种特性的体现?
A、最大保护
B、最大性能
C、最大可用
D、最少丢失
答案:A
解析:1主机加2备机的部署模式通常属于“最大保护”模式(Maximum Protection),即事务提交前必须确保至少一个备机同步写入日志,以保证数据零丢失,但可能影响主库性能。最大可用和最大性能在备机数量与同步策略上有所不同。
在一个电商平台的数据库设计中,需要按照商品价格范围将数据分布到对应的数据节点中。以下选项中,哪种数据分布策略最适合这个场景?
A、REPLICATION
B、HASH
C、RANGE
D、LIST
答案:C
解析:按商品价格范围分布数据时,RANGE分布策略可根据价格列的值范围将数据划分到不同节点,便于按价格区间进行查询和管理,适合这种基于连续数值范围的数据分布需求。
以下关于用户管理的描述中,正确的是哪一项?
A、如果被删除的用户下创建了其他数据库对象,需要添加CASCADE字段,级联删除依赖该用户的对象。例如,要删除一个名为"user1"的用户,该用户拥有一个名为"table1"的表,可以使用"DROP USER user1 CASCADE;"语句来实现
B、可以使用CASCADE级联删除被删除用户创建的数据。例如,现在要删除一个名为"user1"的用户,该用户拥有一个名为"DB1"的表,可以使用"DROP USER user1 CASCADE;"语句来实现
C、若级联对象处于锁定状态,可以使用CASCADE字段强制删除
D、创建用户时可设置用户的有效期以及连接数限制。例如,要创建一个名为"user1"的用户,并设置其有可以使用"CREATE USER user1 VALID LIMIT '2050-12-31';"语句来实现
答案:A
解析:在GaussDB及类似数据库中,删除用户时若该用户拥有数据库对象(如表、视图等),需使用CASCADE选项级联删除这些依赖对象,否则删除会失败。A项描述正确。B项中“DB1”若指数据库(database),则通常不能通过DROP USER CASCADE直接删除数据库;C项CASCADE不用于解除对象锁定;D项语法示例不完整,有效期设置通常使用VALID UNTIL子句。
下列对EXPLAIN选项行为描述中,错误的是哪一项?
A、EXPLAIN(costs off)–不显示代价信息
B、EXPLAIN(analyze on,costs off)–执行语句但不显示代价信息
C、EXPLAIN(costs off,timing on)–执行报错,因为需要analyze选项打开
D、EXPLAIN(nodes on,costs off)–显示节点数量,不显示代价信息
答案:D
解析:在GaussDB的EXPLAIN语法中,常见选项包括costs、analyze、timing、verbose等,但并无“nodes on”标准选项用于显示节点数量。D项描述不符合实际支持的语法,因此错误。A、B、C项描述符合EXPLAIN选项的行为逻辑。
如下哪个SQL语句符合规范?
A、SELECT * FROM t1 WHERE col1 = col1;
B、SELECT * FROM t1 WHERE col1 IS NOT NULL;
C、SELECT * FROM t1 WHERE col1 = NULL;
D、SELECT * FROM t1 WHERE col1 != NULL;
答案:B
解析:在SQL中,判断列是否为NULL应使用IS NULL或IS NOT NULL,不能使用等号(=)或不等号(!=)与NULL比较,因为NULL与任何值(包括NULL)的比较结果均为UNKNOWN。因此B符合规范,A逻辑恒真(除非col1为NULL),C和D语法虽可执行但逻辑错误,不符合NULL比较规范。
WDR snapshot数据保留多久?
A、1天
B、3天
C、7天
D、8天
答案:D
解析:在GaussDB中,WDR(Workload Diagnostic Report)快照数据默认保留8天,超过该期限的旧快照会自动清理。
以下关于角色的描述中,错误的是哪一项?
A、角色是一种逻辑上的概念,用于分配权限和管理对数据库对象的访问
B、角色是使用数据库系统服务的个体,角色可以包含一个或多个用户,可以登录数据库
C、角色在需要更改用户的权限时,只需修改相关角色的权限即可,而不需要逐个修改每个用户的权限
D、GaussDB提供一些预定义的角色,这些角色具有特定的权限和功能。例如,有超级用户角色
答案:B
解析:角色(Role)是权限的集合,用于集中管理权限分配,但角色本身通常不能直接登录数据库(除非角色被授予登录权限并作为用户使用)。用户(User)才是使用数据库服务的个体,可以被赋予一个或多个角色。B项将角色描述为“可以登录数据库”的个体是错误的。
使用DRS进行数据库对象同步时,可以选择基于表级同步和库级同步,以下关于对象同步的描述中,哪个是错误的?
A、库级同步中,同步指定模式下的部分表
B、表级同步中,同步指定模式下的部分表
C、表级同步中,未指定的表不同步
D、库级同步中,同步指定模式下的所有表
答案:A
解析:库级同步通常指同步指定模式(schema)下的所有表,不支持仅同步部分表;表级同步则允许选择指定模式下的部分表进行同步。因此A项描述错误,B、C、D项描述符合常规同步策略。
金融机构通常需要根据监管要求保存客户交易记录、账户信息和合规报告等数据,这些数据对于审计、法律诉讼、风险管理等目的至关重要,涉及多种归档形式和要求,在以下命令中,使用以下哪一个选项中的命令可以帮助金融机构自定义归档形式导出表1的定义?
A、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -F c
B、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -F p
C、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -f c
D、gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -f t
答案:A
解析:选项A中的“-F c”表示使用自定义归档格式(custom format)导出,该格式支持压缩、并行恢复等高级特性,适合用于数据归档和迁移。选项B的“-F p”为纯文本格式,选项D的“-F t”为tar格式,均不满足“自定义归档形式”的最佳要求。选项C命令格式与A基本相同,但题目中A为正确选项。注意C项中“-f /data/t1.sql -f c”存在重复“-f”,为书写错误。
以下关于灰度升级的描述中,正确的是哪一项?
A、灰度升级业务无感知,节点不发生闪断
B、升级后一个分片,会中断3-4次业务
C、支持数据库的大版本升级和小版本升级
D、支持在线升级,升级节点闪断一次(5s以内)
答案:C
解析:灰度升级通常支持数据库的大版本(如V1到V2)和小版本(如V1.1到V1.2)的升级。A项错误,灰度升级期间节点可能会有短暂闪断或连接切换;B项描述不准确,中断次数与升级策略相关;D项“升级节点闪断一次”并非灰度升级的普遍特征。因此C项最为准确。
在SQL中加入hint语法,可以明确指导SQL优化器选择特定执行计划,因此应该优先使用。
答案:错误
解析:SQL hint是在特定场景下影响优化器选择的一种手段,但不应该“优先使用”。优化器通常会根据统计信息选择较优的执行计划,过度使用hint可能降低灵活性和性能。应优先依赖优化器自主决策,仅在必要时使用hint。
某数据库管理员使用UGO进行数据库迁移时,源数据库是Oracle,在创建数据库评估任务时,预检查环节检查到DBA权限的检查结果为“警告”,此时评估项目仍能创建成功,并且会自动授予对应权限。
答案:错误
解析:在UGO的预检查环节,如果DBA权限的检查结果为“警告”,说明当前账户不具备DBA权限,但评估任务可能仍然可以创建成功,不过UGO不会自动授予对应权限。管理员需要手动为源数据库账户授予所需权限,因此题目陈述错误。
工程师小王需要导入一张大型数据表,他将其拆分为多个逻辑上独立的区域或分区,并使用多个导入任务并发执行导入。每个任务负责导入一个区域或分区的数据,这样可以同时进行多个导入操作,提高整体导入速度。另外,单个导入任务也可以拆分成多个导入任务并发执行导入,多个导入任务使用同一GDS时可以使用+参数打开GDS多线程并发执行导入。GDS建议挂载在不同物理盘以及不同网卡上,免物理IO以及网络可能出现的瓶颈。
答案:正确
解析:题目描述了并行导入的常规优化方法。将大表分区后多任务并发导入,以及使用GDS(GaussDB Data Service)的多线程功能,都是提高数据导入速度的有效手段。将GDS挂载在不同的物理盘和网卡上,可以避免IO和网络瓶颈,充分利用硬件资源,这些操作和原理都是合理的。
ODBC申请句柄时,调用不同的接口需要申请不同的句柄。
答案:正确
解析:在ODBC(开放式数据库连接)应用程序中,需要申请不同类型的句柄来管理与数据库交互的不同对象。主要句柄类型包括:环境句柄(SQLHENV)、连接句柄(SQLHDBC)、语句句柄(SQLHSTMT)和描述符句柄。因此,为不同的接口调用申请并使用对应的句柄是ODBC编程的基本规范,题目陈述正确。
GaussDB创建Database时,默认使用PG兼容模式。
答案:错误
解析:GaussDB创建数据库时,需要通过DBCOMPATIBILITY参数显式指定兼容模式(如PG、TD、ORA等),没有所谓的“默认”PG兼容模式。用户必须在创建时指定所需的兼容性,因此题目陈述错误。
分布式数据库的备份恢复和单机数据库的备份恢复没什么区别,每个数据实例只需要备份/恢复自己的数据就可以,各个数据之间没有关系。
答案:错误
解析:分布式数据库的备份恢复与单机数据库有显著区别。分布式数据库数据通常分片存储在不同节点上,且数据之间存在逻辑关联(如分区、复制关系)和全局事务一致性要求。备份恢复需要协调所有节点,确保数据在某一时间点的一致性,而不仅仅是每个节点独立操作。题目描述错误。
GaussDB支持分布式强一致,能够实现RTO=0,RPO<30秒。
答案:错误
解析:RTO(恢复时间目标)为0意味着故障后业务瞬间恢复,这在现实中几乎不可能实现,尤其是对于分布式数据库。RPO(恢复点目标)小于30秒是可行的,但将RTO和RPO这两个不同的指标组合成“RTO=0,RPO<30秒”并作为GaussDB的通用能力陈述是不准确的。分布式强一致能保障数据一致性,但不等于RTO为0。题目陈述错误。
GaussDB的GDS工具,用于解决分布式场景下大数据量数据导入导出慢的问题。在传统的分布式数据库导入导出过程中,常常会出现块存取慢、数据分布不均匀等问题,导致了性能瓶颈。GDS工具通过在数据节点DN上并行处理数据导入导出操作,解决了协调节点CN在传统分布式导入导出中的性能瓶颈问题,从而显著提升了导入导出的效率。
答案:正确
解析:“GDS”(GaussDB Data Service),这是GaussDB提供的高性能数据导入导出工具。其核心原理是绕过CN(协调节点)的瓶颈,在DN(数据节点)上并行处理数据,并利用多线程和网络优化来提高效率,与描述相符。因此陈述正确。
Psycopg中的游标在整个生命周期内都绑定到对应的数据库实例的连接,并且所有命令都在数据库会话的上下文中执行。
答案:正确
解析:在Psycopg2(PostgreSQL的Python适配器)中,游标(cursor)对象是通过一个连接(connection)对象创建的。游标在其生命周期内确实绑定到该连接,其执行的所有SQL命令都共享该连接所建立的数据库会话(session)上下文。因此,题目陈述正确。
在事务ACID特性中,原子性指的是事务必须始终保持系统处于一致的状态。
答案:错误
解析:原子性(Atomicity)是指事务是一个不可分割的工作单元,事务中的操作要么全部发生,要么全部不发生。题目中描述的“始终保持系统处于一致的状态”是ACID中的一致性(Consistency)特性,而非原子性。因此,题目对原子性的定义错误。
ODBC为应用程序与数据库的中心层,负责把应用程序发出的SQL指令传到数据库当中,自身并不解析SQL语法。
答案:正确
解析:ODBC(开放式数据库连接)是一种数据库访问标准,它作为应用程序和数据库之间的桥梁(或中间层)。其主要职责是建立连接、传递SQL语句和返回结果,它本身不解析或修改SQL语法,具体的SQL解析和执行由后端数据库驱动和数据库服务器完成。因此题目陈述正确。
某IT公司在开发软件时,需要使用GaussDB数据库,因此需要实现软件和数据的链接,而DBeaver是一个通用的数据库管理工具和SQL客户端,支持MySQL、PostgreSQL、Oracle、DB2、MSSQL以及其他兼容JDBC的数据库,提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据、修改数据库结构等。
答案:正确
解析:DBeaver是一个开源、通用的数据库管理工具和SQL客户端,通过JDBC驱动支持包括GaussDB在内的众多数据库。它提供图形化界面进行数据库连接、结构查看、SQL执行、数据浏览和导出等操作,题目描述准确。
源库画像以海量业务场景为样本,以数据库关键指标为特性进行训练,抽象出数据库的信息全貌,为进一步精准、快速地分析源库的应用场景、用户操作习惯等重要信息,提供了足够的数据基础。
答案:正确
解析:源库画像是数据库迁移或评估过程中的一个概念,旨在通过收集和分析源数据库的关键性能指标、Schema结构、SQL特征等数据,构建其“画像”,以便更好地理解其工作负载、使用模式和兼容性需求,为后续的迁移策略制定和性能优化提供数据支持。题目描述符合这一概念。
Explain命令生成执行计划时,如需显示CPU使用的相关信息,可与analyze命令结合执行。
答案:正确
解析:在数据库(如PostgreSQL/GaussDB)中,使用EXPLAIN ANALYZE命令可以实际执行SQL语句并生成包含实际执行时间、行数以及资源消耗(如CPU时间)的详细执行计划。单独的EXPLAIN仅显示预估计划,而ANALYZE选项会执行语句并提供包括CPU使用在内的实际运行时信息。因此题目陈述正确。
索引类似书籍的目录,通过目录中的关键字信息,找到书中对应的信息页,索引越多,数据库性能整体提升越多。
答案:错误
解析:索引虽然可以加速查询,但并非越多越好。索引本身需要占用存储空间,并且在数据插入、更新和删除时需要维护,会降低写操作的性能。过多的索引可能导致数据库选择最优执行计划的时间增加,甚至可能选择错误的索引,反而降低整体性能。因此,题目中“索引越多,数据库性能整体提升越多”的说法是错误的。
在执行登录数据库后,必须显示的关闭Resultset和statement对象,如果不显示关闭这些对象,则有可能发生严重的内存泄露,同时关闭结果集和语句将释放数据库中的相应游标,如果仅关闭结果集,则不会释放游标。
答案:正确
解析:在使用JDBC等数据库连接时,显式关闭ResultSet和Statement对象(或其子类PreparedStatement)是良好的编程实践。如果不关闭,这些对象占用的数据库资源(如服务器端游标)和客户端内存可能无法被及时释放,导致资源泄露。通常,关闭Statement会自动关闭其关联的ResultSet,但显式关闭能确保资源的确定性释放。题目陈述正确。
当java程序使用批量SQL插入时,推荐采用Statement的方式执行。
答案:错误
解析:在Java程序中进行批量SQL插入时,推荐使用PreparedStatement,而非普通的Statement。原因包括:1) PreparedStatement可以预编译SQL,提高效率;2) 支持参数化,避免SQL注入风险;3) 在批量处理时,可以利用addBatch()和executeBatch()方法高效执行;4) 对于相同结构的多次插入,性能通常优于Statement。因此题目陈述错误。
schema的owner默认拥有该schema下对象的所有权限,包括删除权限。
答案:正确
解析:在数据库(如PostgreSQL、GaussDB)中,一个模式的拥有者(owner)默认拥有该模式下的所有权限,包括创建、修改、删除模式内的对象(如表、视图等),以及对数据的操作权限。这是数据库权限管理的基本规则,因此题目陈述正确。
在“gs_dump pg1 -p 16000 -s -f /data/all.sql -F c”命令中,pg1表示要备份的数据库名称,-p 16000是指定数据库的端口号为16000,-s 是指导出数据库的结构,-f /data/all.sql指定导出的文件路径和文件名,-F c是指只导出表、索引、视图等数据库对象的定义。通过该语句,可以导出数据库pg1中所有对象定义,并将导出的文件将保存为all.sql,并位于/data目录下。
答案:错误
解析:命令基本含义描述正确,但关键点在于 -F c 选项。在 gs_dump 工具中,-F c 表示以“自定义压缩格式”导出,这是一个二进制格式,便于后续用 gs_restore 恢复,而不是纯SQL脚本格式。若要生成纯SQL脚本文件(.sql),应使用 -F p(明文格式)或不指定(默认为 -F p)。因此,使用 -F c 导出的文件不是纯文本的 .sql 文件,而是二进制文件,题目中“保存为all.sql”的表述不准确。
数据字典中虽然保存了表、索引占用的空间大小,但这些信息对于优化器来说是不够的,例如,一个表可能占用了很多空间,但是可能该表中一条数据都没有。
答案:正确
解析:数据字典中存储的表和索引的空间占用信息(如段大小)是静态的物理存储信息。优化器在做执行计划选择时,更需要的是关于数据分布的动态统计信息,例如表的总行数、列的数据分布(直方图)、不同值的数量等。一个表可能因历史删除操作而占据大量空间但实际数据量为零,仅凭空间大小无法得知真实数据量,因此题目陈述正确。
以下关于存储过程参数argtype的描述中,哪些选项是argtype的可选取值?
A、%ROW
B、%ROWTYPE
C、%TYPE
D、%%COLUNMTYPE
答案:BC
解析:在GaussDB中,存储过程参数类型可以使用%ROWTYPE来声明一个行类型,或使用%TYPE来引用某个已有变量或列的类型。%ROW不是有效关键字,%%COLUNMTYPE为无效拼写,正确应为%COLUMNTYPE(但非常见选项)。因此本题正确选项为B和C。
以下关于SELECT语句的描述,正确的有哪几项?
A、SELECT 语句多用通配符字段“”
B、避免对大字段执行ORDER BY、GROUP BY等引起排序的操作
C、避免在SELECT目标列中使用子查询
D、使用count(distinct col)用来计算某列不重复的非NULL的数量
答案:BCD
解析:A选项不建议,因为使用通配符“”会查询所有列,可能导致不必要的数据传输和性能开销,特别是在列多或包含大字段时;B选项正确,对大字段排序或分组会消耗大量内存和CPU资源;C选项正确,在SELECT目标列中使用子查询可能导致性能问题,尤其在返回多行时;D选项正确,count(distinct col)的作用正是计算某列不重复且非NULL值的数量。
某能源客户使用DRS工具迁移数据库时,目标库为GaussDB,迁移用户需要至少对目标库GaussDB下的database具备哪些权限?
A、create
B、temp
C、select
D、connect
E、Usage
答案:ACDE
解析:使用DRS迁移数据到GaussDB时,迁移用户需要在目标数据库上具备足够的权限来创建对象、连接数据库等。通常需要包括CREATE(创建对象)、CONNECT(连接数据库)、USAGE(使用模式或语言等)、以及SELECT(查询数据以验证等)权限。TEMP(创建临时表)权限在此场景中一般不是必需的最低权限,因此不选B。
在一个高并发的在线支付系统中,为了保证数据一致性和可重复读,隔离级别的选择至关重要。以下关于隔离级别的描述中,正确的有哪些项?
A、在读未提交隔离级别下,读取到的数据可能是其他事务尚未提交的结果
B、读已提交隔离级别保证事务不但能读到已提交的数据,还能读到尚未提交的数据
C、可重复读隔离级别保证事务只能读到事务开始之前已提交的数据,不会读取到事务执行期间其他并发事务提交的修改
D、在高并发环境中,为保证数据一致性和可重复读,推荐使用串行化隔离级别
答案:AC
解析:A正确,读未提交隔离级别允许读取未提交的数据,可能产生脏读。B错误,读已提交隔离级别只能读取已提交的数据,不会读取未提交的数据。C正确,可重复读隔离级别确保在同一个事务中多次读取同一数据的结果一致,不会受到其他事务在此期间提交的影响。D错误,虽然串行化隔离级别能提供最高的一致性,但在高并发环境中会严重影响性能,通常不推荐默认使用,需根据业务场景权衡选择。
使用UGO进行数据库对象迁移任务时,分为以下哪些详细流程?
A、迁移
B、迁移计划
C、对象校正
D、验证&应用
答案:ABCD
解析:UGO(异构数据库迁移工具)进行数据库对象迁移时,通常包括以下关键流程:迁移计划(评估和规划)、对象校正(分析和转换源数据库对象)、验证&应用(验证转换结果并应用到目标库)、迁移(执行数据迁移)。因此所有选项均为正确流程。
用户需要合理设置同步任务的启动时间,以减少对源库和目标库的性能影响。以下关于DRS启动同步任务的描述,正确的是哪些项?
A、如果因为网络原因导致全量同步失败,系统默认进行三次自动续传,若三次续传后仍无法恢复全量同步,需手动进行续传
B、如果因为非网络原因导致全量同步失败,系统自动续传,直到恢复全量同步
C、任务启动时间可以设置为立即启动或稍后启动
D、任务信息页面展示了源库与目标库的相关信息以及同步类型等
答案:ACD
解析:A正确,DRS针对网络原因引起的全量同步失败,通常有默认的自动重试机制(如三次),失败后需手动干预。B错误,对于非网络原因(如数据错误、配置错误等)导致的失败,系统通常不会无限自动续传,需要人工排查处理。C正确,DRS支持设置任务立即启动或定时启动。D正确,任务信息页面会展示源库、目标库的连接信息及同步任务配置详情。
某大型商业银行选择将原数据库迁移至GaussDB数据库,原始数据库节点规模在2000至3000之间,部署在x86服务器上,支持开放平台核心业务,并基于存储过程进行了大量的开发,为了实现业务的平滑迁移,需要对表结构进行整改,以下关于整改方案的描述中,正确的是哪些项?
A、对于一些公共参数、配置表,采用复制表,原来类MySQL集群参数可以有差异,需要应用确认采用同一套复制参数
B、对于分布表(普通表和分区表),有分布键也不能直接复用分布键,有分布键和无分布键都需要添加分布键
C、GaussDB上主键建议包含分布键,如果业务表主键与分布键不一致时,默认建立全局二级索引
D、含有Mysql自增列业务表需确定表有唯一性约束(银行数据库规范),迁移至GaussDB后,可根据自增列是否具有业务属性决定删除与否
答案:ACD
解析:A正确,迁移时对公共参数表通常采用复制表以保证全局一致,需统一参数。B错误,对于已有分布键的表,在GaussDB中通常可以直接复用原有分布键,无需强制添加;无分布键的分布表才需要指定。C正确,在GaussDB分布式场景下,主键包含分布键可以避免跨节点访问,提高性能;主键与分布键不一致时,系统可创建全局二级索引保证唯一性。D正确,自增列若无业务含义且已有其他唯一约束,可根据业务情况决定是否保留或删除。
GaussDB目前支持以下哪几种分布方式?
A、Replication
B、Hash
C、List
D、Range
答案:ABCD
解析:GaussDB(此处通常指华为GaussDB分布式版本)支持多种表数据分布方式,包括复制(Replication,即全复制表)、哈希(Hash,按哈希值分布)、列表(List,按值列表分布)和范围(Range,按值范围分布),以适应不同的数据分布和查询需求。因此所有选项均为支持的分布方式。
使用UGO进行数据库对象迁移任务创建时,需要填写目标数据库的连接信息,以下哪些于需要设置的数据库连接信息?
A、数据库IP
B、数据库名称
C、数据库驱动
D、数据库端口
E、数据库类型
答案:ABDE
解析:创建UGO迁移任务时,需要填写目标数据库的基本连接信息,包括数据库IP地址(A)、数据库名称(B)、数据库端口(D)和数据库类型(E,如GaussDB、MySQL等)。数据库驱动(C)通常由UGO工具根据所选数据库类型自动选择或内置,不需要用户手动设置,因此不属于需要填写的连接信息。
下列选项中,对DRS服务中实时迁移功能的特点描述正确的是哪些选项?
A、只支持表数据的迁移
B、能够最大限度允许迁移过程中业务继续对外提供使用
C、有效的将业务系统中断时间和业务影响最小化
D、实现数据库平滑迁移上云
答案:BCD
解析:A错误,DRS实时迁移不仅支持表数据迁移,还支持表结构、索引、约束、存储过程等对象的迁移。B正确,实时迁移通过增量同步技术,允许迁移过程中源库业务继续运行。C正确,通过全量+增量迁移方式,可大幅减少业务中断时间。D正确,DRS旨在帮助用户实现数据库到云数据库的平滑迁移。因此正确选项为B、C、D。
以下属于分区表优势的是哪些项?
A、可以使用不同的存储引擎
B、增强可用性
C、方便维护
D、均衡I/O
答案:BCD
解析:分区表的主要优势包括:增强可用性(B,单个分区故障不影响其他分区访问)、方便维护(C,可对单独分区进行管理操作,如清理、重建)、均衡I/O(D,将数据分散到不同磁盘或存储,提升并行性能)。A选项“可以使用不同的存储引擎”不是分区表的通用优势,在某些数据库(如MySQL的某些版本)中同一表的分区可以使用不同存储引擎,但这并非分区表的核心或普遍优势,且GaussDB等数据库中不适用此说法。因此正确选项为B、C、D。
以下关于Hash分布表分布列选择的描述,正确的有哪几项?
A、分布列只能设置为一个字段
B、列值应比较离散,以便数据能够均匀分布到各个DN
C、考虑选择查询中的连接条件为分布列,以便Join任务能够下推到DN中执行
D、在采用Hash分表策略之后需对表的数据进行数据倾斜性检查,以确保数据在各个DN上是均匀分布的
答案:BCD
解析:A错误,Hash分布列可以选择多个字段组合,不一定只能是一个字段。B正确,分布列的值应离散,以保证数据分布均匀,避免倾斜。C正确,选择Join条件作为分布列可以实现同分布(colocation),将Join下推到DN执行,减少数据流动。D正确,实施Hash分布后需要检查数据倾斜情况,确保分布均匀。因此正确选项为B、C、D。
Python程序中,执行给定的SQL语句,能够提取查询结果集的方法有以下哪些?
A、execute
B、executionany
C、fetchone
D、fetchall
答案:CD
解析:在Python数据库编程中(如使用DB-API),execute()方法用于执行SQL语句,但并不直接返回结果集(A错误)。executionany不是标准方法(B错误)。提取结果集通常使用游标(cursor)的fetchone()(逐行提取,C正确)或fetchall()(提取所有行,D正确)等方法。因此能够提取查询结果集的方法是C和D。
以下约束类型中,不可以显示命名的是哪一项?
A、DEFAULT约束
B、唯一约束
C、局部聚簇
D、检查约束
答案:A
解析:在GaussDB及常见数据库中,DEFAULT约束通常不支持显式命名,而唯一约束、局部聚簇、检查约束等可以显式指定名称。
以下哪一项系统视图可获取实时系统活跃会话列表并可以用于分析当前系统活跃用户的活动信息?
A、SESSION_STAT
B、SESSION_TIME
C、SESSION_STAT_ACTIVITY
D、SESSION_MEMORY_DETAIL
答案:C
解析:SESSION_STAT_ACTIVITY视图通常用于查询当前活跃会话的实时状态信息,包括用户活动、查询状态等,适合用于监控和分析系统活跃会话。其他选项如SESSION_STAT、SESSION_TIME、SESSION_MEMORY_DETAIL多用于统计历史或内存信息,不直接提供实时活跃会话列表。
某交通客户使用UGO进行对象迁移时,需创建源库到目标库表空间的映射,以下哪种场景支持表空间映射功能?
A、Oracle迁移至GaussDB
B、MySQL迁移至GaussDB
C、Oracle迁移至GaussDB(for MySQL)
D、Oracle迁移至RDS for MySQL
答案:A
解析:表空间映射功能主要用于支持Oracle到GaussDB(通常指GaussDB for openGauss)的迁移,因为两者在存储结构上都支持表空间概念。MySQL及其兼容库(如GaussDB for MySQL、RDS for MySQL)通常没有Oracle/GaussDB那样的表空间管理机制,因此不支持表空间映射。
在JDBC中,要为连接管理、分布式事务和原有的连接提供了更好的抽象的话,可以使用以下哪个包?
A、gauss.sql
B、java.sql
C、javac.sql
D、javax.sql
答案:D
解析:javax.sql包提供了JDBC的高级功能,包括数据源、连接池、分布式事务等,是对java.sql基础功能的扩展,更适用于企业级连接管理和分布式事务场景。
以下哪一项是GaussDB分布式版本创建database时默认使用的模式?
A、ORA
B、PG
C、TD
D、MySQL
答案:D
解析:GaussDB分布式版本在创建database时,默认兼容MySQL语法模式(即“DBCOMPATIBILITY = 'MYSQL'”),以支持MySQL语法和数据类型,方便从MySQL迁移的应用兼容运行。
WDR snapshot默认多久执行一次?
A、半小时
B、1小时
C、2小时
D、3小时
答案:B
解析:WDR(Workload Diagnostic Report)快照(snapshot)默认每隔1小时自动执行一次,用于收集数据库性能数据并生成诊断报告。
某银行在进行转账操作时,需要保证数据的一致性和并发性。以下哪个隔离级别最适合该场景?
A、READ UNCOMMITTED
B、READ COMMITTED
C、REPEATABLE READ
D、SERIALIZABLE
答案:C
解析:银行转账场景需要同时保证数据一致性和一定的并发性能。REPEATABLE READ隔离级别可以防止脏读、不可重复读,并能避免大部分幻读(在GaussDB中通常通过多版本控制实现),在保证一致性的同时比SERIALIZABLE级别具有更好的并发性能,因此适合此类金融交易场景。
以下关于匿名块的描述中,正确的是哪一项?
A、匿名块用于经常执行的脚本或重复性活动
B、匿名块在会话中执行,但不会被存储
C、匿名块的程序实施部分以DECLARE语句开始,以END语句结束
D、匿名块必须包含至少两条语句
答案:B
解析:匿名块是临时编写和执行的一段PL/SQL代码,只在当前会话中执行,不会被数据库存储为持久对象。A项错误,因为匿名块不适合频繁执行,存储过程更合适;C项错误,匿名块以DECLARE开始(如果有声明部分),否则以BEGIN开始;D项错误,匿名块可以只包含一条语句。
创建数据库评估任务,支持连接源库进行基本信息采集、性能数据采集。管理员使用UGO创建财务数据库评估任务时,不是必须进行填写的是哪一项?
A、指定源数据库类型,如ORACLE-11G
B、指定连接方法,如连接字符串或服务名称
C、指定主机类型,如主机名或IP
D、指定源库采集时间,如开始时间和结束时间
E、指定SSL类型,如不开启SSL
答案:D
解析:创建数据库评估任务时,源数据库类型、连接方法、主机信息通常是必填项,SSL设置也常需明确选择。而源库采集时间(开始和结束时间)通常用于性能采集阶段,不是创建任务时必须指定的项目,可以根据需要后续设置或使用默认范围。
以下关于在华为云数据管理服务DAS导出SQL结果集的描述中,正确的是哪一项?
A、SQL结果集导出任务中,执行SQL的最大限制是5M。
B、SQL结果集导出任务中,执行SQL的最大限制是10M。
C、SQL结果集导出任务中,执行SQL的最大限制是15M。
D、SQL结果集导出任务中,执行SQL的最大限制是20M。
答案:A
解析:根据华为云DAS(数据管理服务)的公开文档,导出SQL结果集功能中对执行SQL语句的长度限制通常为5MB,超过该限制则无法执行导出任务。
对下层两股排序数据流实现归并连接操作的哪一类关联算子?
A、Hashjoin
B、Full Join
C、Nestloop
D、Mergejoin
答案:D
解析:Mergejoin(归并连接)适用于两个已排序的数据流,通过顺序比较进行连接,效率较高。其他选项中,Hashjoin基于哈希表,Nestloop是嵌套循环连接,Full Join是连接类型而非连接算法实现方式。
使用GaussDB JDBC驱动时,URL配置如下jdbc:postgresql://host1:port1,host2:port2,host3:port3,host4:port4/database?autoBalance=priority2,以下描述中哪个是正确的?
A、将应用程序的多个连接随机分配至URL中的任意两个节点中
B、将应用程序的多个连接均衡至两部分,host1和host2是分配一部分,host3和host4分配一部分
C、将应用程序的多个连接指定分配至host2节点中,当host2节点异常,则会分配至其他的节点
D、将应用程序的多个连接均衡到前面配置的2个节点中,当前面节点异常,则会分配至后面的节点中
答案:D
解析:参数autoBalance=priority2表示优先级负载均衡模式,JDBC驱动会优先将连接建立在前2个节点(host1:port1, host2:port2)上,并在这两个节点间进行负载均衡。当这两个节点均不可用时,才会尝试后续节点(host3, host4)。因此D选项描述正确。
系统权限是指系统规定用户使用数据库的权限。GaussDB数据库用户的系统权限不包括以下哪一项?
A、sysadmin:可以执行任何数据库操作,包括创建、删除和修改数据库,以及所有对象的权限控制
B、remotedevice:允许用户通过网络连接到其他设备或服务器,并执行相应的数据传输和远程操作
C、createdb:可以使用适当的命令或工具创建新的数据库实例
D、auditadmin:可以监视和管理数据库的审计日志,包括设置审计策略、查看审计日志、导出和分析审计数据等
答案:B
解析:在GaussDB系统权限中,sysadmin、createdb、auditadmin均为标准权限类型,而remotedevice不属于GaussDB数据库用户系统权限的范畴,数据库权限不直接涉及远程设备连接与数据传输操作。
以下关于备份的描述中,说法错误的是哪一项?
A、GaussDB提供基于OBS存储介质的集群级、物理备份能力,并在同构数据库中提供集群级恢复能力,支持全量备份和增量备份
B、GaussDB提供备份数据压缩、备份流控、断点续备等高阶功能
C、全量备份表示对所有目标数据进行备份,包含备份时刻点上数据库的全量数据,耗时时间短,自身不可恢复出完整数据库
D、增量备份即差分备份,只包含从指定时刻点之后的增量修改数据,耗时时间短(和增量数据成正比,和数据总量无关),但是必须更全面备份数据一起才能恢复出完整的数据库
答案:C
解析:全量备份包含备份时刻数据库的全部数据,虽然备份耗时相对较长(与数据总量相关),但自身可以独立恢复出完整的数据库。C项中“耗时时间短,自身不可恢复出完整数据库”描述错误。
数据库管理员小亮承接了公司财务系统的数据库迁移任务。需要针对该项目进行迁移前调研。以下哪项不属于调研范畴的内容?
A、调研财务系统迁移场景,如果用全量还是增量方式迁移
B、调研财务系统迁移过程中采用的迁移工具
C、调研财务系统需要迁移的数据量
D、调研财务系统数据库当前业务负载,如TPS、QPS等(E)调研财务系统数据库当前规格,如CPU、内存等配置信息
答案:B
解析:迁移前调研主要包括对源系统的环境、数据量、业务负载、迁移方式等方面的评估,迁移工具的选择通常属于迁移方案设计阶段的决策内容,不属于前期调研时必须明确的范畴。
以下表的哪一项属性无法通过alter进行修改?
A、列属性
B、重命名
C、行列存储模型
D、约束条件
答案:C
解析:行列存储模型是表创建时定义的基本存储结构,涉及数据物理组织方式,创建后通常无法通过ALTER TABLE直接修改。其他选项如列属性、表名、约束条件等均可通过ALTER语句进行调整。
匿名块适用的场景包含?()
A、频繁执行
B、重复执行
C、并发执行
D、一次执行
答案:D
解析:匿名块是临时编写并执行的PL/SQL代码块,不会被数据库存储,适用于一次性执行的场景。频繁、重复或并发执行的逻辑通常应使用存储过程、函数等持久化对象实现。
下列哪个Full SQL trace指标只有开启L2才能记录?
A、Db_time
B、Query_plan
C、Lock_start
D、Lock_wait_count
答案:C
解析:在GaussDB的Full SQL跟踪中,L2级别相比L1级别会记录更详细的信息,包括锁相关的具体时间点(如Lock_start、Lock_end等)。Query_plan、Db_time等指标在L1级别即可记录,而Lock_start通常需要开启L2级别跟踪才能捕获。
GaussDB数据库用户的对象管理权限不包括以下哪一项?
A、删除对象权限(DROP):允许用户删除数据库对象,如删除表、函数、过程、视图等
B、更新表数据权限(UPDATE):修改表中已存在的数据。通过指定表名、设置新的值和一个或多个条件,可以更新表中满足条件的记录的值
C、删除表数据权限(DELETE):从表中删除一条或多条记录。可以根据指定的条件删除满足条件的记录
D、插入表数据权限(INSERT):将新的数据插入到表中,可以一次插入一行或多行
答案:A
解析:删除数据库对象(如DROP TABLE)属于DDL操作,通常归类为“对象权限”或“模式权限”,但一般不称为“对象管理权限”中的具体数据操作权限。在GaussDB权限分类中,对象管理权限通常指对表中数据的操作权限(如INSERT、UPDATE、DELETE),而DROP属于结构变更权限,可能归属更高层次的控制范畴,因此A项“删除对象权限”通常不列入对象管理权限的直接范围。
随着企业业务高速发展,使用传统数据库不能够满足企业需求,因此部分企业迫切希望对数据库进行分析或化改造。改造过程中对于数据量较大的用户表,可以采用以下哪一种数据分布策略?
A、Hash分布
B、复制分布
C、范围分布
D、列表分布
答案:A
解析:对于数据量较大的用户表,Hash分布可以将数据相对均匀地分散到各个节点上,有利于负载均衡和并行处理,适合高并发、大数据量的分析或读写场景。复制分布适用于小表,范围分布和列表分布适用于有明显范围或列表特征的业务场景。
refresh CN Ip List Time参数用于控制JDBC获取可用CN列表的时间,默认的时长是多少?
A、1秒
B、5秒
C、10秒
D、15秒
答案:C
解析:refreshCNIpListTime参数用于设置JDBC客户端刷新Coordinator Node(CN)列表的时间间隔,默认值为10秒,确保连接能感知CN节点的变化。
以下关于序列的描述中,说法错误的是哪一项?
A、因为自增所以不重复,因此说Sequence具有唯一标识性
B、序列名必须和同一个模式中的其他序列、表、索引、视图或外表的名称不同
C、\\d+序列名可用于序列查询
D、序列是递增的但不一定产生整数的数据对象
答案:D
解析:序列(Sequence)是一种数据库对象,用于生成递增(或递减)的整数序列,通常用于生成主键等唯一标识。序列产生的值一般为整数类型(如bigint、integer),虽然可以设置步长和循环,但其输出通常为整数,因此D项“不一定产生整数”的说法错误。
以下关于数据分布方式的描述,错误的是哪一项?
A、采用Replication分布,数据有多份冗余
B、采用Hash分布,数据在DN之间无交叉
C、采用List分布,数据将按指定列进行映射
D、采用Range分布,数据在范围边界上可能有重复
答案:D
解析:Range分布中,每个范围边界通常是互斥的,数据不会在边界上重复存放。若不同范围边界定义有重叠可能导致重复,但一般情况下Range分布设计为不重复。题目描述“可能重复”不够准确,因此D项为错误描述。
网硕互联帮助中心





评论前必须登录!
注册