华为云用户手册

  • 概述 在PL/SQL函数和存储过程中查找性能问题可能会很困难。在系统或扩展视图中唯一可见的是从客户端发送的查询。在调用存储过程的情况下,这只是最外层的存储过程调用。plprofiler扩展可用于快速识别最耗时的存储过程,然后向下查看其中的单个语句耗时情况。 使用此工具,可以在会话中先创建存储过程及相关表信息,然后调用plprofiler接口对存储过程进行profiling,再执行存储过程,此时存储过程分析数据已生成。可以通过查询系统表去获取数据。表5 DBE_PROFILER.PL_PROFILING_FUNCTIONS可以查看此次profiling涉及的存储过程。 表6 DBE_PROFILER.PL_PROFILING_DETAILS查看存储过程内每条语句的执行时间细节。表7 DBE_PROFILER.PL_PROFILING_CALLGRAPH查看调用栈信息和对应每个存储过程执行的整体时间。表8 DBE_PROFILER.PL_PROFILING_TRACKINFO查看存储过程每个阶段的执行时间。可以通过接口DBE_PROFILER.PL_CLEAR_PROFILING去删除某次或所有profiling后储存在系统表里的数据。 dbe_profiler工具的原理是在执行pl_start_profiling后,系统会初始化内存以准备记录数据,然后对后续执行的存储过程进行打桩,在关键点记录详细信息,并将这些信息记录在内存中,等待事务提交之后才会将内存中的数据写入四张系统表。在事务中执行dbe_profiler工具时须注意,在事务执行阶段,由于事务未提交,所以内存中的数据不会写入系统表中,只有在执行commit后才会将数据写入系统表。同理,执行rollback后,会将所有数据进行清理。
  • 约束 dbe_profiler.pl_start_profiling不支持在存储过程内使用,在存储过程内调用不生效。 dbe_profiler.pl_start_profiling不支持事务失败记录统计信息到系统表。 dbe_profiler.pl_start_profiling入参runid长度限制为64,超长将会报错。 dbe_profiler.pl_start_profiling入参如果和profiler系统表内的runid重复将会报错。 plprofiler不支持匿名块语句、PACKAGE的初始化语句和嵌套子程序内的语句。 自治事务的提交和回滚不会影响主事务已提交的数据,因此plprofiler暂不支持记录包含自治事务的存储过程的信息。
  • 包含的接口和系统表 高级功能包DBE_PROFILER支持的所有接口请参见表1 DBE_PROFILER。 表1 DBE_PROFILER 接口名称 描述 DBE_PROFILER.PL_START_PLPROFILING 允许用户对目标存储过程进行profiling。 DBE_PROFILER.PL_CLEAR_PROFILING 删除某次或所有profiling后储存在系统表里的数据。 DBE_PROFILER.PL_START_PLPROFILING 允许用户对目标存储过程进行profiling。DBE_PROFILER.PL_START_PLPROFILING函数原型为: 1 DBE_PROFILER.PL_START_PLPROFILING (run_id varchar2(64)) return void; 表2 DBE_PROFILER.PL_START_PLPROFILING接口参数说明 参数 描述 run_id 表示此次profiling的执行编号,系统会将用户的session_id和执行编号拼接为形如sessionid_runid的字符串写入表中,作为本次profiling的唯一标识。 DBE_PROFILER.PL_CLEAR_PROFILING 删除某次或所有profiling后储存在系统表里的数据。DBE_PROFILER.PL_CLEAR_PROFILING函数原型为: 1 DBE_PROFILER.PL_CLEAR_PROFILING (run_id varchar2) return void; 表3 DBE_PROFILER.PL_CLEAR_PROFILING接口参数说明 参数 描述 run_id 非空值时,表示删除某次profiling数据的唯一标识;为空值时,表示删除所有profiling后的数据。
  • SPM_PLAN_CAPTURE_FILTER 参数说明:此参数用来指定要捕获的数据库与Schema。 参数类型:字符串 参数单位:无 取值范围:最多捕获10000个Schema,计数包括重复Schema。 参数的格式为:“$db1_oid:$schema1_oid, $db2_oid:$schema2_oid..”,例如符合该格式的一组参数“33245:56432,44321:12332,55432:65432”表示: 33245:56432表示捕获DB oid为33245且schema oid为56432下的SQL计划。 44321:12332表示捕获DB oid为44321且schema oid为12332下的SQL计划。 55432:65432表示捕获DB oid为55432且schema oid为65432下的SQL计划。 默认值:空字符串,表示SPM的计划捕获和计划选择功能包含所有Schema。 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:无
  • SPM_ENABLE_LOG_DETAIL 参数说明:在使用SPM的过程中,控制是否启用notice SPM关键执行流程。该参数通常和如下两个参数的设置配合使用,用于在gsql中查看SPM的执行过程:client_min_messages=notice;logging_module='on(SPM_KEY_FLOW)'。 参数类型:布尔型 参数单位:无 取值范围: on:表示启用。 off:表示关闭。 默认值:off 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:无
  • SPM_ENABLE_PLAN_CAPTURE 参数说明:此参数用来控制SPM计划捕获功能的计划捕获模式。 参数类型:枚举型 参数单位:无 取值范围:off、auto、manual、store off:表示不开启计划捕获功能。 auto:表示开启自动计划捕获功能。在这种模式下,SQL计划被捕获的前置条件是SQL被执行两次及以上。 manual:表示开启手动计划捕获功能。在这种模式下,SQL计划被捕获的前置条件不需要满足SQL被执行两次及以上。 store: 基于auto选项的行为,所有计划的状态都捕获为UNACC状态。 默认值:off 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 设置建议:无 升级期间,该参数是否开启,都不会捕获新的计划的outline。升级期间可能会发生升级回滚现象,当存储了新产生的outline,升级回滚后可能会存在outline版本兼容性的问题。
  • dilatation_shard_count_for_disk_capacity_alarm 参数说明:扩容场景下,设置新增的扩容分片数,用于上报磁盘容量告警时的阈值计算。 该分片数请与实际扩容分片数设置为一致。 取值范围:整型,0~232 - 1,单位为个。该参数设置为0,表示关闭磁盘扩容告警上报;该参数设置为大于0,表示开启磁盘扩容告警上报,且告警上报的阈值根据此参数设置的分片数量进行计算。修改后可以reload生效,参数修改请参见表2进行设置。 默认值:1
  • alarm_component 参数说明:设置用于处理告警内容的告警组件的位置。 取值范围:字符串。修改后可以reload生效,参数修改请参见表2进行设置。 若前置脚本gs_preinstall中的--alarm-type参数设置为5时,表示未对接第三方组件,告警写入system_alarm日志,此时GUC参数alarm_component的取值为:/opt/huawei/snas/bin/snas_cm_cmd。 若前置脚本gs_preinstall中的--alarm-type参数设置为1时,表示对接第三方组件,此时GUC参数alarm_component的值为第三方组件的可执行程序的绝对路径。 默认值:/opt/huawei/snas/bin/snas_cm_cmd
  • SUMMARY_STATIO_SYS_SEQUENCES SUMMARY_STATIO_SYS_SEQUENCES视图显示数据库内汇聚的命名空间中所有系统序列的I/O状态信息,如表1所示。 表1 SUMMARY_STATIO_SYS_SEQUENCES字段 名称 类型 描述 schemaname name 序列中模式名。 relname name 序列名。 blks_read numeric 从序列中读取的磁盘块数。 blks_hit numeric 序列中缓存命中数。 父主题: Cache/IO
  • DBE_SQL_UTIL.create_hint_sql_patch create_hint_sql_patch是用于创建调优SQL PATCH的接口函数,返回执行是否成功,如表1所示。 限制:仅初始用户、sysadmin、opradmin和monadmin用户有权限调用。 表1 DBE_SQL_UTIL.create_hint_sql_patch入参和返回值列表 参数 类型 描述 patch_name IN name PATCH名称。 unique_sql_id IN bigint 查询全局唯一id。 hint_string IN text Hint文本。 description IN text PATCH的备注,默认值为NULL。 enabled IN bool PATCH是否生效,默认值为true。 result OUT bool 执行是否成功。 父主题: DBE_SQL_UTIL Schema
  • GS_ADM_ILMRESULTS GS_ADM_ILMRESULTS视图反映ADO JOB的执行详情信息,包含Task ID,JOB名称、JOB状态、JOB时间信息等。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。 表1 GS_ADM_ILMRESULTS字段 名称 类型 描述 task_id bigint ADO Task的ID。 job_name character varying(128) ADO Job的任务名称。 job_state character varying(35) ADO Job的状态。 start_time timestamp with time zone JOB开始被调度的时间。 completion_time timestamp with time zone 完成时间。 comments character varying(4000) JOB失败后此处记录失败原因。 statistics clob 统计信息。 父主题: OLTP表压缩
  • ADM_RECYCLEBIN ADM_RECYCLEBIN显示所有回收站的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_RECYCLEBIN字段 名称 类型 描述 owner character varying(128) 对象的原始所有者名称。 object_name character varying(128) 对象的新名称。 original_name character varying(128) 对象的原始名称。 operation character varying(18) 对对象执行的操作: DROP:对象已删除(对象不再需要)。 TRUNCATE:对象被清空。 type character varying(25) 对象的类型。 ts_name character varying(30) 对象所属的表空间名称。 createtime character varying(19) 创建对象的时间戳。 droptime character varying(19) 删除对象的时间戳。 dropscn numeric 将对象移动到回收站的事务的系统更改编号(SCN)。 partition_name character varying(128) 已删除的分区的名称。 can_undrop character varying(3) 对象是否可以闪回。 can_purge character varying(3) 对象是否可以清除。 related numeric 父对象的对象编号。 base_object oid 基对象的对象编号。 purge_object oid 被清除的对象的对象编号。 space numeric 对象使用的块数。 父主题: 其他系统视图
  • max_pred_locks_per_transaction 参数说明:控制每个事务允许断定锁的最大数量,是一个平均值。 共享的断定锁表的大小是以假设任意时刻最多只有max_pred_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。不超过设定数量的多个对象可以在任一时刻同时被锁定。当在一个事务里面修改很多不同的表时,可能需要提高这个默认数值。只能在服务器启动的时候设置。 增大这个参数可能导致GaussDB请求更多的System V共享内存,有可能超过操作系统的缺省配置。 该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 取值范围:整型,10 ~ INT_MAX。 默认值:64
  • xloginsert_locks 参数说明:控制用于并发写预写式日志锁的个数。主要用于提高写预写式日志的效率。 参数类型:整型 参数单位:无 取值范围:最小值1,最大值1000。若CPU为NUMA架构,数值必须为NUMA节点数量的整数倍。 默认值:16 设置方式:该参数属于POSTMASTER类型参数,参考表1中对应设置方法进行设置。 设置建议:ARM CPU架构在并发压力大的场景下,可能因为原子操作的竞争而导致概率性的性能抖动,可以适当降低该参数值而获取相对稳定的运行性能。
  • num_internal_lock_partitions 参数说明:控制内部轻量级锁分区的个数。主要用于各类场景的性能调优。内容以关键字和数字的KV方式组织,各个不同类型锁之间以逗号隔开。先后顺序对设置结果不影响,例如“CLOG_PART=256,CSNLOG_PART=512”等同于“CSNLOG_PART=512,CLOG_PART=256”。重复设置同一关键字时,以最后一次设置为准,例如“CLOG_PART=256,CLOG_PART=2”,设置的结果为CLOG_PART=2。当没有设置关键字时,则为默认值,各类锁的使用描述和最大、最小、默认值如下。 CLOG_PART:CLOG文件控制器的个数,增大该值可以提高CLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CLOG日志写入冲突变大,影响性能。最小值为1,最大值为256。 CSNLOG_PART:CSNLOG文件控制器的个数,增大该值可以提高CSNLOG日志写入效率,提升事务提交性能,但是会增大内存使用;减小该值会减少相应内存使用,但可能使得CSNLOG日志写入冲突变大,影响性能。最小值为1,最大值为512。 LOG2_LOCKTABLE_PART:常规锁表锁分区个数的2对数,增大该值可以提升正常流程常规锁获取锁的并行度,但是可能增加锁转移和锁消除时的耗时,对于等待事件在LockMgrLock时,可以调大该锁增加性能。最小值4,即锁分区数为16;最大值为16,即锁分区数为65536。 TWOPHASE_PART:两阶段事务锁的分区数,调大该值可以提高两阶段事务提交的并发数。最小值为1,最大值为64。 FASTPATH_PART:每个线程可以不通过主锁表拿锁的最大锁个数,对于分区表读取、更新、插入、删除操作且等待事件在LockMgrLock时,可以通过调大该值避免获取LockMgrLock提升性能,建议调整数量大于等于分区数*(1+本地索引数量)+全局索引数量+10,调大该值会额外增加内存。最小值为20,最大值为10000。 该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。 取值范围:字符串 默认值: 'CLOG_PART=256,CSNLOG_PART=512,LOG2_LOCKTABLE_PART=4,TWOPHASE_PART=1,FASTPATH_PART=20'(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);'CLOG_PART=8,CSNLOG_PART=16,LOG2_LOCKTABLE_PART=4,TWOPHASE_PART=1,FASTPATH_PART=20'(4核CPU/16G内存)。
  • partition_lock_upgrade_timeout 参数说明:在执行某些查询语句的过程中,会需要将分区表上的锁级别由允许读的ExclusiveLock级别升级到读写阻塞的AccessExclusiveLock级别。如果此时已经存在并发的读事务,那么该锁升级操作将阻塞等待。partition_lock_upgrade_timeout为尝试锁升级的等待超时时间。 在分区表上进行MERGE PARTITION和CLUSTER PARTITION操作时,都利用了临时表进行数据重排和文件交换,为了尽可能提高分区上的操作并发度,在数据重排阶段给相关分区加锁ExclusiveLock,在文件交换阶段加锁AccessExclusiveLock。 常规加锁方式是等待加锁,直到加锁成功,或者等待时间超过lockwait_timeout发生超时失败。 在分区表上进行MERGE PARTITION或CLUSTER PARTITION操作时,进入文件交换阶段需要申请加锁AccessExclusiveLock,加锁方式是尝试性加锁,加锁成功了则立即返回,不成功则等待50ms后继续下次尝试,加锁超时时间使用会话级设置参数partition_lock_upgrade_timeout。 特殊值:若partition_lock_upgrade_timeout取值-1,表示无限等待,即不停的尝试锁升级,直到加锁成功。 该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。 取值范围:整型,最小值-1,最大值3000,单位为秒(s)。 默认值:1800
  • deadlock_timeout 参数说明:设置死锁超时检测时间。当申请的锁超过设定值时,系统会检查是否产生了死锁。该参数仅针对常规锁生效。 参数类型:整型 参数单位:毫秒(ms) 取值范围:1~2147483647 默认值:1s 设置方式:该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。 设置建议: 死锁的检查代价是比较高的,服务器不会在每次等待锁的时候都运行这个过程。在系统运行过程中,不经常出现死锁情况,因此在检查死锁前只需等待一个相对较短的时间。deadlock_timeout增加,可以减少死锁检查浪费的时间,但是会减慢真正的死锁错误报告的速度。在负载过重的服务器上,用户可能需要增大deadlock_timeout。这个值的设置应该超过事务持续时间,这样可以减少在锁释放之前就开始死锁检查的问题。 当设置log_lock_waits为on时,deadlock_timeout决定一个等待时间来将查询执行过程中的锁等待耗时信息写入日志。如果要研究锁延时情况,可以设置deadlock_timeout值比正常情况小。
  • lockwait_timeout 参数说明:控制单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错。该参数仅针对常规锁生效。 参数类型:整型 参数单位:毫秒(ms) 取值范围:0 ~ INT_MAX 默认值:20min 设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值900,表示lockwait_timeout为900ms;带单位取值20min,表示lockwait_timeout为20min。取值如果要带单位,必须为ms、s、min、h、d。 设置建议:一般设置为默认值。根据业务需要,如果业务需要锁冲突超过多久,该参数就设置多少。
  • update_lockwait_timeout 参数说明:允许并发更新参数开启情况下,该参数控制并发更新同一行时单个锁的最长等待时间。当申请的锁等待时间超过设定值时,系统会报错。该参数仅针对常规锁生效。 参数类型:整型 参数单位:毫秒(ms) 取值范围:0 ~ 2147483647 默认值:2min(120000ms) 设置方式:该参数属于SUSET类型参数,请参见表1中对应设置方法进行设置。例如,不带单位取值900,表示update_lockwait_timeout为900ms;带单位取值2min,表示update_lockwait_timeout为2min。取值如果要带单位,必须为ms、s、min、h、d。 设置建议:主要观测并发更新同一行的事务的workload。一般TP业务,执行时间较短小于两分钟,此时默认值误报概率较小;如果业务出现大量并发更新同一行事务,执行时间超过两分钟,可以调大该参数避免等锁超时误报。
  • 示例 修改策略描述: --创建一个表tb_for_masking。 gaussdb=# CREATE TABLE tb_for_masking(idx int, col1 text, col2 text, col3 text, col4 text, col5 text, col6 text, col7 text,col8 text); --向表tb_for_masking插入数据。 gaussdb=# INSERT INTO tb_for_masking VALUES(1, '9876543210', 'usr321usr', 'abc@huawei.com', 'abc@huawei.com', '1234-4567-7890-0123', 'abcdef 123456 ui 323 jsfd321 j3k2l3', '4880-9898-4545-2525', 'this is a llt case'); --查看数据。 gaussdb=# SELECT * FROM tb_for_masking; idx | col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 -----+------------+-----------+----------------+----------------+---------------------+------------------------------- ------+---------------------+-------------------- 1 | 9876543210 | usr321usr | abc@huawei.com | abc@huawei.com | 1234-4567-7890-0123 | abcdef 123456 ui 323 jsfd321 j 3k2l3 | 4880-9898-4545-2525 | this is a llt case (1 row) --创建资源标签标记敏感列col1。 gaussdb=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); --创建一个名为maskpol1的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); --为脱敏策略maskpol1添加描述。 gaussdb=# ALTER MASKING POLICY maskpol1 COMMENTS 'masking policy for tb_for_masking.col1'; --查看脱敏策略maskpol1的描述。 gaussdb=# SELECT * FROM GS_MASKING_POLICY; polname | polcomments | modifydate | polenabled ----------+----------------------------------------+----------------------------+------------ maskpol1 | masking policy for tb_for_masking.col1 | 2023-11-07 16:38:31.607374 | t (1 row) 修改脱敏策略: --创建资源标签标记敏感列col2。 gaussdb=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); --脱敏策略maskpol1新增randommasking的脱敏方式。 gaussdb=# ALTER MASKING POLICY maskpol1 ADD randommasking ON LABEL(mask_lb2); --访问tb_for_masking表,col2列触发脱敏策略。 gaussdb=# SELECT col2 FROM tb_for_masking; col2 ------------ 27e8da66cc (1 row) --脱敏策略maskpol1移除randommasking的脱敏方式。 gaussdb=# ALTER MASKING POLICY maskpol1 REMOVE randommasking ON LABEL(mask_lb2); --访问表tb_for_masking,col2列的数据没有脱敏,说明脱敏方式randommasking失效。 gaussdb=# SELECT col2 FROM tb_for_masking; col2 ----------- usr321usr (1 row) --脱敏策略maskpol1修改为randommasking的脱敏方式。 gaussdb=# ALTER MASKING POLICY maskpol1 MODIFY randommasking ON LABEL(mask_lb1); --访问tb_for_masking表,col1列触发脱敏策略。 gaussdb=# SELECT col1 FROM tb_for_masking; col1 ------------ 5a03debac1 (1 row) 修改脱敏策略生效场景: --创建dev_mask和bob_mask用户。 gaussdb=# CREATE USER dev_mask PASSWORD '********'; gaussdb=# CREATE USER bob_mask PASSWORD '*********'; --创建资源标签标记敏感列col8。 gaussdb=# CREATE RESOURCE LABEL mask_lb8 ADD COLUMN(tb_for_masking.col8); --创建一个名为maskpol8的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol8 randommasking ON LABEL(mask_lb8) FILTER ON ROLES(dev_mask, bob_mask), APP(gsql), IP('172.31.17.160', '127.0.0.0/24'); --修改脱敏策略maskpol8的过滤信息ROLES。 gaussdb=# ALTER MASKING POLICY maskpol1 MODIFY (FILTER ON ROLES(dev_mask)); --使用dev_mask用户查看tb_for_masking。 gaussdb=# GRANT ALL PRIVILEGES TO dev_mask; --访问tb_for_masking表,col8列触发脱敏策略。 gaussdb=# SELECT col8 FROM tb_for_masking; col8 -------------------- f134e06ef528013b46 (1 row) 移除脱敏策略生效场景,使策略对所用场景生效: gaussdb=# ALTER MASKING POLICY maskpol1 DROP FILTER; 禁用脱敏策略: --禁用脱敏策略maskpol1。 gaussdb=# ALTER MASKING POLICY maskpol1 DISABLE; --查看脱敏策略maskpol1的状态,polenabled字段的值为f,说明该脱敏策略禁用成功。 gaussdb=# SELECT * FROM GS_MASKING_POLICY; polname | polcomments | modifydate | polenabled ----------+-------------+----------------------------+------------ maskpol1 | | 2023-11-07 17:22:54.594111 | f 删除数据: --删除脱敏策略。 gaussdb=# DROP MASKING POLICY maskpol1, maskpol8; --删除资源标签。 gaussdb=# DROP RESOURCE LABEL mask_lb1, mask_lb2, mask_lb8; --删除表tb_for_masking。 gaussdb=# DROP TABLE tb_for_masking; --删除用户dev_mask和bob_mask。 gaussdb=# DROP USER dev_mask, bob_mask;
  • 参数说明 policy_name 脱敏策略名称,需要唯一,不可重复。 取值范围:字符串,要符合标识符命名规范。 policy_comments 需要为脱敏策略添加或修改的描述信息。 masking_function 指的是预置的八种脱敏方式或者用户自定义的函数,支持模式。 maskall不是预置函数,不支持\df展示。 预置时脱敏方式如下: { maskall | randommasking | creditcardmasking | basicemailmasking | fullemailmasking | shufflemasking | alldigitsmasking | regexpmasking } label_name 资源标签名称。 FILTER_TYPE 指定脱敏策略的过滤信息,过滤类型包括:IP、ROLES、APP。 filter_value 指具体过滤信息内容,例如具体的IP,具体的APP名称,具体的用户名。 ENABLE|DISABLE 可以打开或关闭脱敏策略。若不指定ENABLE|DISABLE,语句默认为ENABLE。
  • 语法格式 修改策略描述: 1 ALTER MASKING POLICY policy_name COMMENTS policy_comments; 修改脱敏方式: 1 ALTER MASKING POLICY policy_name {ADD | REMOVE | MODIFY} masking_actions[, ...]; 其中masking_actions: 1 masking_function ON LABEL(label_name[, ...]) 其中masking_function: 1 {maskall | randommasking | creditcardmasking | basicemailmasking | fullemailmasking | shufflemasking | alldigitsmasking | regepmasking} 修改脱敏策略生效场景: 1 ALTER MASKING POLICY policy_name MODIFY (filter_group_clause); 其中filter_group_clause: 1 FILTER ON { ( FILTER_TYPE ( filter_value [, ... ] ) ) [, ... ] } 移除脱敏策略生效场景,使策略对所用场景生效: 1 ALTER MASKING POLICY policy_name DROP FILTER; 修改脱敏策略开启/关闭: 1 ALTER MASKING POLICY policy_name {ENABLE | DISABLE};
  • ADM_COL_COMMENTS ADM_COL_COMMENTS视图显示数据库表中字段的注释信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_COL_COMMENTS字段 名称 类型 描述 owner character varying(128) 表的所有者。 table_name character varying(128) 表名。 column_name character varying(128) 列名。 comments text 注释。 origin_con_id numeric 暂不支持,值为0。 schema character varying(64) 列所属的名称空间的名称。 父主题: 其他系统视图
  • V_MYSTAT V_MYSTAT视图显示数据库所有会话统计信息。该视图只有系统管理员可以访问,普通用户需要授权才能访问,该视图同时存在于PG_CATALOG和SYS Schema下。 表1 V_MYSTAT字段 名称 类型 描述 sid numeric 当前会话的ID。 statistic# numeric 暂不支持,值为NULL。 value numeric 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 父主题: 其他系统视图
  • PG_SHADOW PG_SHADOW视图显示了所有在PG_AUTHID中标记了rolcanlogin的角色的属性,只有系统管理员权限才可以访问此系统视图。 该视图的信息与PG_USER是基本一致的,区别在于后者对密码做了敏感化处理,统一显示为********。 表1 PG_SHADOW字段 名称 类型 引用 描述 usename name PG_AUTHID.rolname 用户名。 usesysid oid PG_AUTHID.oid 用户的ID。 usecreatedb boolean - 用户是否可以创建数据库。 t(true):表示是。 f(false):表示否。 usesuper boolean - 用户是否是系统管理员。 t(true):表示是。 f(false):表示否。 usecatupd boolean - 用户是否可以更新视图。即使是系统管理员,如果该字段值为假,也不能更新视图。 userepl boolean - 用户是否可以复制数据流。 t(true):表示是。 f(false):表示否。 passwd text PG_AUTHID.rolpassword 密码密文,如果没有密码,则为NULL。 valbegin timestamp with time zone - 账户的有效开始时间。如果没有设置有效开始时间,则为NULL。 valuntil timestamp with time zone - 账户的有效结束时间。如果没有设置有效结束时间,则为NULL。 respool name - 用户所在的资源池。 parent oid - 父用户OID。 spacelimit text - 永久表的存储空间限额,单位KB。 useconfig text[] PG_DB_ROLE_SETTING.setconfig 运行时配置项的默认值。 tempspacelimit text - 临时表的存储空间限额,单位KB。 spillspacelimit text - 算子的落盘空间限额,单位KB。 usemonitoradmin boolean - 用户是否是监控管理员。 t(true):表示是。 f(false):表示否。 useoperatoradmin boolean - 用户是否是运维管理员。 t(true):表示是。 f(false):表示否。 usepolicyadmin boolean - 用户是否是安全策略管理员。 t(true):表示是。 f(false):表示否。 父主题: 用户和权限管理
  • package package是一组相关存储过程、函数、变量、常量和游标等PL/SQL程序的组合,具有面向对象的特点,可以对PL/SQL程序设计元素进行封装。package中的函数具有统一性,创建、删除、修改都统一进行。 package包含包头(Package Specification)和Package Body两个部分,其中包头所包含的声明可以被外部函数、匿名块等访问;而在包体中包含的声明不能被外部函数、匿名块等访问,只能被包体内函数和存储过程等访问。 PACKAGE的创建请参见CREATE PACKAGE。 跨PACKAGE变量不支持作为FOR循环中控制变量使用。 PACKAGE中定义类型不支持删除、修改等操作,也不支持定义表。 不支持以SCHEMA.PACKAGE.CURSOR的形式引用cursor变量。 带参数的CURSOR仅支持在当前PACKAGE内打开。 不支持package变量作为函数或存储过程参数的默认值。 父主题: 存储过程
  • ADM_TABLES ADM_TABLES视图显示关于数据库下的所有表信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_TABLES字段 名称 类型 描述 owner character varying(64) 表的所有者。 table_name character varying(64) 表名称。 tablespace_name character varying(64) 存储表的表空间名称。 dropped character varying 当前表是否已删除: YES:表示已删除。 NO:表示未删除。 num_rows numeric 表的估计行数。 status character varying(8) 当前表是否有效。 VALID:表示当前表有效。 UNUSABLE:表示当前表不可用。 sample_size numeric 分析表使用的样本数量。 temporary character(1) 是否为临时表: Y:是临时表。 N:不是临时表。 pct_free numeric 块中空闲空间的最小比例。 ini_trans numeric 事务的初始数量。 max_trans numeric 事务数量的最大值。 avg_row_len integer 平均每行的字节数。 partitioned character varying(3) 表是否为分区表。 YES:是分区表。 NO:不是分区表。 last_analyzed timestamp with time zone 上次分析表的时间。数据库重启后,数据会丢失。 row_movement character varying(8) 是否允许分区行移动。 ENABLED:允许分区行移动。 DISABLED:不允许分区行移动。 compression character varying(8) 是否启用表压缩。 ENABLED:启用表压缩。 DISABLED:不启用表压缩。 duration character varying(15) 临时表的期限。 NULL:表示非临时表。 sys$session:表示会话临时表。 sys$transaction:表示事务临时表。 logical_replication character varying(8) 表是否启用逻辑复制。 ENABLED:启用逻辑复制。 DISABLED:不启用逻辑复制。 external character varying(3) 表是否为外表。 YES:是外表。 NO:不是外表。 logging character varying(3) 表的更改是否记入日志。 YES:表的更改记录日志。 NO:表的更改不记录日志。 default_collation character varying(100) 表的默认排序规则。 degree character varying(10) 扫描表的实例数量。 table_lock character varying(8) 是否启用表级锁。 ENABLED:启用表级锁。 DISABLED:不启用表级锁。 nested character varying(3) 是否为嵌套表。 YES:是嵌套表。 NO:不是嵌套表。 buffer_pool character varying(7) 表的默认缓冲池。 flash_cache character varying(7) 暂不支持,值为NULL。 cell_flash_cache character varying(7) 暂不支持,值为NULL。 skip_corrupt character varying(8) 扫描表是否跳过损坏的块。 ENABLED:跳过损坏的块。 DISABLED:不跳过损坏的块。 has_identity character varying(3) 表是否具有标识列。 YES:有标识列。 NO:没有标识列。 segment_created character varying(3) 表段是否已被创建。 YES:表段已被创建。 NO:表段未被创建。 monitoring character varying(3) 是否跟踪表的修改。 YES:跟踪表的修改。 NO:不跟踪表的修改。 cluster_name character varying(128) 暂不支持,值为NULL。 iot_name character varying(128) 暂不支持,值为NULL。 pct_used numeric 暂不支持,值为NULL。 initial_extent numeric 暂不支持,值为NULL。 next_extent numeric 暂不支持,值为NULL。 min_extents numeric 暂不支持,值为NULL。 max_extents numeric 暂不支持,值为NULL。 pct_increase numeric 暂不支持,值为NULL。 freelists numeric 暂不支持,值为NULL。 freelist_groups numeric 暂不支持,值为NULL。 backed_up character varying(1) 暂不支持,值为NULL。 blocks numeric 暂不支持,值为NULL。 empty_blocks numeric 暂不支持,值为NULL。 avg_space numeric 暂不支持,值为NULL。 chain_cnt numeric 暂不支持,值为NULL。 avg_space_freelist_blocks numeric 暂不支持,值为NULL。 num_freelist_blocks numeric 暂不支持,值为NULL。 instances character varying(10) 暂不支持,值为NULL。 cache character varying(5) 暂不支持,值为NULL。 iot_type character varying(12) 暂不支持,值为NULL。 secondary character varying(1) 暂不支持,值为NULL。 global_stats character varying(3) 暂不支持,值为NULL。 user_stats character varying(3) 暂不支持,值为NULL。 cluster_owner character varying(30) 暂不支持,值为NULL。 dependencies character varying(8) 暂不支持,值为NULL。 compression_for character varying(30) 暂不支持,值为NULL。 read_only character varying(3) 暂不支持,值为NULL。 result_cache character varying(7) 暂不支持,值为NULL。 clustering character varying(3) 暂不支持,值为NULL。 activity_tracking character varying(23) 暂不支持,值为NULL。 dml_timestamp character varying(25) 暂不支持,值为NULL。 container_data character varying(3) 暂不支持,值为NULL。 inmemory_priority character varying(8) 暂不支持,值为NULL。 inmemory_distribute character varying(15) 暂不支持,值为NULL。 inmemory_compression character varying(17) 暂不支持,值为NULL。 inmemory_duplicate character varying(13) 暂不支持,值为NULL。 duplicated character varying(1) 暂不支持,值为NULL。 sharded character varying(1) 暂不支持,值为NULL。 hybrid character varying(3) 暂不支持,值为NULL。 cellmemory character varying(24) 暂不支持,值为NULL。 containers_default character varying(3) 暂不支持,值为NULL。 container_map character varying(3) 暂不支持,值为NULL。 extended_data_link character varying(3) 暂不支持,值为NULL。 extended_data_link_map character varying(3) 暂不支持,值为NULL。 inmemory_service character varying(12) 暂不支持,值为NULL。 inmemory_service_name character varying(1000) 暂不支持,值为NULL。 container_map_object character varying(3) 暂不支持,值为NULL。 memoptimize_read character varying(8) 暂不支持,值为NULL。 memoptimize_write character varying(8) 暂不支持,值为NULL。 has_sensitive_column character varying(3) 暂不支持,值为NULL。 admit_null character varying(3) 暂不支持,值为NULL。 data_link_dml_enabled character varying(3) 暂不支持,值为NULL。 object_id_type character varying(16) 暂不支持,值为NULL。 table_type_owner character varying(128) 暂不支持,值为NULL。 table_type character varying(128) 暂不支持,值为NULL。 compress_for character varying(30) 暂不支持,值为NULL。 父主题: 其他系统视图
  • DBE_PLDEBUGGER.info_locals debug端调试过程中,调用info_locals,打印当前存储过程内变量。该函数入参frameno表示查询遍历的栈层数,支持无入参调用,缺省为查看最上层栈变量,如表1所示。 表1 info_locals入参和返回值列表 名称 类型 描述 frameno IN integer (可选) 指定的栈层数,缺省为最顶层。 varname OUT text 变量名。 vartype OUT text 变量类型。 value OUT text 变量值。 package_name OUT text 变量对应的package名,非package时为空。 isconst OUT boolean 是否为常量。 父主题: DBE_PLDEBUGGER Schema
  • GLOBAL_STAT_XACT_ALL_TABLES 显示数据库各节点所有Schema中所有普通表和toast表的事务状态信息(不同节点下表的事务状态信息不进行汇总求和),如表1所示。 表1 GLOBAL_STAT_XACT_ALL_TABLES字段 名称 类型 描述 node_name name 节点名称。 relid oid 表的OID。 schemaname name 此表所在的Schema名。 relname name 表名。 seq_scan bigint 此表发起的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的活跃行数。 idx_scan bigint 此表发起的索引扫描数。 idx_tup_fetch bigint 索引扫描抓取的活跃行数。 n_tup_ins bigint 插入行数。 n_tup_upd bigint 更新行数。 n_tup_del bigint 删除行数。 n_tup_hot_upd bigint HOT更新行数(即没有更新索引列的行数)。 父主题: Object
  • PG_STAT_REPLICATION PG_STAT_REPLICATION视图显示日志同步线程的信息,如发起端发送日志位置,接收端接收日志位置等。 表1 PG_STAT_REPLICATION字段 名称 类型 描述 pid bigint 线程的PID。 usesysid oid 用户系统ID。 usename name 用户名。 application_name text 程序名称。 client_addr inet 客户端地址。 client_hostname text 客户端名。 client_port integer 客户端端口。 backend_start timestamp with time zone 程序启动时间。 state text 日志同步线程的状态: startup:线程正在启动。 catchup:线程正在建立备用服务器和主服务器的连接。 streaming:线程已建立备用服务器和主服务器的连接,正在进行数据的流复制。 backup:线程正在发送备份。 stopping:线程正在停止。 sender_sent_location text 发送端发送日志位置。 receiver_write_location text 接收端write日志位置。 receiver_flush_location text 接收端flush日志位置。 receiver_replay_location text 接收端replay日志位置。 sync_priority integer 同步复制的优先级(0表示异步)。 sync_state text 同步状态: async:异步复制。 sync:同步复制。 potential:该备用服务器现在是异步的,但假如一个当前的同步服务器发生故障,该服务器会变成同步的。 qurom:在同步与异步之间切换,保证备机中有大于一定数量的同步备机,同步备机数量一般为(n+1)/2-1,n为总副本个数。是否为同步备机取决于是否先接到了日志。详情可参考synchronous_standby_names参数描述。 父主题: 其他系统视图
共100000条