暂无个人介绍
本文以GIS表为例,介绍通过Java代码向数据库插入POINT类型地理数据的方法。首先创建包含ID和POS字段的GIS表,POS字段为ST_GEOMETRY类型。接着利用Java的PreparedStatement批量插入10条经纬度相同的POINT数据,最后查询结果显示成功插入10条记录,验证了操作的正确性。
在崖山共享集群场景下,用户尝试启动yasom时遇到sqlite连接错误(unable to open database file),导致节点2启动失败。原因是节点2无需运行yasom,仅需运行yasagent。解决方法为确保仅在节点1启动yasom,其他节点只启动yasagent,避免误操作。此问题影响范围限于崖山共享集群环境。
在YashanDB知识库的安装过程中,可能出现报错提示“unable to authenticate, attempted methods [none password],no supported methods!”。此问题通常与认证方式配置有关,需检查服务器端支持的认证方法及客户端配置是否匹配。附图展示了具体错误场景,供排查参考。
在 VMware 虚拟机中安装并测试 YashanDB,数据库及虚拟机运行正常,但本地 IDE 工具无法连接虚拟机中的数据库。问题可能与 VMware 网络适配器配置或网络模式(如 NAT、桥接)有关,导致网络通信异常。需检查虚拟机网络设置、IP 地址配置以及防火墙规则,确保本地与虚拟机间网络连通性。目前无明确修复版本。
**简介:** 应用运行时遇到错误“YAS-04003 maximum number of open cursors is 310”,原因是打开的游标数量超过默认限制(310)。建议检查代码,确保及时关闭不再使用的游标。如需增加限制,可通过命令 `alter system set OPEN_CURSORS=320;` 调整参数值。请参考官方文档以确定合适的数值。
**简介:** 在执行数据导出命令 `exp --csv -f csv -u sales -p sales -T area -O sales` 时,出现 YAS-00402 错误,提示“Connection refused”。原因是数据库安装时定义的 IP 地址或未正确配置导致连接失败。解决方法是添加 `--server-host ip:port` 参数,例如 `exp --csv -f csv -u sales -p sales -T area -O sales --server-host 192.168.33.167:1688`。
**标题:yasboot 集群状态命令登录失败问题** 用户执行 `yasboot cluster status` 命令时,系统提示“invalid username/password”,因 sys 用户无法用空密码登录。原因可能是权限不足、未提供密码或数据库安全策略限制。解决方法:1. 将操作用户添加到 YASDBA 组;2. 使用 `-p password` 选项提供密码。此问题影响所有使用 yasboot 进行集群管理的数据库版本。
某客户Java业务运行时出现YAS-04003异常,导致业务无法正常运行,影响所有yashandb版本。原因是druid中间件配置不当,缓存PreparedStatement导致YashanDB open cursor超限。解决方法:增加OPEN_CURSORS参数值或修改druid配置,如将share-prepared-statements和pool-prepared-statements设为false。处理过程涉及查询vopen_cursor和v$sql视图,确认业务会话。经验总结:需结合Java框架及中间件配置与数据库视图分析行为。
**简介:** 某客户在使用触发器将表 A 的 varchar(4000 char) 列数据复制到表 B 时,出现数据乱码且不一致的问题。经分析,YashanDB 在处理触发器场景下的 varchar(4000 char) 列数据复制时存在机制错误,影响所有版本。建议将列长度修改为 varchar(2000 char) 或更小以规避问题。通过特定 SQL 可验证该问题是否存在。
客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有 YashanDB 版本。原因是操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常源于 system() 函数调用失败,返回 -1,通常是因为 fork() 失败。未来 YashanDB 将优化日志信息以更好地诊断类似问题。
**问题现象**:迁移预检查时,因OCI版本为空或架构不符报错。通过查看yasdts日志发现缺少libnsl.so.1依赖库。 **排查步骤**: 1. 查看日志确认缺少的依赖库。 2. 检查OCI客户端路径是否已加入LD_LIBRARY_PATH环境变量。 3. 使用`ldd`命令检查其他缺失的依赖库。 **解决方法**: 1. 下载并安装所需的动态库版本。 2. 若无法联网,查找本地是否有相应库。 3. 如本地有高版本库,创建软链接指向所需版本(如`ln -s /lib64/libnsl.so.2 libnsl.so.1`)。
**简介:** 客户因连接数过多导致报错“YAS-06004 maximum number of sessions exceeded”,影响业务测试和使用。解决方法包括:1) 查找并关闭历史连接多的用户应用;2) 创建 profile 限制每个用户的 session 连接数,如通过 `sessions_per_user` 设置最大连接数;3) 调整应用的连接策略以彻底解决问题。
**简介:** YashanDB 的 ST_GEOMETRY 类型用于存储符合 OGC 标准的几何对象。但在批量插入时,由于 UDT 不支持批量插入,会报错 YAS-00004。此问题影响 23.2.7.100 及以下版本,导致 ST_GEOMETRY 数据导入失败。解决方法包括使用 YMP 迁移数据或通过转换为 CLOB 字段再导入并转换回 ST_GEOMETRY。崖山团队正在开发对 UDT 批量插入的支持。
**问题现象**:在共享集群部署数据库时,遇到错误 YAS-05721,提示节点名称无效。原因是操作系统主机名不符合服务器名称要求(字母、数字、下划线组成,长度4-64字符,以字母开头)。**解决办法**:1. 部署时加--ignore-hostname 参数,由 yasboot 自动生成合法名称;2. 修改操作系统 hostname 符合要求。
在部署过程中,第1步install成功,但第2步deploy时出现“prohibited operation”错误。原因是主机配置文件(hosts.toml)中的SSH登录IP非本机地址,崖山数据库部署禁止远程操作。解决方法:将SSH登录IP改为本地IP及端口。
**Mybatis-Plus 自动分页配置问题简介** Mybatis-Plus 是 Mybatis 的增强工具,简化 CRUD 操作并适配多种数据库,包括 YashanDB。自动分页配置错误会导致应用开发受影响。解决方法:1. 配置 pagehelper 为 oracle 或 mysql;2. 设置分页拦截器为 oracle 或 mysql。确保返回设置后的对象。正确配置后可在 service 层使用 page 方法实现自动分页。
**问题简介:** 在使用 JDBC 驱动查询 YashanDB 的 date 类型字段时,直接调用 ResultSet 的 getString 方法仅返回 YYYY-MM-DD 格式的日期字符串,缺少时分秒信息,影响业务逻辑。此问题存在于所有 YashanDB 驱动版本,原因是驱动内部实现问题。解决方法包括使用 `rs.getTimestamp(1).toString()` 或在 JDBC 连接串中添加 `mapDateToTimestamp=true` 参数。 **风险及影响:** 返回的字符串只有日期部分,缺失时间信息,可能导致业务逻辑异常。
**简介:** 客户在使用 YashanDB JDBC 驱动查询含 st_geometry 列的数据时,遇到 YAS-00101 错误,提示无法分配内存。该问题影响所有版本的 YashanDB,导致业务中断。原因是用户缺少对 st_geometry 类型的 execute 权限。解决方法是为用户赋权:`grant execute any type to <username>;` 以恢复正常运行。
本文基于李伟超在“2024年国产数据库创新生态大会”的演讲,介绍了YashanDB如何通过创新架构设计应对AI+时代的多模态数据融合管理挑战。YashanDB采用存算分离架构、联邦查询等技术,实现了对空间、BIM、图、向量等多种类型数据的高效统一管理,支持智慧城市和大模型训练等应用场景。未来,YashanDB将继续优化多模数据管理策略,推动数据价值的最大化释放。
孟凡彬,YashanDB集群首席架构师,在2024年国产数据库创新生态大会上介绍了YashanDB共享集群的最新进展。过去一年,YashanDB推出了多活共享集群形态(YAC),并发布了首个长期维护的商用版本。新特性包括主备集群方案、统一存储架构、快速在线恢复技术及智能全局缓存刷盘策略。性能方面,4节点集群达到520万tpmC,线性扩展比0.7。此外,YashanDB还增强了可靠性、易用性和运维能力,未来将重点发展弹性伸缩、多机执行及云化优化等功能。
11月14日,YashanDB在2024国产数据库创新生态大会上发布V23.3版本,定位为企业核心通用数据库,具备1:1平替Oracle的能力。该版本在兼容性、性能、可用性、安全性和迁移能力等方面显著提升,支持Oracle和MySQL的高兼容性,算子性能提升5倍以上,TPCC达520万tpmC,提供两地三中心方案及全面的安全特性。现已开放下载,欢迎体验。
本文基于YashanDB高可用架构师马志宏在“2024年国产数据库创新生态大会”的演讲,深入阐述了YashanDB的数据迁移流程及增量迁移组件的技术原理。崖山迁移平台YMP提供异构RDBMS与YashanDB间的迁移评估、数据迁移和校验功能。最新版本V23.3新增增量迁移组件,支持在线全量和增量迁移的无缝衔接,确保业务无感知迁移,保障数据一致性和业务连续性。迁移组件由source、transform、sink三个模块组成,具备一键式迁移、支持多种数据类型和DDL操作、无侵入式部署等关键能力,确保高效、可靠的迁移体验。未来将优化兼容性、支持双向复制和提升数据质量管理。
王若楠,前泽塔数科研发总监,在2024年国产数据库创新生态大会上详细介绍了崖山共享集群YAC的架构、功能、高可用性和性能测试。测试覆盖单机到四节点场景,验证了YAC在读写性能、Oracle兼容性、故障恢复(RPO=0,RTO<15S)和线性扩展性方面的卓越表现。尤其在资源控制和性能优化上,YAC展现出精细的设计与稳定的表现,为国产数据库替代提供了有力支持。
**问题简介:** 客户使用 YashanDB JDBC 驱动查询含 st_geometry 列的数据时,出现 YAS-00101 错误,提示无法分配 0 字节内存。该问题影响所有 YashanDB 版本,导致业务中断。原因是数据库用户缺少 st_geometry 类型的 execute 权限。解决方法是为用户赋权:`grant execute any type to <username>;`。
数据库状态分为正常与异常两种情况。当出现异常时,首先查看告警列表确认问题(如实例无法连接),并尝试用数据库用户名和密码登录。若能登录,说明主实例故障已切换至备库;若无法登录或为单节点,则需进一步排查。接着检查监控项,若有数据表明主实例故障,无数据则可能是通信中断。随后检查主机上的服务是否存在,若存在但通信受限,需排查安全设置或网络;若服务不存在,可能因重启或断电导致,需手动启动相关服务。最终在YashanDB列表中确认状态恢复。
**问题现象**:部署或启动YashanDB时,报错“YAS-02059 control file版本不兼容”。原因是control file版本低于数据库实例要求的版本。 **解决办法**: 1. 检查并修正环境变量YASDB_HOME和YASDB_DATA配置,确保路径正确。 2. 若无数据保留需求,删除$YASDB_DATA/dbfiles/下所有文件后以nomount形式启动并创建新数据库。 3. 若需保留数据,先用工具(如imp、DBeaver)导出数据,再按方案1操作后重新导入。注意不要使用BACKUP DATABASE备份旧格式文件。
**问题简介:** 在使用 JDBC 驱动查询 YashanDB 中的 date 类型字段时,直接调用 ResultSet 的 getString 方法仅返回日期部分(YYYY-MM-DD),缺少时分秒信息,影响业务逻辑。此问题存在于所有 YashanDB 驱动版本,原因是驱动内部实现问题。解决方法:使用 `rs.getTimestamp(1).toString()` 或在连接串中增加 `mapDateToTimestamp=true` 参数。 **风险及影响:** 返回字符串缺少时分秒,可能导致业务逻辑错误。 **受影响版本:** 所有 YashanDB 驱动版本。
在共享集群部署数据库时,遇到错误“YAS-05721 invalid input parameter, reason: node name invalid”。原因是操作系统的主机名不符合服务器名称要求(需由字母、数字、下划线组成,以字母开头,长度4-64字符)。解决办法:1. 部署时加--ignore-hostname参数,由yasboot生成合规名称;2. 修改操作系统hostname以符合要求。
在迁移预检查的版本检查阶段报错“OCI 版本为空”,原因是 OCI 架构与本地系统不符或依赖库缺失。排查发现 `libdrv_oracle.so` 缺少 `libnsl.so.1` 库,尽管 OCI 客户端路径已正确加入 `LD_LIBRARY_PATH`。解决方法包括下载安装相应动态库版本,或通过软链接指向更高版本库(如 `libnsl.so.2`)。总结:确保动态库路径正确配置,并使用 `ldd` 查看依赖库,必要时创建软链接以解决问题。
在 YashanDB 的所有版本中,使用 leading hint 调整 SQL 执行计划时可能出现“YAS-04522 invalid hint leading”错误,导致 SQL 无法正常执行。原因是 YashanDB 优化器的 Bug。解决方法为避免使用 leading hint。可通过创建测试表 a、b、c 并执行特定 SQL 语句来验证问题是否存在。
**问题简介:** 客户连接数过多导致报错“YAS-06004 maximum number of sessions exceeded”,影响业务和测试。解决方法包括:1) 查找并关闭历史连接多的用户应用;2) 通过创建 profile 限制每个用户的 session 连接数(如设置为200);3) 调整应用的连接策略以彻底解决问题。
**问题简介:** 客户在使用触发器将表 A 中 varchar(4000 char) 列的数据复制到表 B 时,发现表 B 中的数据出现乱码且与表 A 不一致。此问题影响所有 YashanDB 版本,原因是 YashanDB 在处理触发器场景下的大长度 varchar 数据复制时存在机制错误。为避免该问题,建议将列长度修改为 varchar(2000 char) 或更小。数据正确性无法保证,需谨慎处理。 **验证方法:** 可通过创建表 A 和 B 及相应触发器进行测试。
某客户在使用 YashanDB 通过 yasql 查询 Oracle 数据时,遇到 `YAS-07301 external module timeout` 异常,导致 dblink 功能无法正常使用,影响所有版本。问题源于操作系统资源紧张,无法 fork 新子进程。解决方法包括释放内存、停掉不必要的进程或增大进程数上限。分析发现异常原因为系统调用 fork() 失败。经验总结:优化日志记录,提供更多异常信息。
**问题简介:** 免密登录失败,提示用户密码错误。原因是删除了 yashandb 安装时的用户组,导致用户无法正确识别。影响所有版本。通过将用户重新添加到新创建的用户组(如 `xp`),并使用命令 `groupadd xp` 和 `usermod -g xp xp` 解决问题。最终验证,重新登录后可成功免密登录。 **影响及风险:** 免密登录功能失效,影响用户体验和效率。 **解决方法:** 重新配置用户组,确保用户属于正确的用户组。
**数据库主备切换简介** 在数据库正常或异常情况下,实现主备切换至关重要。若配置不当,主节点故障将影响业务使用,尤其在23.2版本中。原因包括资源紧张或主节点异常。解决方法涵盖手动和自动切换: 1. **一主一备部署**: - **手动切换**:支持Switchover(同步正常时)和Failover(主库损坏时)。 - **自动切换**:启用yasom仲裁选主开关。 2. **一主两备部署**: - 默认最大保护模式,自动切换开启。 需检查并配置自动切换以确保高可用性。经验总结:一主一备默认关闭自动切换,需手动开启;一主两备默认开启。
在使用YashanDB时,用户常对内存参数配置有疑问,尤其是23.2及以上版本中,如SQL_POOL_SIZE+DICTIONARY_CACHE_SIZE超100报错,影响跑批性能。主要内存参数包括SHARE_POOL_SIZE、SQL_POOL_SIZE、DICTIONARY_CACHE_SIZE等,需合理配置以优化性能。SHARE POOL内含多个POOL,可动态调整。具体配置方法及观察使用情况的方式详见官网文档。
在使用 GBK 编码的数据库时,插入包含生僻字的数据会导致编码问题。GBK 编码不支持某些生僻字,导致插入后显示乱码。客户端和服务端编码不一致(如客户端为 UTF-8,服务端为 GBK)会加剧此问题。受影响版本为 23.2.4.14 及之前版本。 **解决方法:** 1. 确保终端和服务端编码一致,建议使用 UTF-8 编码。 2. 使用 yasdb client 库接口,通过 `yacBindParameter` 接口以 UTF-16 编码插入数据。
**问题现象**:290M 数据在同一机器本地导入耗时2分钟,本机IP连接4分钟,跨机器17分钟,客户现场30分钟。**风险及影响**:客户导入慢。**影响版本**:22.2.8.3。**原因**:imp逐条SQL传输至yashanDB,网络延时导致性能下降。**解决方法**:将文件上传至与yashanDB同机后再导入。**经验总结**:优化imp,减少交互次数,提升效率。
在服务器重启后,YashanDB 出现启动失败的问题,错误提示为连接被拒,原因是 1675 端口(yasom 端口)未监听,表明 yasom 进程未启动。解决方法是先通过命令行依次启动 yasom 和 yasagent 维护进程,再启动数据库实例。此问题影响 YashanDB 的所有版本。 注意,上述简介已经根据给定内容进行简化和概括,并控制在240字符以内。如果需要包含更多技术细节或步骤,可能会超过字符限制。
在共享集群中,创建用户和查询表或视图时可能出现卡住或报错现象。原因是 dc pool 不足,导致 create table、user 等操作需等待其他节点返回消息而卡住,影响业务使用。此问题存在于23.2.7.100及之前版本。解决方法包括清理 share pool 或增大其容量,并调整 SQL 和 DICTIONARY CACHE POOL 的占比。通过查看 alert.log、v$share_pool、v$global_mpool、v$dict_cache 和 dba_tab_statistics 视图进行问题分析。
**标题:误配置 SYSTEM 级别的 STATISTICS_LEVEL 参数为 ALL 导致数据库性能下降** **简介:** 数据库性能骤降至正常水平的百分之一,主要表现为大量 free buffer wait 等待事件。原因是系统级别 STATISTICS_LEVEL 被误设为 ALL。解决方法是将其恢复为默认值 TYPICAL,执行命令:`ALTER SYSTEM SET statistics_level='TYPICAL' SCOPE=BOTH;` 以恢复正常性能。
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
在进行 YCM 系统升级时,需确保每个被纳管的主机开放 9072 端口。具体步骤如下: 1. **备份操作**:使用默认路径 `/opt/ycm` 下的 `backup.sh` 脚本备份当前系统,确保数据库和其他关键文件安全。 2. **解压安装包**:将新版本的安装包解压到指定目录。 3. **生成配置文件**:通过 `yasadm host gen` 命令生成新的配置文件 `ycm_host.toml`,并指定相关参数。 4. **执行升级**:运行 `yasadm upgrade` 命令开始升级过程,确认升级信息并执行升级操作。
本文介绍了从版本 23.2.4.100 升级到 23.2.11.100 的详细步骤。首先,在主节点和两个备节点上执行备份操作,确保数据安全。备份命令包括数据库和配置文件的备份。接着,解压新版本安装包,并生成托管服务器的配置文件。然后,在主节点上执行升级命令,通过指定安装路径、配置文件和其他参数完成升级。升级过程中会停止相关进程,备份现有文件,安装新版本并更新配置。最后,在两个备节点上分别执行类似的升级操作。整个过程确保了系统的稳定性和数据的安全性。升级完成后,可以通过查看 `/opt/ycm/ycm/etc/upgrade/version.toml` 文件确认版本已成功
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
【问题分类】数据导入导出 【关键字】数据同步,kettle,数据迁移,java 内存溢出 【问题描述】kettle 同步大表提示 ERROR:could not create the java virtual machine! 【问题原因分析】java 内存溢出 【解决/规避方法】 ①增加 JVM 的堆内存大小。编辑 Spoon.bat,增加堆大小到 2GB,如: if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m" "-
undo 空间不能通过 alter tablespace shrink 的方法缩小空间,但可以通过配置 UNDO_SHRINK_ENABLED、UNDO_SHRINK_INTERVAL 实现自动回收,详见 配置参数 | YashanDB Doc
【问题分类】功能使用 【关键字】tablespace,ENCRYPTED 【问题描述】如何查看表空间是否加密 【解决/规避方法】 执行下面的 SQL 能够获取到表空间是否加密,返回值 Y 代表已加密,N 代表未加密 SELECT ENCRYPTED FROM DBA_TABLESPACES 【影响范围】所有版本
**YashanDB 批量任务性能优化简介** 在 YashanDB 23.2 及以上版本中,用户常咨询如何优化批量任务性能。关键在于合理配置表空间、REDO 文件、快照管理和统计信息收集。建议提前规划表空间,避免运行时扩展文件;将 REDO 和 dbfiles 分盘存储,设置合适的 REDO 文件数量和大小;关闭或延长快照保留时间,防止跑批过程中清理快照影响性能;跑批前收集并锁定统计信息,确保数据准确性。更多详情参见官网文档。 影响:提升跑批性能 版本:23.2 及以上 解决方法:合理配置存储、快照及参数调整
本文介绍了一主一备数据库集群的部署步骤。首先在OM节点上传并解压软件包至指定路径,随后通过调整安装参数、执行安装和集群部署完成数据库设置。接着,在主备节点分别配置环境变量,并查看数据库状态以确认安装成功。最后,针对OM仲裁故障提供了手动切换方案,包括构造故障场景、关闭自动切换开关及使用SQL命令进行主备切换,确保系统高可用性。
发表了文章
2025-03-17
发表了文章
2025-03-17
发表了文章
2025-03-17
发表了文章
2025-03-17
发表了文章
2025-03-17
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27
发表了文章
2025-02-27