暂无个人介绍
YashanDB共享集群是崖山数据库系统的核心特性,支持单库多实例并发读写,确保强一致性与高可用性。基于Shared-Disk架构和Cohesive Memory技术,实现数据页协同访问及资源控制。其核心组件包括YCK、YCS和YFS,提供金融级RPO=0、RTO<10秒的高可用能力。通过自研“七种武器”(如页内锁、去中心化事务管理等),优化性能并解决读写冲突。相比Oracle RAC,YashanDB在TPC-C测试中性能高出30%,适用于金融、电信等关键领域,推动国产化替代进程。
本文来自YashanDB官网,主要测试了数据库优化器在不同场景下优先使用outline计划的功能。测试环境包括相同版本新增数据、绑定参数执行、单机主备架构以及数据库版本升级等场景。通过创建表、插入数据、收集统计信息和创建outline等步骤,验证了在各种情况下优化器均能优先采用存储的outline计划。测试结果表明,即使统计信息失效或数据库版本升级,outline功能依然稳定有效,确保查询计划的一致性和性能优化。详情可见[原文链接](https://www.yashandb.com/newsinfo/7488286.html?templateId=1718516)。
【YashanDB知识库】YashanDB-OCI-快速上手
【YashanDB知识库】decode函数中的子查询被不必要地多次执行
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB知识库】YMP迁移oracle不兼容给用户授权高级包
【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题
【YashanDB知识库】如何dump数据文件,转换rowid, 查询对应内容
【YashanDB知识库】由于hist_head$中analyze time小于tab$中analyze time导致的sql语句执行慢
【YashanDB知识库】查询YashanDB表空间使用率
【YashanDB知识库】YAS-04110 invalid variant name
【YashanDB知识库】客户端字符集与数据库字符集兼容问题
【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
【YashanDB知识库】主备延迟故障分析方法
【YashanDB知识库】archivelog磁盘满导致数据库abnormal
【YashanDB知识库】数据库获取时间和服务器时间不一致
今天分享的是构建YashanDB Exporter的核心设计理念和关键方法,希望也能为你的运维实战加分!
【YashanDB知识库】yasql对字符串中分号的判定
YAS-02143 invalid username/password, login denied
【YashanDB数据库】yasql登录有特殊字符@导致无法登录
Yashandb表闪回业务表实践
YAS-02079 archive log mode must be enabled when database is in replication mode
【YashanDB数据库】YashanDB如何回收表空间
yasboot查询数据库状态时显示数据库状态为off
无缝连接!YashanDB DBLink技术应用实践
【YashanDB知识库】DBeaver无法访问数据库
数据库运行正常,日志出现大量错误metadata changed
PHP无法通过ODBC连接到数据库
Mybatis-plus分页框架识别不到Yashandb
由于网络带宽不足导致的jdbc向yashandb插入数据慢
Ubuntu系统加载Yashan C驱动后无法使用PHP
VMware虚拟机使用默认安装,在掉电之后数据库无法启动
statement级别的触发器在jdbc接口调用executeBatch时被多次触发
大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo blocks
在YashanDB中,创建自关联外键表后,插入互相关联的两行数据时失败。原因是YashanDB在处理此类完整性约束时,未在事务级统一判断,而是逐行检查,导致符合外键关系的数据无法插入。此问题影响所有版本,已在Oracle中验证可正常执行。规避方法为禁用外键约束。通过构造相同SQL语句对比分析,确认了问题根源在于idxCheckKeyExist方法的实现差异。
在托管数据库时,若OM的IP被设置为127.0.0.1,则不支持托管到YCM,导致数据库无法正常监控。此问题源于安装时修改了OM监听IP为127.0.0.1。解决方法为将OM的IP修改为本机实际IP或0.0.0.0,并更新yasom后台数据库中的相关配置。建议遵循规范安装,避免使用仅限本机访问的IP(如127.0.0.1),以减少潜在风险。
在执行安装ycm-agent命令时,因10.149.223.121未开放9070或9071端口导致纳管失败,YCM无法监控主机和数据库。影响版本为yashandb-cloud-manager-23.2.1.100-linux-aarch64.tar。解决方法包括关闭防火墙、将安装主机加入白名单或开放指定端口。需与系统管理员确认操作。端口问题解决后,若再次报错唯一键问题,需在ycm上移除纳管失败的主机后重试。
### 简介 在检查数据库安装时,发现未使用yasboot安装,导致无yasom和yasagent进程及缺少相关目录,无法通过ycm托管和监控。为解决此问题,需先将数据库托管到yasom中,再托管到ycm中。具体步骤包括生成配置文件、安装yasom和yasagent、修改并执行托管配置。最终确保数据库能被正常托管和监控。经验总结:应按规范使用yasboot安装数据库,避免后续问题。 (239字符)
文章围绕异构数据库迁移展开,探讨了避免数据丢失、保障数据完整性、注意兼容性、提升迁移效率、做好反向演练等问题。包括迁移前完整性检查与备份,YashanDB 从内核设计和配套工具保障数据,对兼容性进行大量测试,通过合理评估和技术手段提升迁移效率,以及处理回退等内容。
在yashandb中,使用物化视图进行查询重写时,若select语句中的列名未使用带双引号的大写格式,则无法匹配物化视图中的列名,导致查询重写失败,影响查询性能。此问题存在于所有版本,原因是系统仅基于列名匹配而非语义匹配。解决方法是在select语句中使用带双引号的大写列名,例如`SELECT "TID", "TNAME"`。建议尽快改进查询重写机制以增强兼容性和性能。
客户在使用YashanDB 23.1.3.101版本时,频繁遇到账号被锁的问题,影响测试环境的业务开展。主要原因包括密码尝试次数过多、账号过期或管理员锁定。通过检查日志和确认设置,发现是由于本地工具配置错误导致反复登录失败。解决方案为使用管理员账号解锁,并修改正确密码。建议设置密码安全策略并利用listener.log分析连接问题。
客户在一主一备性能压测中设置了归档日志清理上下限(12G-16G),但实际产生了100G+归档日志,导致磁盘空间满。原因是未设置ARCH_CLEAN_IGNORE_MODE=BACKUP,系统默认在备份后才清理日志。解决方法是设置ARCH_CLEAN_IGNORE_MODE=BACKUP,并执行`alter database delete archivelog all`触发清理。修改参数后,日志仍可能短暂超过上限,因备机同步延迟。经验总结:需同时设置归档上下限和ARCH_CLEAN_IGNORE_MODE=BACKUP以确保日志及时清理。
本文介绍了远程连接和使用YashanDB的几种方式,适用于客户和开发人员在项目实施中遇到的操作难题。主要包括: 1. **yasql客户端工具**:通过命令行连接数据库,支持多种登录方式及执行SQL文件、外部命令等功能。 2. **DBeaver图形化工具**:基于开源工具DBeaver进行二次开发,支持单机、集群和分布式数据库管理。 3. **Yasboot工具**:集成yasql功能,支持通过节点标识或IP端口连接并执行SQL语句。 4. **编程语言驱动**:如JDBC驱动,支持Java、Python、C、.NET等语言连接YashanDB。
YashanDB的JDBC驱动无需用户指定字符编码,能自动根据JVM和服务端字符集进行编解码,避免乱码问题。而OCI接口则需通过OCIEnvNlsCreate函数指定客户端字符集,目前仅支持852(ZHS16GBK)和871(UTF8)。用户在使用JDBC时无需关心字符集设置,但在使用OCI时需注意正确配置编码格式。
在BeetISQL 2.13.8版本中,客户使用batch insert向yashandb表插入数据并尝试获取自动生成的sequence id时,出现类型转换异常。原因是beetlsql在prepareStatement时未指定返回列,导致yashan JDBC驱动返回rowid(字符串),与Java Bean中的数字类型tid不匹配。此问题影响业务流程,使无法正确获取sequence id。解决方法包括:1) 在batchInsert时不返回自动生成的sequence id;2) 升级至BeetISQL 3,其已修正该问题。
Quartz是广泛应用于企业级应用的开源作业调度框架,使用布尔值记录任务状态。在YashanDB 23.2.0.12版本中,由于布尔值存储格式与Oracle不同(YashanDB为true/false,Oracle为0/1),导致JDBC写入报错“IS_DURABLE size exceeding limit 1”。此问题影响所有使用Quartz的任务调度场景,需修改字段类型或转换布尔值写入方式解决。建议升级至23.2.0.33版本以获得更好的兼容性,或修改布尔字段为boolean类型。
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
在使用yasldr工具导入CSV数据时,涉及LOB类型(如CLOB)的数据处理有三种模式:lls模式、lobfile模式和直接导入。lls模式通过指定偏移量和长度从单个.dat文件中提取LOB数据;lobfile模式将每个LOB数据存储在独立的.dat文件中,并在CSV中引用;直接导入则直接在CSV中放置LOB数据,但单字段限制为32K。本文详细介绍了这三种模式的具体用法及区别,帮助用户更好地理解和使用yasldr进行LOB类型数据的导入。
在SQL查询或存储过程中,若出现重复别名或变量名与别名相同,会导致报错。此问题已在多个客户现场发生,风险在于报错难以定位。截止2024年4月,最新版本仍存在该问题。原因是变量未分层处理。解决方法是修改变量名称以避免重名。建议编写SQL时区分变量名,防止重名导致的问题。
在将22.2.12.100升级到22.2.13.100时出现失败,主要由于服务端(GBK)与客户端(UTF-8)编码不一致,导致`preupgrade.sql`执行结果与预期文件`preupgrade.out`不匹配。解决方法为统一客户端和服务端编码至GBK,并修改相关配置文件(如`yasc_env.ini`)。通过调整编码格式,最终成功完成升级。此问题提醒我们在版本升级过程中需确保编码一致性,以避免类似匹配错误。
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10
发表了文章
2025-04-10