#23.1.1

# 23.1.1.0

以下将列出YashanDB所发布23.1.1.0版本相对于22.2.X版本的主要和明显的变化点,如您在使用过程中发现未在本文中列出,但对贵公司业务产生了影响的变化点,请咨询我们的技术支持获取详细解释说明。

# 安装部署

YashanDB软件包从本版本开始分三个发行版本:

  • 个人版 面向个人用户免费使用
  • 标准版 面向中大型用户,可满足中大型的数据规模和业务压力需求。
  • 企业版 面向大、超大型用户,提供全量企业级特性,同时提供可选option(共享集群,分布式,各类工具)

通过OM方式安装部署YashanDB时,数据库部署形态除支持单机(含主备)、分布式外,从本版本开始,支持共享集群部署形态。有关共享集群部署形态的详细信息,请参考产品文档中共享集群相关章节。

yasdb及yasql、yasom、imp/exp支持地址支持IPV6。

支持单机、分布式、共享集群的可视化部署。

# 系统视图

在原单机(含主备)形态下的动态视图(V$XX视图)和分布式形态下的分布式动态视图(DV$XX视图)基础上,新增共享集群形态的全局动态视图(GV$XX视图),有关全局动态视图的详细信息,请参考产品文档动态视图部分。 以下单机系统视图的部分字段含义在本版本发生变化(或新增),请查询参考手册获取详细信息:

视图名称 变更类型 视图描述或变更详情
ALL_DB_LINKS 新增 显示当前用户可访问的所有数据库链接信息
ALL_IND_SUBPARTITIONS 新增 显示当前用户可访问的所有索引子分区信息
ALL_LOB_SUBPARTITIONS 新增 显示当前用户可访问的所有lob子分区信息
ALL_MVIEWS 新增 显示当前用户可访问的所有物化视图信息
ALL_SUBPART_KEY_COLUMNS 新增 显示当前用户可访问的所有的二级分区键列信息
ALL_SUBPARTITION_TEMPLATES 新增 显示当前用户可访问的所有子分区模板信息
ALL_TAB_SUBPARTITIONS 新增 显示当前用户可访问的所有子分区信息
DBA_DATA_BUCKETS 修改 移除BUCKET_URL字段,新加BUCKET_NAME字段
DBA_DB_LINKS 新增 显示所有数据库链接信息
DBA_IND_SUBPARTITIONS 新增 显示所有组合分区索引的每个二级分区信息
DBA_JOBS 修改 新增RUNNING_INSTANCE字段,显示后台执行JOB的实例ID
DBA_LOB_SUBPARTITIONS 新增 显示所有LOB对象的二级分区信息
DBA_LOBS 修改 新增COMPOSITE字段,表示LOB分区是否存在二级分区
DBA_LSC_SLICE_STAT 修改 新增SORTED_SLICES、COMPACTED_SLICES字段
DBA_MVIEWS 新增 描述数据库中所有物化视图基本信息
DBA_PART_TABLES 修改 新增SUBPARTITIONING_TYPE、SUBPARTITIONING_KEY_COUNT字段
DBA_SCHEDULER_JOBS 修改 新增INSTANCE_ID、RUNNING_INSTANCE字段
DBA_SORT_TABLES 修改 新增SORT_MCOL字段
DBA_SUBPART_KEY_COLUMNS 新增 描述数据库中所有二级分区对象的分区键列信息
DBA_SUBPARTITION_TEMPLATES 新增 显示所有子分区模板的信息
DBA_TAB_SUBPARTITIONS 新增 显示所有子分区信息
DBA_TABLES 修改 增加TRANSFORM、COMPACT、DUMPLICATED字段,移除ENABLE_XFMR字段
DBA_TABLESPACES 修改 新增COMPRESSED字段
ROLE_ROLE_PRIVS 新增 显示当前用户拥有的角色的角色信息
USER_DB_LINKS 新增 显示当前用户可访问的所有数据库链接信息
USER_IND_SUBPARTITIONS 新增 显示当前用户可访问的所有索引子分区信息
USER_LOB_SUBPARTITIONS 新增 显示当前用户可访问的所有lob子分区信息
USER_MVIEWS 新增 显示当前用户物化视图信息
USER_ROLE_PRIVS 新增 显示当前用户的角色信息
USER_SUBPART_KEY_COLUMNS 新增 显示当前用户可访问的所有的二级分区键列信息
USER_SUBPARTITION_TEMPLATES 新增 显示当前用户可访问的所有子分区模板信息
USER_TAB_SUBPARTITIONS 新增 显示当前用户可访问的所有子分区信息
V$ARCHIVE_DEST_STATUS 修改 新增DEPOSIT_THREAD#字段
V$ARCHIVED_LOG 修改 新增THREAD#字段
V$BUFFER_CONTROL 新增 显示数据库缓存区页面控制信息
V$CHANNEL_PERF 新增 用于查询当前会话各1对1channel的传输性能统计
V$CLUSTER_MESSAGE 新增 显示共享集群消息池中待处理的消息信息
V$CLUSTER_MESSAGE_POOL 新增 显示共享集群消息池的概况
V$CLUSTER_MESSAGE_STAT 新增 显示共享集群消息交互统计信息
V$CLUSTER_TASK_INFO 新增 显示CM模块存储的TASK INFO信息
V$CLUSTER_TASK_STAT 新增 描述共享集群后台线程的相关统计信息
V$CM_CLUSTER_INFO 修改 新增NEXT_GROUP_ID、MAX_ENDPOINT字段
V$CM_GROUP_INFO 修改 新增NEXT_NODE_ID字段
V$CPUSTAT 新增 显示单机,主备和分布式集群中所有节点的资源管理汇总信息
V$DATA_CONNECTION 新增 显示分布式集群中当前节点已创建的会话内连接信息
V$DATABASE 修改 新增SWITCHOVER_STATUS字段
V$DATABUCKET 修改 新增NAME、SLOT、USED_SIZE、MAX_SIZE、READONLY字段
V$DATAFILE 修改 新增DISK_BYTES字段
V$DISKCACHE 新增 展示磁盘缓存的状态信息
V$ELECTION 修改 新增PEERS字段
V$FIXED_TABLE 新增 显示当前实例中每个固定表的详细信息
V$FIXED_VIEW_DEFINITION 新增 显示当前实例中每个固定视图的定义信息
V$GLS_LOCK 新增 显示共享集群全局锁情况
V$GRC_DHTRULE 新增 显示共享集群中master资源的hash分布情况
V$GRC_PASTCOPY 新增 显示PAST COPY BLOC信息
V$GRC_RESOURCE 新增 本视图显示共享集群全局资源情况
V$INSTANCE 修改 新增INSTANCE_ROLE字段
V$LOGFILE 修改 新增THREAD#字段
V$LSC_SLICE_STAT 修改 新增SORTED、COMPACTED字段
V$REPLICATION_STATUS 修改 新增THREAD#、TIME_SINCE_LAST_MSG字段
V$RESOURCE_REQUEST 新增 显示资源当前等待处理的消息
V$SESSION 修改 新增IS_HEARTBEAT字段
V$SESSION_ROLES 新增 本视图显示当前登录USER的所有生效角色
V$SQL 修改 新增统计时间的字段由毫秒单位变成微秒
V$SQL_PLAN_STATISTICS 修改 LAST_ELAPSED、ELAPSED_TIM时间单位由毫秒改为微秒,新增BLOCK_RECEIVED等6个字段
V$SQL_PLAN_TRACE 新增 仅供AUTOTRACE功能使用,记录SQL每个执行算子的数据统计信息
V$SQL_TRACE 新增 仅供AUTOTRACE功能使用,记录SQL执行产生的统计信息
V$SQLAREA 修改 统计时间单位由毫秒改为微秒
V$SQLSTATS 修改 统计时间单位由毫秒改为微秒,新增BLOCK_RECEIVED等6个字段
V$TABLESPACE 修改 新增COMPRESSED字段
V$TASK 新增 显示当前执行和等待的任务信息
V$TEMP_EXTENT_POOL 新增 用于检测临时属性的表空间,其extent分配情况
V$TRANSACTION 修改 删除START_SCN字段
V$YFS_DISK 新增 显示 YFS 磁盘(Disk)信息
V$YFS_DISKGROUP 新增 显示 YFS 磁盘组(Diskgroup)信息
V$YFS_FAILGROUP 新增 显示 YFS 故障组(Failgroup)信息
V$YFS_FILE 新增 显示 YFS文件信息

# 配置参数

以下配置参数发生变更:

配置参数 变更类型 参数用途
CGROUP_FLAG 新增 表示当前节点资源管理功能是否开启
CGROUP_ROOT_DIR 新增 表示当前节点Cgroup的安装路径
CLUSTER_DATABASE 新增 创建数据库时,指定当前数据库是否为集群数据库
CLUSTER_INTERCONNECT 新增 在集群数据库中,设置集群实例间的通信地址
CLUSTER_RECONNECT_TIME 新增 在集群数据库中,指定集群场景下,内部网络重连时间,单位为毫秒
CLUSTER_SERVICE 新增 在集群数据库中,数据库实例与集群管理服务的通信文件路径
COLUMNAR_VM_SWAP_SIZE 新增 指定列存计算数据文件使用的磁盘大小。当列存计算中,排序,物化,join等涉及的数据量较多时,建议调大此参数
DATA_TRANSFORMER_ENABLED 新增 设置LSC表数据是否允许后台自动进行transformer动作
DBWR_FLUSH_NEIGHBORS_COUNT 新增 指定数据库刷磁盘时进行脏块合并时寻找邻居脏块的个数,设置为1表示关闭脏块合并
DEFAULT_MCOL_TTL 新增 LSC表可变数据的生命周期,单位为秒。建议使用默认值
ENABLE_ARCH_DATA_IGNORE_BACKUP 新增 ARCH_DATA归档清理时,忽略备份操作,当文件发送给全部备机后,清理该归档文件。如果不需要备份,请将该参数设置TRUE
ENABLE_DISKCACHE 新增 是否启用磁盘缓存
GCS_TASK_COUNT 新增 在集群数据库中,设置共享集群后台处理页面资源相关请求的线程数
GLS_TASK_COUNT 新增 在集群数据库中,设置共享集群后台处理DDL和锁资源相关请求的线程数
GRC_TASK_COUNT 新增 在集群数据库中,设置共享集群后台处理资源请求和排队的线程数
HA_ELECTION_LEADER_LEASE_ENABLED 新增 在开启自选举场景下,是否开启主节点在未收到多数派备机心跳响应时主动降备的功能
INSTANCE_NAME 新增 当前运行实例的名称
INTERCONNECT_LINKS 新增 共享集群实例间通信的通道数量,所有实例需保持一致
INTERCONNECT_MESSAGE_POOL 新增 共享集群的实例间通信消息池的配置信息,count表示每个pool可以容纳消息的数量;size表示pool中一条消息的最大值,单位Byte。每个pool的总大小等于count*size,固定四组pool,需要配置每个pool的size不一样。设置参数值时,最后一组pool后的分号可缺省,亦可选择保留
INTERCONNECT_RECEIVE_TIMEOUT 新增 ICS接收消息超时时间,单位s,0:无限等待(不超时)
QUERY_REWRITE_ENABLED 新增 是否使用物化视图的查询重写,FALSE(默认值)表示不使用,TRUE 表示启用优化器的查询重写功能,并根据优化器的Cost成本在原语句与重写语句之间选择更优计划。FORCE表示启用优化器的查询重写功能,并指示优化器强制使用物化视图重写查询
RESOURCE_MANAGER_PLAN 新增 指定Cgroup计划名称
SCOL_CACHEABLE_SCAN_ROWS 新增 LSC表使用稳态数据缓存区的最大扫描记录数,如果查询计划评估扫描记录数超过该值,该扫描读取的数据不会写入稳态数据缓冲区
SCOL_DISK_CACHEABLE_SCAN_ROWS 新增 LSC表使用磁盘缓存的最大扫描记录数,如果查询计划评估扫描记录数超过该值,该扫描读取的数据不会写入磁盘缓存
SCOL_SLICE_ROWS 新增 指定静态slice文件的数据上限,后台的slice文件合并会根据此配置进行,如果希望数据库内的slice文件更大,可调大此配置,另外,此配置项只允许调大
SESSION_MAX_OPEN_FILES 新增 指定会话中UTL_FILE系统包最多可以打开的文件数
YASFS_DATA_DIR 新增 指定集群模式下默认数据文件位置,目前必须为 YFS 绝对路径,即以 '+' 开头,例如+DiskGroup/full/path/only
DATA_TRANSFORMERS 废弃 从23.1版本起,该系统参数被废弃,当前数据库会跟进内部压力分配后台转换线程进行稳态数据转换

# 产品规格

本版本中以下规格发生变化:

规格名称 变化项 旧值 新值
JSON数据类型 长度上限 64KB 32MB

# 功能项

下表列示本版本中的功能项变化点:

功能 变化 内容
DBLink 新增 支持通过YashanDB连接远端的YashanDB、Oracle查询和修改数据,以及通过Oracle连接远端YashanDB
分区表 功能增强 支持split范围、列表、哈希类型的分区,支持范围、列表、哈希组合的二级分区
优化器 功能增强 更加先进的代价评估模型,可以结合数据、硬件环境等多重因素评估更准确的执行代价;更为丰富的SQL优化规则
执行器 功能增强 支持全表扫描、分索引扫描、分区执行等算子并行
物化视图 新增 支持创建物化视图,并使用物化视图改写某些SQL语句,以优化查询性能。
空间数据 新增 支持OGC SFSQL定义的Geometry数据类型、空间索引及相关标准函数
yasldr 功能增强 数据导入性能大幅度提升。对复杂数据的支持、异常处理、日志功能大幅度增强
nchar/nvarchar/nclob 新增 支持基于National character set的数据类型nchar、nvarchar、nclob
表空间透明压缩 新增 支持创建透明压缩的的表空间,此表空间上的所有对象在持久化时,会进行压缩,比非压缩状态更加节省磁盘空间
外置C存储过程 新增 支持C语言的外置存储过程
高级包 功能增强 新增utl_file、dbms_utility高级包
C驱动 功能增强 支持cursor类型,支持stream传输协议,优化了Lob发送协议
JDBC驱动 功能增加 支持hibernate方言包、TAF接口、Json和cursor类型
故障透明切换 新增 支持C驱动、JDBC驱动的故障透明切换能力
崖山集群内核 新增 基于共享存储,采用融合内存技术的2节点多写多读集群:支持全局资源管理、全局数据块管理、全局锁管理
崖山文件系统 新增 支持管理物理磁盘、裸设备,支持故障组、磁盘组、多副本、冗余等管理能力
崖山集群服务 新增 支持管理崖山文件系统、数据库实例资源,提供配置资源、启停、监控、仲裁等服务
集群故障高可用 新增 支持集群内任意节点、实例在线故障场景下的故障自动检测、自动恢复
分布式节点组扩缩容 新增 支持DN组在线扩缩容;支持CN扩容;支持DN,MN组内增删节点
分布式大LOB类型 新增 分布式支持超过32K的大Lob字段
分布式SQL 功能增强 支持savepoint;支持匿名块;支持insert,update,delete带子查询;支持insert on duplicate key update
Access Constraint 新增 支持Access Constraint(AC)及AC发现
分布表语法 变更 本版本开始,分布表不再支持以distributed by语法指定数据分片规则,而改为partition分区语法,将分区作为分片规则
分布式分区表语法 变更 本版本开始,分布表的一级分区必须指定为哈希分区,不指定分区的情况下默认创建哈希分区,指定范围/列表分区语法将报错。如要创建范围/列表分区的分布表,请使用二级分区语法