【YashanDB知识库】数据库审计shutdown immediate操作导致数据库异常退出
【问题分类】功能使用【关键字】数据库审计,shutdown immediate【问题描述】审计shutdown immediate 操作,数据库作主从切换时会导致数据库异常退出。【问题原因分析】YashanDB写入审计时没有判断数据库的主备角色【解决/规避方法】● 数据库不审计shutdown immediate 操作● 升级数据库到22.2.13.100及更高版本【影响范
【YashanDB知识库】数据变化率超过阈值统计信息失效
【问题分类】性能优化【关键字】统计信息【问题描述】SQL --创建表结构 drop table t1; create table t1 (id int,name varchar2(200)); create index t1_id_ind on t1(id); create&nb
【YashanDB知识库】手动停止统计信息自动收集任务导致的性能变差
【问题分类】功能使用【关键字】统计信息收集【问题描述】UAT对外演示环境因统计信息收集任务引起数据库整理性能变慢无应急处理手段【问题原因分析】● DROP_JOB程序用于删除一个非执行状态下的定时任务。● DISABLE程序用于使一个非执行状态下的定时任务失效,失效后的定时任务将不再被系统进行任务调度。以上方法均无法停止正在执行的JOB。【解决/规避方法】Plain&nbs
【YashanDB知识库】收集分区表统计信息采样率小于1导致SQL执行计划走偏
【问题分类】性能优化,BUG【关键字】分区表,统计信息,采样率【问题描述】收集表(分区表)级别的统计信息时,如果采样率小于1,dba_ind_statistics中partition_name is null的那行数据,其distinct_keys=0,导致执行计划走偏。【问题原因分析】收集表(分区表)级别的统计信息时,如果采样率小于1,dba_ind_statistics中partition_n
【YashanDB知识库】含有NUL字节的varchar字符串查询时出现截断
【问题分类】功能使用【关键字】NUL字符【问题描述】数据库中插入一条含有NUL字符(\00)的字符串,使用yasql在终端进行查询,字符串从NUL处被截断,未能完整展示全部字符。【问题原因分析】yasql在显示时没有对NUL字符进行转换,以字符串的形式进行显示,而NUL又是字符串的结束符,导致NUL字符后续的字符都没能显示。【解决/规避方法】升级数据库版本【影响范围】22.2.8.100及以前的版
【YashanDB知识库】调整NUMBER精度,再执行统计信息收集包偶现数据库异常退出
【问题分类】功能使用【关键字】NUMBER类型精度修改,统计信息收集【问题描述】存量的表将NUMBER类型的字段精度从小精度调整为大精度时,数据库收集这张业务表的统计信息时,会导致数据库异常退出。【问题原因分析】YashanDB NUMBER字段精度操作会误踩内存,导致数据异常退出【解决/规避方法】 锁定统计信息,有作NUMBER精度调整的业务表锁定其统计信息升级数据库到22.2.13.
【YashanDB知识库】表收集统计信息默认阈值引起SQL执行效率差
【问题分类】性能优化【关键字】统计信息,阈值,执行计划【问题描述】表新增87w数据自动收集统计信息任务没有启动导致SQL执行计划变差【问题原因分析】CUS_REGISTER_READ 数据总量是18374074,插入81万,统计信息失效的阈值是insert+delete+update超过所有行数的10%,没有达到统计信息收集的阈值,不会做收集。统计信息没有失效,为什么插入81万的数据前后给出的执行
【YashanDB知识库】yasql登录报错:YAS-00413
【问题分类】错误码处理【关键字】yasql,00413【问题描述】使用工具设置不同并发迁移数据的过程中,导致yasql登录报错:YAS-00413【问题原因分析】工具使用与数据库使用资源超过了操作系统配置参数设置【解决/规避方法】● 查看操作系统yashan用户当前打开文件文件数SQL lsof | grep yashan | wc&
【YashanDB知识库】YashanDB 开机自启
【问题分类】 YashanDB 开机自启【关键字】 开机自启,依赖包【问题描述】 数据库所在服务器重启后只拉起monit、yasom、yasom进程,缺少yasdb进程:【问题原因分析】 数据库安装的时候未启动守护进程【解决 / 规避方法】进入数据库之前的安装目录,启动守护进程:Shellcd /home/yashan/install ./bin/yasboot m
【YashanDB知识库】YAS-02024 lock wait timeout, wait time 0 milliseconds
【标题】错误码处理【问题分类】锁等待超时【关键字】YAS-02024【问题描述】执行语句时候,因锁等待超时执行语句失败【问题原因分析】数据库默认锁等待时间为0秒,如果执行语句存在锁等待过长会执行失败【解决/规避方法】1、调整锁等待的时间2、找出导致锁等待的session ,并根据实际情况确认能不能先使其退出.查dv$lock确定sid再关联dv$session确定serial再执行alt
如何高效使用YashanDB PL语言?这5点建议值得收藏
01 背景PL语言(Procedural Language) 是一种程序语言, 又称过程化结构查询语言,它是一种建立在普通SQL语言之上的编程语言。讨论PL语言是一个有意思的话题,因为软件行业被大数据、组件化的思想浪潮捶打过多年,所以多数从业人员一旦提及PL语言,都会在心里冒出一句疑问,“那不是已经过时的语言?”那为什么YashanDB还要选择开发PL语言?正所谓仁者乐山,智者乐水,笔者
小特性 大用途 —— YashanDB JDBC驱动的这些特性你都get了吗?
在现代数据库应用场景中,系统的高可用性和负载均衡是确保服务稳定性的基石。YashanDB JDBC驱动通过其创新的多IP配置特性,为用户带来了简洁而强大的解决方案,以实现数据库连接的高可用性和负载均衡,满足企业级应用的高要求。01 多IP配置:构建高可用性的基础YashanDB JDBC驱动支持通过配置多个IP地址和端口来实现高可用性。在设计用于高可用主备和负载均衡的环境中,可以通过UR
【YashanDB知识库】YAS-00220, utf8 sequence is wrong
【问题分类】功能使用【关键字】YAS-00220,utf8 sequence is wrong【问题描述】在数据库执行select语句时,或者在exp导出数据库用户时报这个错误,表字段中同时存在nclob字段。报错“YAS-00220, utf8 sequence is wrong”。【问题原因分析】查询超过32000字节的NCLOB时,yashanDB内部有对NCLOB发送边界的重定位流程,原始
【YashanDB知识库】YAS-00103 no free block in dictionary cache
【问题分类】功能使用【关键字】YAS-00103,no free block in dictionary cache【问题描述】执行union all 太多子查询导致报错,例子如下:【问题原因分析】选择增大DICTIONARY_CACHE_SIZE 或 SHARE_POOL_SIZE 或 两者都增大【解决/规避方法】优先考虑增大SHARE_POOL
【YashanDB知识库】YAC修改参数后关闭数据库夯住
【问题分类】功能使用【关键字】YAC,参数,SHM_POOL_SIZE,重启【问题描述】YashanDB共享集群修改数据库配置参数,重启数据库时,数据库无法关闭。【问题原因分析】YAC的SHM_POOL_SIZE配置的太小了且无自动扩展能力,yfs共享内存不足,归档线程阻塞,影响redo日志回收,导致数据库关闭进程阻塞。【解决/规避方法】调整SHM_POOL_SIZE参数值大小【影响范围】23.1
自研一款共享集群数据库,有多难?
共享集群数据库管理系统是一种单库多实例的多活数据库管理系统,用户连接任意实例都可以访问同一个数据库,具备透明多写、高可用、高性能等特性。共享集群技术因其开发难度高,一直被国外垄断,也被称为数据库领域的“塔尖”技术。2023年,YashanDB正式发布共享集群产品形态,实现了国产数据库在高端领域“零”的突破。本次共享集群系列文章将围绕YashanDB共享集群,深入探讨架构原理、关键技术以及运维管理等
迁移方案详解|使用YMP从异构数据库迁移到YashanDB
数据迁移简介01典型场景与需求在国产化浪潮下,数据库系统的国产化替代成为了一个日益重要的议题,有助于企业降低对外依赖,提升信息安全和自主性。以Oracle、MySQL为代表的传统关系型数据库管理系统,在企业应用中占据了重要的地位。如何从异构的Oracle、MySQL等数据库将存量的数据迁移至国产数据库,是企业技术升级和国产化战略中不可或缺的一环。以一个离线场景为例,通常以“可行性评估”→“方案设计
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【问题分类】驱动使用【关键字】ODBC、驱动使用、PHP【问题描述】● PHP使用PDO_ODBC连接yashan数据库,使用绑定参数获取数据时,客户现场出现报错本地复现未出现异常报错,但是无法正确获取数据。【问题原因分析】开启ODBC报错日志后,在日志中可看到调用了未实现的SQLDescribeParam接口,绑定参数后,SQLExecute执行报错【解决/规避方法】无规避
【YashanDB知识库】PHP使用ODBC驱动无法获取长度为256char以上的数据
【问题分类】驱动使用【关键字】ODBC、驱动使用、PHP、【问题描述】PHP使用PDO_ODBC连接yashan数据库,获取数据类型大于或等于varchar(256 char)的数据时出现异常,数据无法正常获取,BLOB等字段也无法正常获取,并且该问题会导致该字段后的所有数据都无法获取。【问题原因分析】 ● 开启ODBC日志后,在日志中可看到php调用odbc的SQ
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【问题分类】驱动使用【关键字】OCI、驱动使用、PHP【问题描述】● PHP使用OCI8连接yashan数据库,使用绑定参数获取数据时,出现报错● 如果使用PDO_OCI接口连接数据库,未弹出异常,但是无法正确获取数据【问题原因分析】● 开启OCI日志后,在OCI日志中可看到调用了OCIBindByName接口,目前OCI驱动暂未实