![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
YashanDB知识库
YashanDB
这个作者很懒,什么都没留下…
展开
-
【YashanDB知识库】YMP元数据阶段二报错YAS-04204
【问题描述】数据库采用最小规格部署,机器配置2C8G,使用YMP进行数据和对象迁移,在元数据阶段二创建索引时报错:YAS-04204 number of PARALLEL must be between 1 and 4。【问题原因分析】数据库采用最小规格部署,数据库创建索引容许的最大并发度为CPU核数*2,但是YMP在配置文件中写死了创建索引并发度为5,超出数据库创建索引并发度上限。【关键字】YMP迁移,YAS-04204。【问题分类】YMP迁移。原创 2024-08-15 15:24:12 · 22 阅读 · 0 评论 -
【YashanDB数据库】yasql登录有特殊字符@导致无法登录
Linux bash shell环境下,使用yasql登录数据库没有使用转义导致登录失败。linux特殊字符转义问题,多加几层转义可以解决问题。原创 2024-08-13 15:49:08 · 262 阅读 · 0 评论 -
【YashanDB数据库】YashanDB如何回收表空间
如果total_bytes大于high_water_mark,代表有可回收的空间为total_bytes-high_water_mark,单位byte。这里的200M需大于高水位线,不然无法回收。原创 2024-08-13 15:41:49 · 369 阅读 · 0 评论 -
【YashanDB数据库】Yashandb表闪回业务表实践
示例(HEAP表)原创 2024-08-13 10:40:49 · 266 阅读 · 0 评论 -
【YashanDB数据库】yasboot查询数据库状态时显示数据库状态为off
yasboot cluster status -c yashandb 显示数据库状态为off与数据库实际的状态不符,如下图。经确认,备库手动停库再重启数据库进程能够解决yasboot显示数据库状态异常问题。2、yasboot显示数据库状态异常时候,要使用客户端检查数据库系统视图显示状态。1、崖山数据库的操作要尽可能通过yasboot工具。【关键字】yasboot,数据库运行状态为off。【问题分类】yasboot、yasdb使用问题。【问题描述】yasboot工具显示的状态。原创 2024-08-13 10:29:09 · 236 阅读 · 0 评论 -
【YashanDB数据库】YAS-02143 invalid username/password, login denied
用户jdk版本低导致用户登录密码报错。因此,从openjdk version “1.8.0_242” 升级到 openjdk version “1.8.0_282”,问题解决。【问题描述】应用启动后,报错YAS-02143 invalid username/password, login denied。这种问题需要细心分析日志,要不然只看到数据库的报错,导致分析不出结果。【问题原因分析】应用环境JDK版本低。【关键字】jdbc,02143。【问题分类】错误码处理。原创 2024-08-12 17:53:28 · 105 阅读 · 0 评论 -
【YashanDB数据库】YAS-02079 archive log mode must be enabled when database is in replication mode
【问题描述】执行alter database noarchivelog 关闭归档时,报错YAS-02079。【关键字】关闭归档、YAS-02079、replication mode。【问题原因分析】如果配置了复制,就不能关闭归档。【解决/规避方法】关闭复制,然后再关闭归档。【问题分类】调整归档。【影响范围】23.2。原创 2024-08-12 16:35:25 · 146 阅读 · 0 评论 -
【YashanDB数据库】YAS-02032 column type is incompatible with referenced column type
【问题原因分析】外键字段类型不支持,比如varchar2(64) ,指定外键是NVARCHAR2(64)【解决/规避方法】外键字段都改为VARCHAR2(64)或者NVARCHAR2(64)【问题描述】设置外键约束报错,数据元数据不正确。【问题分类】外键约束创建报错。【关键字】YAS-02032。原创 2024-08-12 15:46:05 · 487 阅读 · 0 评论 -
【YashanDB数据库】YAS-02024 lock wait timeout, wait time 0 milliseconds
再执行alter system kill session 命令kill引起锁超时的会话。【问题原因分析】数据库默认锁等待时间为0秒,如果执行语句存在锁等待过长会执行失败。找出导致锁等待的session ,并根据实际情况确认能不能先使其退出。【问题描述】执行语句时候,因锁等待超时执行语句失败。–查询哪些表锁死 记录下SID和serial#再关联dv$session确定serial。【关键字】YAS-02024。【问题分类】锁等待超时。v$lock确定sid。【影响范围】所有版本。原创 2024-08-12 15:23:59 · 330 阅读 · 0 评论 -
【YashanDB数据库】YAS-00413 wait for receive timeout
【问题描述】使用工具设置不同并发迁移数据的过程中,导致yasql登录报错:YAS-00413 wait for receive timeout。查看文件并确认“nofile”与“noproc”参数配置,/etc/security/limits.conf(如下是示例)崖山用户执行ulimit -a 确认“max user processes”与“open files”参数大小是否修正。【问题原因分析】工具使用与数据库使。【关键字】yasql,00413。【影响范围】所有版本。【修复版本】所有版本。原创 2024-08-12 10:22:23 · 322 阅读 · 0 评论 -
【YashanDB数据库】Ubuntu系统加载Yashan C驱动后无法使用PHP
【问题原因分析】经检查,我们的yashandb的C驱动库自带libpcre2-8.so依赖,和ubuntu自带的pcre3驱动产生冲突,导致php启动失败。使用以上命令将ubuntu系统的lib库也载入后,php可以正常启动,且系统的lib文件夹必须写在前面,保证优先从系统文件夹获取lib包。【关键字】驱动使用、PHP、Ubuntu、C驱动。【问题分类】驱动使用。【影响范围】所有版本。原创 2024-08-08 17:35:19 · 453 阅读 · 0 评论 -
【YashanDB数据库】PHP无法通过ODBC连接到数据库
驱动使用】ODBC、驱动使用、PHP但是在应用所在的主机上使用isql连接YashanDB数据库正常,ldd检查/home/yashandb_odbc/libyas_odbc.so和libyascli.so.0均正常。】php-fpm和nginx均通过systemctl的方法启动,该启动方式不会读取配置到机器中的环境变量,导致php-fpm的workers进程无法正确获取到ODBC的驱动文件。原创 2024-08-08 16:20:03 · 496 阅读 · 0 评论 -
【YashanDB数据库】Mybatis-plus分页框架识别不到Yashandb
当Yashandb使用mybatis-plus分页时候,会抛出异常即other database not supported。从Mybatis-plus源码里面看到,getDBtype函数是没有Yashandb的方言。添加java配置类,业务系统指定ORM框架需要使用Oracle(MySQL)方言。Mybatis-plus 无法识别Yashandb数据库,应用有如下报错。原创 2024-08-08 16:13:15 · 227 阅读 · 0 评论 -
【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢
客户端代码在yashandb运行的操作系统上执行,可以去除掉网络传输的影响,方便分析问题。原创 2024-08-08 16:02:18 · 165 阅读 · 0 评论 -
【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed
1、YashanDB利用操作系统linotify相关接口做文件设备的监控,范围是:数据文件、redo文件、控制文件、归档日志。2、inotify_add_watch() 函数在部分麒麟(kylin v10 sp1)环境上执行结果和CentOS等其他环境不一致,在文件正常的情况下会返回大量的属性变更事件,导致大量错误日志,新版本(22.2.13.100之后)做了防洪规避,避免日志过多掩盖其他信息。原创 2024-08-06 15:13:25 · 517 阅读 · 0 评论 -
【YashanDB数据库】VMware虚拟机使用默认安装,在掉电之后数据库无法启动
VMware使用缓存来提高磁盘操作速度,包括读缓存和写缓存。在默认安装模式下,数据不会实时落盘(实测方式:可以在虚拟机中新增文件,随机写入内容,观察虚拟机文件修改时间是否发生变化,可以确认文件没有实时写入物理磁盘)。系统的lsn先写入ctrl文件,再写入undo文件,在db启动的时候系统全局的lsn从ctrl文件中读取,逻辑上确保undo的lsn比系统的lsn小;5、因为客户环境中的磁盘文件落盘不是实时, 掉电过程出现异常, 导致undo中的lsn比ctrl中的lsn大的情况, 进而导致数据库无法启动。原创 2024-08-06 14:41:54 · 691 阅读 · 0 评论 -
【YashanDB数据库】大事务回滚导致其他操作无法执行,报错YAS-02016 no free undo blocks
1、数据写入、rollback过程,需要对索引做相应的修改,为了加快速度,可以先删除或把索引设置为UNUSABLE,待完成之后再建索引,或rebuild索引。2、线上操作要避免出现大事务,使用imp、yasldr等工具分批提交,或者在insert into select 中添加where条件,分批提交。3、执行数据迁移过程,规划好UNDO空间。UNDO空间大小默认最大值是64G,虽然会自动扩展,但是在到达最大值之后,不会再扩展,可以修改最大值限制,或添加数据文件。原创 2024-08-06 10:37:01 · 709 阅读 · 0 评论 -
【YashanDB知识库】statement级别的触发器在jdbc接口调用executeBatch时被多次触发
了解客户对jdbc的使用场景;灵活使用辅助表来验证触发器的触发次数。原创 2024-08-05 16:26:18 · 258 阅读 · 0 评论 -
【YashanDB知识库】自关联外键插入数据时报错:YAS-02033 foreign key constraint violated parent key not found
构造可以同时在yashandb/oracle执行的语句,方便分析确认问题。原创 2024-08-05 15:34:49 · 190 阅读 · 0 评论 -
【YashanDB知识库】ycm托管数据库时报错OM host ip:127.0.0.1 is not support join to YCM
1、后台修改OM的ip为非常规操作,非必要不建议这样操作,存在未知风险2、安装数据库要按照规范安装,不要使用127.0.0.1这种只允许本机访问的ip。原创 2024-08-05 14:26:39 · 147 阅读 · 0 评论 -
【YashanDB知识库】ycm托管数据库时,数据库非OM安装无法托管
安装数据库要按照规范安装,非规范安装会导致一系列问题。原创 2024-07-31 11:45:00 · 291 阅读 · 0 评论 -
【YashanDB知识库】ycm纳管主机安装YCM-AGENT时报错“任务提交失败,无法连接主机”
端口问题解决后,再次执行安装会报错唯一键问题需要去ycm上将纳管失败的主机移除,再次执行安装ycm-agent。原创 2024-07-31 10:55:55 · 419 阅读 · 0 评论 -
【YashanDB知识库】IMP跨网络导入慢问题
imp可以考虑做成轻一些,只上传导入文件,传到数据库服务器后,由服务器执行导入。原创 2024-07-31 10:14:44 · 378 阅读 · 0 评论 -
【YashanDB知识库】自动选举配置错误引发的一系列问题
1、kill -9无法使YashanDB优雅退出。正常使用shutdown immediate 停止数据库,无法退出可以使用kill(不带-9)2、22.2.10及以下版本要使用自动选举需要部署一主多备(3个节点或以上)。节点少于3个,不能配置自动选举参数。3、出现core需要做严谨分析相应的逻辑,完善相应的校验。原创 2024-07-31 10:07:54 · 378 阅读 · 0 评论 -
【YashanDB知识库】账号被锁,如何分析具体原因
1、密码可以设置安全策略,在安全策略中指定密码有效期等。2、$YASDB_DATA目录下的log/listener文件夹中日志文件listener.log,可以帮助用户快速分析连接来源,找到链接错误的IP。原创 2024-07-31 09:50:00 · 269 阅读 · 0 评论 -
【YashanDB知识库】使用select * 创建的物化视图无法进行查询重写
目前yashandb的物化视图查询重写功能还是比较弱,急需改进。原创 2024-07-30 16:56:25 · 355 阅读 · 0 评论 -
【YashanDB知识库】设置归档日志上限,但归档日志没自动清理,导致磁盘空间满
归档日志在备份之前不会自动清理,设置归档上下限的同时,还需要设置归档日志清理忽略备份:ARCH_CLEAN_IGNORE_MODE=BACKUP。原创 2024-07-30 16:43:32 · 419 阅读 · 0 评论 -
【YashanDB知识库】如何远程连接、使用YashanDB?
无。原创 2024-07-29 16:58:57 · 376 阅读 · 0 评论 -
【YashanDB知识库】如何使用yasldr导入lob类型?
lls模式和lobfile模式的区别就是前者只有一个.dat文件来存放lob数据,在csv中通过偏移量的计算来指定每行需要导入的lob数据。后者就是一个lob数据就是一个.dat文件,1百万行数据那就是有1百万个.dat文件,在csv中直接在lob列指定对应的.dat类型即可。col1是第一列的int,file1是一个伪劣的名字,filler关键字说明了这一列是伪列。在导入数据时,INFILE指的是一张表的csv数据,其中lob字段的数据通过 filename.ext.nnn.mmm/ 这样的格式来指定。原创 2024-07-29 16:24:04 · 279 阅读 · 0 评论 -
【YashanDB知识库】列与存储过程中重名变量/别名问题
在写SQL的过程中,尽量区别各个变量的名称,防止重名后难以定位。原创 2024-07-26 16:23:40 · 384 阅读 · 0 评论 -
【YashanDB知识库】开源调度框架Quartz写入Boolean值到YashanDB报错
1、了解Quartz开源框架的情况,在任务调度的场景应用很广。2、YashanDB出生较晚,保持和Oracle一致较好地兼容各类开源组件。3、如果是23.2.0.33以下的版本,可以将布尔字段修改为boolean(所有is开头,varchar(1)的字段),可以解决兼容问题。适合没有部署不同数据库的场景。原创 2024-07-26 15:47:35 · 311 阅读 · 0 评论 -
【YashanDB知识库】服务端是GBK编码,导致从22.2.12.100升级到22.2.13.100失败问题
yashandb版本升级流程中,会调用preupgrade.sql、postupgrade.sql脚本,并比较结果判断是否升级成功。原创 2024-07-26 10:42:01 · 349 阅读 · 0 评论 -
【YashanDB知识库】绑定参数,同一个sql多个执行计划的问题
SGA总内存组成方式:data buff + vm buff + large pool + redo buff + shared pool + dbwr buff + audit buff + app pool + hot cache + pq pool +job pool。anlGetNextNewPlan(stmt, ctxCursor),通过这个接口从sqlpool中,根据poolid和bucketid从sqlpool中取的anlcontext,根据anlcontext的plan取数据。原创 2024-07-26 10:07:13 · 832 阅读 · 0 评论 -
【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码
1、JDBC不需要指定编码格式,会自动编解码。2、OCI需要通过接口OCIEnvNlsCreate指定编码格式,目前只支持2种编码。原创 2024-07-25 16:57:18 · 831 阅读 · 0 评论 -
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户的java日志中有如下异常信息:对正常的业务流程无影响,但是影响druid的merge sql功能(此功能会将sql语句中的字面量替换为绑定变量,然后将替换以后的sql视为同一个,然后用做执行性能统计)与yashandb版本无关druid源码中在merge sql时会调用ParameterizedOutputVisitorUtils.parameterize(sql, null, null, null, null);此方法的第二个参数为dbType,此时传入为null,解析时不识别递归查询中的start原创 2024-07-25 15:19:35 · 410 阅读 · 0 评论 -
【YashanDB知识库】yasdb jdbc驱动集成BeetISQL中间件,业务(java)报autoAssignKey failure异常
BeetISQL中间件版本:2.13.8.RELEASE客户在调用BeetISQL提供的api向yashandb的表中执行batch insert并将返回sequence设置到传入的java bean时,报如下异常:影响业务流程正常执行,无法获得batch insert所关联数据库记录设置的sequence id。对此业务流程的解释说明:某表有两列,分别为tid(数据类型number), tname(数据类型varchar2)。其中tid不需要业务传入,其值应由另外一个yashandb的sequence自动原创 2024-07-25 15:00:24 · 501 阅读 · 2 评论 -
【YashanDB知识库】update/delete未选中行时,v$transaction视图没有事务,alter超时问题
1、delete、update未选中行时,vtransaction中没有事务记录,vtransaction中没有事务记录,vtransaction中没有事务记录,vlock中有TS锁此时另一个session对表做alter操作会返回lock wait timeout超时错误。正常现象2、DDL_LOCK_TIMEOUT控制lock wait timeout超时大小,默认为0。原创 2024-07-25 14:28:19 · 252 阅读 · 0 评论 -
【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0报错分析
v$global_mpool //查看sql pool使用情况v$open_cursor //查看stmt的cursor使用状况OPEN_CURSORS //配置session最大cursor的使用个数。原创 2024-07-24 15:53:23 · 590 阅读 · 0 评论 -
【YashanDB知识库】filter or改写问题
执行计划并不是建了索引就可以选上索引的,需要将条件改为可以走索引才行。原创 2024-07-24 15:09:24 · 230 阅读 · 0 评论 -
【YashanDB知识库】数据库使用shutdown immediate无响应导致coredump
【问题描述】执行shutdown immediate后,数据库一直没有退出,在操作系统层面强制停止数据库进程时发生coredump。【关键词】YashanDB, shutdown immediate, coredump。执行shutdown immediate后,数据库被重新启动并开始接收redo日志。在进程被强制终止时,由于redo日志处理正在进行,触发异常并产生coredump。【标题】数据库使用shutdown immediate无响应导致coredump。【问题分类】数据库维护。原创 2024-07-24 14:35:23 · 401 阅读 · 0 评论