-
如何从内存中获取SQL语句的执行计划
SQL语句的性能数据可以从视图v$sql中获取,针对可能有性能问题的SQL语句,可以根据该语句对应的plan_hash_value从视图v$sql_plan获取到该语句的执行计划。
创建UDF - REPEAT,后面SQL中有用到,格式化输出用
根据plan_hash_value获取SQL文本(以2609204012为例)넶7 2024-12-17 -
使用DataX工具迁移yashan数据到maxcompute
使用DataX工具主要是配置好对应的json文件,使DataX工具可以根据json文件进行对应数据库表的迁移操作
json文件配置模板如下:template.json
配置完成后,执行下面命令即可执行DataX的同步操作(路径根据实际情况修改)
python bin/datax.py test_json/test.json넶33 2024-11-21 -
从PostgreSQL迁移到YashanDB如何进行数据行数比对
简介:目前从PostgreSQL迁移到YashanDB后,需要进行数据校验。下面给出user1模式从PostgreSQL迁移到YashanDB进行数据行数比对的示例。
详情:获取PostgreSQL精确行数
创建table_count,用于存储行数(建议:使用现有的迁移模式user1,并把table_count创建在user1用户下)넶31 2024-10-17 -
YashanDB 支持MySQL多表更新语句的解决方法
前言:MySQL支持多表更新语句,如果迁移到YashanDB,推荐通过兼容性参数来支持。如果兼容性参数支持存在问题的话,也可以按照多表更新的规则进行改写。
问题:在YashanDB默认模式下执行MySQL的多表更新语句,报错YAS-04344 multi-table update is not supported,请看示例:
解决方法:YashanDB使用兼容参数넶25 2024-10-17 -
MySQL和YashanDB 隐式转换不一致引起的报错
问题:最近遇到一个问题,MySQL 5.7的SQL语句执行无问题,但在YashanDB执行会报错:
另外,该问题有一个奇怪的地方,不同的值表现不一致,比如a2.c2=25会报错,而a2.c2=24则不报错,也需要分析清楚原因
表的定义和数据如下:넶18 2024-10-17 -
MySQL field 函数的改写方法
概述:MySQL field函数常用于自定义排序,改写到YashanDB一般用decode或者case进行改写。
详情:MySQL的field用法
MySQL的field函数一般用于对SQL中查询结果集进行指定顺序排序,例如以下查询对于c2列,如果c2的值等于'plane','train','bicycle'其中之一,则以 'plane','train','bicycle'的顺序编号1,2,3进行排序,否则顺序编号为0,排在最前。请看以下示例:넶20 2024-10-17 -
服务器重启后启动yasom和yasagent进程时有告警
问题场景:数据库正常运行,使用yasboot关闭数据库并重启服务器后,用yasboot启动yasom,yasagent以及yasdb进程成功,但是yasom,yasagent存在告警
告警详情:warning: watch yasom error: monitor failed, stdout: , /data/yashan/yasdb_home/yashandb/22.2.8.105/bin/moint/moint: error while loading shared libraries: libnsl.so.1: cannot open shared object file: no such file or directory넶29 2024-09-26 -
共享从 MySQL异常处理CONTINUE HANDLER的改写方法
MySQL的CONTINUE HANDLER:迁移MySQL业务时,遇到了MySQL的CONTINUE HANDLER FOR not found用法。详情如下:
-- 表DDL
create table t1(c1 int primary key, c2 int);
create table t2(c1 int primary key, c2 int);넶17 2024-09-13 -
数据库升级后用yasboot在线扩充备节点出现报错
数据库版本升级过程:22.2.4.1升级到22.2.12.100,再升级到23.2.2.100
报错信息:升级到23版本的数据库按照官方文档使用yasboot执行在线扩容操作增加备节点出现报错:there is no replication addr in node 1-1
使用yasboot在线扩容报错没有replication addr,但是在数据库中查询发现存在replication addr넶29 2024-08-23 -
共享利用Python脚本解决Oracle的SQL脚本@@用法
简介:Oracle客户端sql*plus正在执行某SQL脚本,当该SQL脚本调用同级目录的SQL脚本,会使用@@,请看详情的Oracle示例。崖山数据库23.2.x.100已支持@@用法,但是对于以前的版本,可以用Python脚本进行批量重写,对于存在@@调用的SQL文件,用SQL文件所在的绝对路径进行替换。
详情:Oracle示例
Oracle示例是在Windows上通过批处理脚本执行。넶25 2024-08-23