ITPub博客

首页 > 数据库 > 国内数据库 > 【YashanDB 知识库】Yasldr 错误处理

【YashanDB 知识库】Yasldr 错误处理

原创 国内数据库 作者:崖山数据库系统YashanDB 时间:2025-01-22 18:04:46 0 删除 编辑

本文内容来自 YashanDB 官网,原文内容请见  https:///newsinfo/7281306.html?templateId=1718516

问题 1. YAS-04113 bracket expected [YASLDR] execute failed**

原因:

导入数据的用户没有 dba 权限

解决 方法:

为导入数据的用户赋 dba 权限:grant dba to username;

问题 ****2. YAS-00218 string conversion failed

原因:

1、字符集存在不一致(操作系统字符集,源库字符集,目标库字符集)

2、源库导出的数据和 YashanDB 的表结构不一致

解决 方法:

1、检查操作系统字符集,源库字符集与目标库的字符集是否一致

-- 查询操作系统字符集

locale

-- 查询 YashanDB 数据库字符集

select * from V$parameter where name='CHARACTER_SET';

-- 查询 Oralce 数据库字符集

select * from nls_database_parameters where parameter like '%NLS_CHARACTERSET%';

2、检查源库和 YashanDB 的表结构是否一致,不一致则修改表结构

问题 ****3. Fail to connect socket, error 111, error message “Connection refused”

原因:

1、查看数据库是否启动,状态是否正常

2、在主备部署环境下,可能出现归档日志满的情况,当系统硬盘被占满后,会出现数据库异常

解决 方法:

1、在 linux 操作系统检查 yasdb 进程是否存在

ps -ef | grep yasdb

-- 如果不存在则用以下命令启动数据库

yasboot cluster start -c yashandb;

2、需要修改 log 的删除模式参数,手动清除归档日志

● 归档日志查看:select * from v$archived_log;

● 更改归档模式清理策略:alter system set ARCH_CLEAN_IGNORE_MODE=both

● 手动清理归档:

-- 删除所有归档日志

ALTER DATABASE DELETE ARCHIVELOG ALL;

-- 删除包括 2022-01-06 11:30:00 之前的归档日志

ALTER DATABASE DELETE ARCHIVELOG until TIME TO_DATE('2022-01-06 11:30:00', 'yyyy-mmdd hh24:mi:ss');

-- 删除序列号包括 71 号之前的归档日志

ALTER DATABASE DELETE ARCHIVELOG until SEQUENCE 71;

问题 ****4. YAS-08019 partition key does not map to any partition

原因:

Oracle 导出的分区表数据和 yasdb 表结构不⼀致

解决 方案:

需要重新获取 Oracle 的对应表结构,在 yasdb 中重新建表

问题 ****5. YAS-02007 no free extent in tablespace TEST

原因:

1、表空间不足,为表空间添加数据文件

2、也可能是在导入过程中大表存在大量索引分裂,将表空间占满

解决 方案:

1、为表空间添加数据文件:

alter tablespace test add datafile '.../.../data/db-1-1/dbfiles/TEST6' size 1g autoextend on;

2、在建表完成后,将索引 drop 掉,待数据都导入完成后,再单独建索引

问题  6. LOB ⽂ 件导⼊:****YAS-04892:csv line terminates expect embedded

原因:

数据中存在换行符,yasldr 默认不将换行符作为数据包含进包围符内

解决:

在 ctl 文件中,field 前面加入 WITHEMBEDDED

问题  7. LOB 文 件导入 **:** YAS-00301:file operation "write file" failed.  errno  28. error  message"No  space left on device"

原因:

表空间剩余空间不够

解决:

为对应的表空间添加数据文件

查看表空间剩余空间大小:

"SELECT id, tablespace_name, status, block_size, total_bytes/1024/1024 as "TOTAL_SIZE(MB)",

CAST((total_bytes-user_bytes)/1024/1024 AS decimal(15,2)) as "USED(MB)",

CAST(user_bytes/1024/1024 AS decimal(15,2)) as "AVAILABLE(MB)",

CAST(user_bytes/total_bytes*100 AS decimal(5,2)) AS FREE_PERCENT FROM dba_tablespaces

LIMIT ${ROWSRETUEN}"

为表空间添加数据文件:

alter tablespace test add datafile '.../.../data/db-1-1/dbfiles/TEST6' size 1g autoextend on;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3070513/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: YCM和YMP密码重置
请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    640020