#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分区语法,将分区作为分片规则 |
| 分布式分区表语法 | 变更 | 本版本开始,分布表的一级分区必须指定为哈希分区,不指定分区的情况下默认创建哈希分区,指定范围/列表分区语法将报错。如要创建范围/列表分区的分布表,请使用二级分区语法 |