华为云用户手册

  • 私有用户 对于有多个业务部门,各部门间使用不同的数据库用户进行业务操作,同时有一个同级的数据库维护部门使用数据库管理员进行维护操作的场景下,业务部门可能希望在未经授权的情况下,管理员用户只能对各部门的数据进行控制操作(DROP、ALTER、TRUNCATE),但是不能进行访问操作(INSERT、DELETE、UPDATE、SELECT、COPY)。即针对管理员用户,表对象的控制权和访问权要能够分离,提高普通用户数据安全性。 三权分立情况下,管理员对其他用户放在属于各自模式下的表无权限。但是,这种无权限包含了无控制权限,因此不能满足上面的诉求。为此, GaussDB 提供了私有用户方案。即在非三权分立模式下,创建具有INDEPENDENT属性的私有用户。具备CREATEROLE权限或者是系统管理员权限的用户可以创建私有用户或者修改普通用户的属性为私有用户,普通用户也可以修改自己的属性为私有用户。 1 gaussdb=# CREATE USER user_independent WITH INDEPENDENT IDENTIFIED BY "xxxxxxxxxx"; 针对该用户的表对象,系统管理员在未经其授权前,只能进行控制操作(DROP、ALTER、TRUNCATE),无权进行INSERT、DELETE、SELECT、UPDATE、COPY、GRANT、REVOKE、ALTER OWNER操作。 PG_STATISTIC系统表和PG_STATISTIC_EXT系统表存储了统计对象的一些敏感信息,如高频值MCV。系统管理员仍然可以通过访问这两张系统表,得到私有用户所属表的统计信息里的这些信息。
  • 三权分立 默认权限机制和管理员两节的描述基于的是集群创建之初的默认情况。从前面的介绍可以看出,默认情况下拥有SYSADMIN属性的系统管理员,具备系统最高权限。 在实际业务管理中,为了避免系统管理员拥有过度集中的权利带来高风险,可以设置三权分立,将系统管理员的用户管理和审计管理的权限分别分给安全管理员和审计管理员。 三权分立后,系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员)能力,即不再拥有创建角色和用户的权限,也不再拥有查看和维护数据库审计日志的权限。关于CREATEROLE属性和AUDITADMIN属性的更多信息请参考CREATE ROLE。 初始用户的权限不受三权分立设置影响。因此建议仅将此初始用户作为DBA管理用途,而非业务应用。 三权分立的设置办法为:将GUC参数enableSeparationOfDuty设置为on。 如需使用三权分立权限管理模型,应在数据库初始化阶段指定,不建议来回切换权限管理模型。需要注意的是,当需从非三权分立权限管理模型切换至三权分立权限管理模型时,应重新审视已有用户的权限集合。如用户具备系统管理员权限和审计管理员权限,则需要进行权限裁剪。 三权分立后,系统管理员对其他用户的非系统模式不再具有权限,因此在未被授予其他用户模式的权限前,也不能访问放在其他用户模式下的对象。三权分立前的权限详情及三权分立后的权限变化,请分别参见表1和表2。 表1 默认的用户权限 对象名称 初始用户(id为10) 系统管理员 安全管理员 审计管理员 普通用户 表空间 具有除私有用户表对象访问权限外,所有的权限。 对表空间有创建、修改、删除、访问、分配操作的权限。 不具有对表空间进行创建、修改、删除、分配的权限,访问需要被赋权。 模式 对除dbe_perf以外的所有模式有所有权限。 对自己的模式有所有的权限,对其他用户的非系统模式无权限。 自定义函数 对所有用户自定义函数有所有的权限。 对自己的函数有所有的权限,对其他用户的函数仅有调用权限。 自定义表或视图 对所有用户自定义表或视图有所有的权限。 对自己的表或视图有所有的权限,对其他用户的表或视图无权限。 表2 三权分立较非三权分立权限变化说明 对象名称 初始用户(id为10) 系统管理员 安全管理员 审计管理员 普通用户 表空间 无变化。 依然具有除私有用户表对象访问权限外,所有的权限。 无变化 无变化 模式 权限缩小。 对自己的模式有所有的权限,对其他用户的非系统模式无权限。 无变化 自定义函数 在未被授予其他用户的非系统模式的权限前,不能访问放在其他用户模式下的函数。 无变化 自定义表或视图 在未被授予其他用户的非系统模式的权限前,不能访问放在其他用户模式下的表或视图。 无变化 PG_STATISTIC系统表和PG_STATISTIC_EXT系统表存储了统计对象的一些敏感信息,如高频值MCV。进行三权分立后系统管理员仍可以通过访问这两张系统表,得到统计信息里的这些信息。 父主题: 用户及权限
  • 安全策略管理员 安全策略管理员是指具有POLADMIN属性的账户,具有创建资源标签,脱敏策略和统一审计策略的权限。 要创建新的安全策略管理员,请以系统管理员用户身份连接数据库,并使用带POLADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。 1 gaussdb=# CREATE USER poladmin WITH POLADMIN password "xxxxxxxxxxx"; 或者 1 gaussdb=# ALTER USER joe POLADMIN; ALTER USER时,要求用户已存在。
  • 审计管理员 审计管理员是指具有AUDITADMIN属性的账户,具有查看和删除审计日志的权限。 要创建新的审计管理员,三权分立关闭时,请以系统管理员或者安全管理员身份连接数据库,三权分立打开时,请以安全管理员身份连接数据库,并使用带AUDITADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。 1 gaussdb=# CREATE USER auditadmin WITH AUDITADMIN password "xxxxxxxxxxx"; 或者 1 gaussdb=# ALTER USER joe AUDITADMIN; ALTER USER时,要求用户已存在。
  • 监控管理员 监控管理员是指具有MONADMIN属性的账户,具有查看dbe_perf模式下视图和函数的权限,亦可以对dbe_perf模式的对象权限进行授予或收回。 要创建新的监控管理员,请以系统管理员身份连接数据库,并使用带MONADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。 1 gaussdb=# CREATE USER monadmin WITH MONADMIN password "xxxxxxxxxxx"; 或者 1 gaussdb=# ALTER USER joe MONADMIN; ALTER USER时,要求用户已存在。
  • 初始用户 集群安装过程中自动生成的账户称为初始用户。初始用户也是系统管理员、监控管理员、运维管理员和安全策略管理员,拥有系统的最高权限,能够执行所有的操作。如果安装时不设置初始用户名称则该账户与进行集群安装的操作系统用户同名。如果在安装集群时不设置初始用户的密码,安装完成后密码为空,在执行其他操作前需要通过gsql客户端设置初始用户的密码。如果初始用户密码为空,则除修改密码外无法执行其他SQL操作以及升级、扩容、节点替换等操作。 初始用户会绕过所有权限检查。建议仅将此初始用户作为DBA管理用途,而非业务应用。
  • 系统管理员 系统管理员是指具有SYSADMIN属性的账户,默认安装情况下具有与对象所有者相同的权限,但不包括dbe_perf模式的对象权限和使用Roach工具执行备份恢复的权限。 要创建新的系统管理员,请以初始用户或者系统管理员用户身份连接数据库,并使用带SYSADMIN选项的CREATE USER语句或ALTER USER语句进行设置。 1 gaussdb=# CREATE USER sysadmin WITH SYSADMIN password "xxxxxxxxxxx"; 或者 1 gaussdb=# ALTER USER joe SYSADMIN; ALTER USER时,要求用户已存在。
  • 安全管理员 安全管理员是指具有CREATEROLE属性的账户,具有创建、修改、删除用户或角色的权限。 要创建新的安全管理员,三权分立关闭时,请以系统管理员或者安全管理员身份连接数据库,三权分立打开时,请以安全管理员身份连接数据库,并使用带CREATEROLE选项的CREATE USER语句或 ALTER USER语句进行设置。 1 gaussdb=# CREATE USER createrole WITH CREATEROLE password "xxxxxxxxxxx"; 或者 1 gaussdb=# ALTER USER joe CREATEROLE; ALTER USER时,要求用户已存在。
  • 运维管理员 运维管理员是指具有OPRADMIN属性的账户,具有使用Roach工具执行备份恢复的权限。 要创建新的运维管理员,请以初始用户身份连接数据库,并使用带OPRADMIN选项的CREATE USER语句或 ALTER USER语句进行设置。 1 gaussdb=# CREATE USER opradmin WITH OPRADMIN password "xxxxxxxxxxx"; 或者 1 gaussdb=# ALTER USER joe OPRADMIN; ALTER USER时,要求用户已存在。
  • dcf_node_id_map 参数说明:DN备机名称与DCF node_id映射字典,参数重启生效,参数安装阶段配置,后续不支持修改。在DCF集群安装、升级、节点替换场景会涉及使用此参数。GUC参数synchronous_standby_names中配置的standby_name需包含在此字典内。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串。配置格式例如: 'stanby_name1:dcf_node_id1,standy_name2:dcf_node_id2',DN备机名称对应的DCF node_id数值,使用逗号分隔。 默认值:空字符串
  • dcf_log_file_permission 参数说明:DCF运行日志文件属性,参数重启生效,参数安装阶段配置,后续不支持修改。若用户需要支持同组的其他用户访问日志,首先需要所有的父目录都支持同组的其他用户也能访问。即若参数dcf_log_path_permission配置为750,dcf_log_file_permission只能为600或者640。若参数dcf_log_path_permission配置为700,dcf_log_file_permission只能为600。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举型,600、640 默认值:600
  • dcf_election_timeout 参数说明:DCF leader和follower选举超时时间。选举超时时间数值依赖于当前DN之间的网络状况,在超时时间较小且网络极差的情形下,会有超时选举发生,待网络恢复选举恢复正常。建议根据当前网络状态合理设置超时时间。对DCF节点时钟的约束:DCF节点间最大时钟差异小于选举超时时间的一半。在DCF手动选举模式下,为了不影响CM及时仲裁选举,禁止对该参数配置修改,按默认选举超时时间设置即可。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,单位s,1~600 默认值:3
  • dcf_majority_groups 参数说明:DCF策略化多数派功能设置。对于需要配置此参数的group,该group内至少有一台备机收到日志。即该group内存在一台同步备机。若对DCF实例内做了增删节点或者对实例内节点group值进行了调整修改,需同步修改此配置。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 关闭:“”,空字符串表示策略化多数派功能关闭。 开启: 配置有效的group值,使用逗号分隔,group值需在dcf_config中存在。例如将group值分别为1和2,加入DCF的策略化多数派配置时,可以设置为"1,2";若配置了dcf_config中不存在的group值或者其他字符,DCF将认为该配置的group无效。 默认值:空字符串 若配置了参数后某一group内所有节点均故障,在对其中某个节点做涉及节点build相关操作(节点修复、不换ip的节点替换)时,需要将该group从此参数列表中移除,待节点恢复正常后可将该group再次配置到此参数。
  • dcf_run_mode 参数说明:DCF选举模式,0表示自动选举模式,1表示手动选举模式,2表示去使能选举模式。目前去使能选举模式只限定少数派恢复场景使用,修改会导致数据库实例不可用。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 须知:集群在正常状态下进行工作模式切换才能保证切换后工作正常。GUC参数设置和cm_ctl设置的DCF工作模式需要保持一致,即两者需要同步设置为DCF手动或自动模式。 例如,设置DCF手动模式如下: cm_ctl set --param --server -k dn_arbitrate_mode=quorumcm_ctl reload --param --servergs_guc reload -Z datanode -I all -N all -c "dcf_run_mode=1" 设置DCF自动模式如下: cm_ctl set --param --server -k dn_arbitrate_mode=paxoscm_ctl reload --param --servergs_guc reload -Z datanode -I all -N all -c "dcf_run_mode=0" 取值范围:枚举类型,0、1、2 默认值:1
  • dcf_log_level 参数说明:DCF日志级别。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 关闭日志:“NONE”,NONE表示关闭日志打印,不能与以下日志级别混合使用。 开启日志:“RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER” 日志级别可以从上述字符串中选取字符串并使用竖线组合使用,不能配置空串。 默认值:“RUN_ERR|RUN_WAR|DEBUG_ERR|OPER|RUN_INF|PROFILE”
  • enable_ai_watchdog_forcible_oom_detection 参数说明:强制开启或关闭AI Watchdog的OOM探测功能,若关闭该参数,则会自动根据当前数据库的规格判断是否需要启动OOM探测功能。自动判断模式下,对于max_process_memory 设置为64GB及以上的场景,才会启动OOM探测功能。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on:表示开启。 off:表示关闭。 默认值:off
  • multi_stats_type 参数说明:该参数用于指定在参数enable_ai_stats为on状态下创建的统计信息类别。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:枚举类型,有效值为"BAYESNET"、"MCV"、"ALL"。 "BAYESNET":只创建智能统计信息。 "MCV":只创建传统统计信息。 "ALL":同时创建传统统计信息和智能统计信息。 默认值:"BAYESNET"
  • enable_hypo_index 参数说明:该参数控制数据库的优化器进行EXPLAIN时是否考虑创建的虚拟索引。通过对特定的查询语句执行explain,用户可根据优化器给出的执行计划评估该索引是否能够提升该查询语句的执行效率。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示在进行EXPLAIN时创建虚拟索引。 off表示在进行EXPLAIN时不创建虚拟索引。 默认值:off
  • 数据库逻辑结构图 集群的每个DN负责存储数据,其存储介质也是磁盘,本节主要从逻辑视角介绍每个DN上都有哪些对象,以及这些对象之间的关系。另外介绍一下数据在不同节点的分布方式。数据库逻辑结构如图1所示。 图1 数据库逻辑结构图 Tablespace,即表空间,是一个目录,可以存在多个,里面存储的是它所包含的数据库的各种物理文件。每个表空间可以对应多个Database。 Database,即数据库,用于管理各类数据对象,各数据库间相互隔离。数据库管理的对象可分布在多个Tablespace上。 Datafile Segment,即数据文件,通常每张表只对应一个数据文件。如果某张表的数据大于1GB,则会分为多个数据文件存储。 Table,即表,每张表只能属于一个数据库,也只能对应到一个Tablespace。每张表对应的数据文件必须在同一个Tablespace中。 Block,即数据块,是数据库管理的基本单位,默认大小为8KB。 数据在不同的DN上有四种分布方式,可以在建表的时候指定:REPLICATION、HASH、RANGE、LIST。 父主题: 数据库系统概述
  • 事务管理 在事务管理上,GaussDB采取了MVCC(多版本并发控制)结合两阶段锁的方式,其特点是读写之间不阻塞。GaussDB的astore存储引擎没有将历史版本数据统一存放,而是和当前元组的版本放在了一起。GaussDB的astore存储引擎没有回滚段的概念,但是为了定期清除历史版本数据,GaussDB的astore存储引擎引入了一个VACUUM线程。一般情况下,除非用户要做性能调优,否则不用特别关注VACUUM线程。GaussDB的ustore存储引擎是将历史版本数据统一存放到undo回滚段里,由undo回收线程统一清理历史版本数据。此外,GaussDB对于单语句查询(没有使用BEGIN等语句显示启动事务块)是自动提交事务的。
  • 默认权限机制 数据库对象创建后,进行对象创建的用户就是该对象的所有者。集群安装后默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。 为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。 GaussDB支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFEREN CES 、CREATE、CONNECT、EXECUTE、USAGE、ALTER、DROP、COMMENT、INDEX和VACUUM。不同的权限与不同的对象类型关联。有关各权限的详细信息,请参见GRANT。 要撤消已经授予的权限,可以使用REVOKE。对象所有者的权限(例如ALTER、DROP、COMMENT、INDEX、VACUUM、GRANT和REVOKE)是隐式拥有的,即只要拥有对象就可以执行对象所有者的这些隐式权限。对象所有者可以撤消自己的普通权限,例如,使表对自己以及其他人只读。 系统表和系统视图要么只对系统管理员可见,要么对所有用户可见。标识了需要系统管理员权限的系统表和视图只有系统管理员可以查询。有关信息,请参考Schema。 数据库提供对象隔离的特性,对象隔离特性开启时,用户只能查看有权限访问的对象(表、视图、字段、函数),系统管理员不受影响。有关信息,请参考ALTER DATABASE。 对于系统视图等对象,升级脚本会对相关权限处理,如果升级前用户修改了权限,无法保证升级后保留用户在升级前修改的权限。 不建议用户修改系统表和系统视图的权限。 父主题: 用户及权限
  • thread_pool_stream_attr 参数说明:用于控制stream线程池功能的详细属性,stream线程只在DN生效,该参数仅在enable_thread_pool打开后生效,仅sysadmin用户可以访问。该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,长度大于0 该参数分为4个部分,'stream_thread_num, stream_proc_ratio ,group_num ,cpubind_info',这4个部分的具体含义如下: stream_thread_num:stream线程池中的线程总数,取值范围是0~4096。其中0的含义是数据库根据系统CPU core的数量来自动配置线程池的线程数,如果参数值大于0,线程池中的线程数等于stream_thread_num。线程池大小推荐根据硬件配置设置,计算公式如下:stream_thread_num = CPU核数*3~5,stream_thread_num最大值为4096。 stream_proc_ratio:预留给stream线程的proc数量比例,浮点类型,默认为0.2,预留proc计算方式为:stream_proc_ratio * stream_thread_num。 group_num:线程池中的线程分组个数,取值范围是0~64。其中0的含义是数据库根据系统NUMA组的个数来自动配置线程池的线程分组个数,如果参数值大于0,线程池中的线程组个数等于group_num。thread_pool_stream_attr的group_num需与thread_pool_attr的group_num配置和使用保持一致,若设置为不同值,以thread_pool_attr的group_num为准。 cpubind_info:线程池是否绑核的配置参数。可选择的配置方式有集中:1. '(nobind)' ,线程不做绑核;2. '(allbind)',利用当前系统所有能查询到的CPU core做线程绑核;3. '(nodebind: 1, 2)',利用NUMA组1,2中的CPU core进行绑核;4. '(cpubind: 0-30)',利用0-30号CPU core进行绑核;5. '(numabind: 0-30)',在NUMA组内利用0-30号CPU core进行绑核。该参数不区分大小写。thread_pool_stream_attr的cpubind_info需与thread_pool_attr的cpubind_info配置和使用保持一致,若设置为不同值,以thread_pool_attr的cpubind_info为准。 默认值: stream_thread_num:16 stream_proc_ratio:0.2 group_num、cpubind_info:参见thread_pool_attr。
  • resilience_threadpool_reject_cond 参数说明:用于控制线程池过载逃生的线程池使用率比例。该参数仅在GUC参数enable_thread_pool和use_workload_manager打开时生效。该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,长度大于0 该参数分为recover_threadpool_percent、overload_threadpool_percent 2部分,这2个部分的具体含义如下: recover_threadpool_percent:线程池恢复正常状态时的线程池使用率,当线程池使用率小于该值时,停止过载逃生并放开新连接接入,取值为0~INT_MAX,设置为多少表示百分之多少。 overload_threadpool_percent:线程池过载时的线程池使用率,当线程池使用率大于该值时,表示当前线程池已经过载,触发过载逃生kill会话并禁止新连接接入,取值为0~INT_MAX,设置为多少表示百分之多少。 默认值:'0,0',表示关闭线程池逃生功能。 示例: resilience_threadpool_reject_cond = '50,90' 表示线程池使用率超过90%后禁止新连接接入并kill堆积的会话,kill会话过程中线程池使用率下降到50%时停止kill会话并允许新连接接入。 线程池使用率可以通过DBE_PERF.local_threadpool_status视图查询获得;线程池设置的初试线程池线程数目可以通过查询thread_pool_attr参数获得。 该参数如果设置的百分比过小,则会频繁触发线程池过载逃生流程,会使正在执行的会话被强制退出,新连接短时间接入失败,需要根据实际线程池使用情况慎重设置。 use_workload_manager参数关闭的情况下,如果打开bypass_workload_manager,则该参数也会生效,但是因为bypass_workload_manager是SIGHUP类型,reload方式设置后需要重启数据库才会使得当前功能生效。 recover_threadpool_percent和overload_threadpool_percent的值可以同时为0,除此之外,recover_threadpool_percent的值必须要小于overload_threadpool_percent,否则会设置不生效。
  • enable_standby_read 参数说明:控制session开启备机读功能。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示该session开启分布式备机读功能。 off表示该session不开启分布式备机读功能。 默认值:off 仅在gtm-free模式、非事务块内、hot-standby模式下支持开启。 该参数只能在session级别设置,不支持gs_guc方式进行设置。 若在非session级别设置(如手动在配置文件中将该参数打开),在参数冲突时,会导致集群无法拉起;在参数不冲突时,会导致后台线程如autovacuum、WorkloadMonitor等也开启分布式备机读模式,其DDL、DML等作业会受到影响而报错。
  • thread_pool_attr 参数说明:用于控制线程池功能的详细属性,该参数仅在enable_thread_pool打开后生效,仅sysadmin用户可以访问。该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,长度大于0 该参数分为3个部分,'thread_num, group_num, cpubind_info',这3个部分的具体含义如下: thread_num:线程池中的线程总数,取值范围是0~4096。其中0的含义是数据库根据系统CPU core的数量来自动配置线程池的线程数,如果参数值大于0,线程池中的线程数等于thread_num。线程池大小推荐根据硬件配置设置,计算公式如下:thread_num = CPU核数*3~5,thread_num最大值为4096。 group_num:线程池中的线程分组个数,取值范围是0~64。其中0的含义是数据库根据系统NUMA组的个数来自动配置线程池的线程分组个数,如果参数值大于0,线程池中的线程组个数等于group_num。 cpubind_info:线程池是否绑核的配置参数。可选择的配置方式有集中:1. '(nobind)' ,线程不做绑核;2. '(allbind)',利用当前系统所有能查询到的CPU core做线程绑核;3. '(nodebind: 1, 2)',利用NUMA组1,2中的CPU core进行绑核;4. '(cpubind: 0-30)',利用0-30号CPU core进行绑核;5. '(numabind: 0-30)',在NUMA组内利用0-30号CPU core进行绑核。该参数不区分大小写。 默认值: 独立部署:'1024,2,(nobind)'(60核CPU/480G内存,32核CPU/256G内存);'512,2,(nobind)'(16核CPU/128G内存);'256,2,(nobind)'(8核CPU/64G内存);'128,2,(nobind)'(4核CPU/32G内存);'64,2,(nobind)'(4核CPU/16G内存) 金融版(标准型): CN:'1024,2,(nobind)'(196核CPU/1536G内存);'768,2,(nobind)'(128核CPU/1024G内存,104核CPU/1024G内存);'684,2,(nobind)'(96核CPU/1024G内存,96核CPU/768G内存);'512,2,(nobind)'(80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);'256,2,(nobind)'(32核CPU/256G内存),'128,2,(nobind)'(16核CPU/128G内存);'64,2,(nobind)'(8核CPU/64G内存) DN:'4096,2,(nobind)'(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);'2048,2,(nobind)'(32核CPU/256G内存),'1024,2,(nobind)'(16核CPU/128G内存);'512,2,(nobind)'(8核CPU/64G内存) 企业版: CN:'1024,2,(nobind)'(196核CPU/1536G内存);'768,2,(nobind)'(128核CPU/1024G内存,104核CPU/1024G内存);'512,2,(nobind)'(96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);'256,2,(nobind)'(32核CPU/256G内存);'128,2,(nobind)'(16核CPU/128G内存);'64,2,(nobind)'(8核CPU/64G内存) DN:'1536,2,(nobind)'(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存);'1024,2,(nobind)'(96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);'512,2,(nobind)'(32核CPU/256G内存);'256,2,(nobind)'(16核CPU/128G内存);'128,2,(nobind)'(8核CPU/64G内存) 金融版(数据计算型): CN:'768,2,(nobind)'(196核CPU/1536G内存);'512,2,(nobind)'(128核CPU/1024G内存,96核CPU/768G内存);'256,2,(nobind)'(72核CPU/576G内存);'128,2,(nobind)'(64核CPU/512G内存);'64,2,(nobind)'(32核CPU/256G内存) DN:'2048,2,(nobind)'(196核CPU/1536G内存,128核CPU/1024G内存,96核CPU/768G内存);'1024,2,(nobind)'(72核CPU/576G内存);'512,2,(nobind)'(64核CPU/512G内存);'256,2,(nobind)'(32核CPU/256G内存)
  • undo_limit_size_per_transaction 参数说明:用于控制单事务undo分配空间阈值,达到阈值时事务报错回滚。建议设置undo_limit_size_per_transaction参数不大于undo_space_limit_size参数。若设置的undo_limit_size_per_transaction参数大于undo_space_limit_size参数,用户调用show undo_limit_size_per_transaction命令查询参数值时,显示出来的值和用户设置的值仍保持一致,只是在使用时会取undo_space_limit_size和undo_limit_size_per_transaction两者的较小值,作为实际的单事务undo分配空间阈值。如果设置 undo_limit_size_per_transaction 超过 1TB,可能会影响系统的性能和稳定性。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,256~2147483647,单位为8KB。 默认值:32GB
  • max_size_for_xlog_retention 参数说明:用于控制何时触发备份复制槽的强制推进,以避免由于备份操作过程中日志无法回收导致磁盘满、集群只读等影响。该参数实际设置值建议比cm_server组件的datastorage_threshold_value_check略小一点,以避免集群进入只读状态。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:-100 ~ 2147483647 0表示关闭该功能。 负值表示按磁盘阈值触发,如-80,表示当磁盘阈值超过80%,且日志回收是由于备份操作被阻塞,那么会触发备份复制槽的强制推进。 正值表示按日志积压大小触发,如32,表示当备份复制槽落后当前检查点redo位置超过32段日志大小(每段日志大小为16MB),且日志回收是由于备份操作被阻塞,那么会触发备份复制槽的强制推进。 默认值:0
  • udf_memory_limit 参数说明:控制每个CN、DN执行UDF时可用的最大物理内存量。本参数当前版本不生效,请使用FencedUDFMemoryLimit和UDFWorkerMemHardLimit参数控制fenced udf worker虚存。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,200*1024~2147483647,单位为KB。 默认值:200MB
  • max_cbm_retention_time 参数说明:用于控制何时触发备份CBM文件的强制回收,以避免由于备份操作过程中CBM文件无法回收导致磁盘满、集群只读等影响。该参数实际设置值建议按照全备的时间间隔设置。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:86400 ~ 2147483647 时间单位为秒。 最小值为1天。 默认值为2周。 默认值:1209600
  • global_syscache_threshold 参数说明:全局系统缓存内存最大占用大小。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 需要打开enable_global_syscache参数。 取值范围:整型,16384 ~ 1073741824,单位为KB。 默认值:163840 推荐计算公式:热点DB个数和线程个数的最小值乘以每个DB分配的内存大小,即global_syscache_threshold = min(count(hot dbs),count(threads)) * memofdb。 热点DB数即访问较为频繁的数据库,线程数在线程池模式下取线程池线程个数和后台线程个数之和,非线程池模式不需要计算这个值,直接使用热点DB数。 memofdb即平均每个db应该分配的内存,每个DB的底噪内存是2M,平均每增加一个表或者索引,增加11k内存。 如果设置的值过小,会导致内存频繁淘汰,内存存在大量碎片无法回收,导致内存控制失效。
共100000条