分享一些 500 强信创数据库的有趣故事吧

11次阅读

共计 668 个字符,预计需要花费 2 分钟才能阅读完成。

  1. 数据库的集群间节点互访通过 SSL 加密传输来保证安全性,非生产环境下,SSL 证书通过标准的 openssl 自签流程生成。openssl 自签证书的最长有效期是 10 年,然而直到今年 5 月之前,该数据库产品并未在管控平台提供任何证书过期的告警监控。
  2. 某些数据库的规则中,视空字符串 '' 为有效的内容,但是 Oracle 和兼容 Oracle 的数据库会将 '' 视作NULL
    以此为前置条件,使用信创数据库官方的迁移平台进行数据迁移,将某个有 NOT NULL 列且包含大量 '' 的表迁移到信创数据库中,竟然能够顺利执行。落库后经过查询,发现 '' 被转换成了一个没有内容、不是 NULL、长度为 0(正常情况下,NULL的长度为 NULL)、显示为空、强转十六进制后显示为0x(即 RAW 值也为空)、无法通过任何 where 条件选中(IS NULL='' 等)的东西。
  3. 我们已知该数据库的 Oracle 兼容模式下将 '' 等价为 NULL,但是我可以在数据库里创建一个带有列COLNAME VARCHAR(n) NOT NULL DEFAULT'' 的表。表现是如果进行 INSERT 不指定该列的值,直接出发违反约束的 ERROR。
  4. 客户一直在进行信创数据库的 API 长期测试。信创数据库由内核软件提供一组 API,再由管理平台对内核 API 进行二次封装。前阵子开发向技术支持反馈,有一个基础功能的 API 接口调用一直有问题,调用失败。客户、驻场 DBA、技术支持上下游联合调试了两天,最后数据库那边的 Developer 发现,这个接口的定义和使用方法虽然写在了《API 手册》中,但是数据库本身根本就没有实现,是个虚空接口。
正文完
 0