小红书网址无法正常插入varchar

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.2.0
【问题描述】小红书网址无法正常插入varchar类型字段
@论坛小助手

测试表
CREATE TABLE text1 (
id int(11) NOT NULL AUTO_INCREMENT,
value varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) AUTO_INCREMENT = 2 AUTO_INCREMENT_MODE = ‘ORDER’ DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0;

测试语句
INSERT INTO test.text1 (id, value) VALUES (1, ‘xiaohongshu.com’)

一直在运行但是插入不进去

1 个赞

日志采集场景: SQL执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

为了更好地帮助您解决在 OceanBase 4.2.2.0 生产环境中插入小红书网址到 varchar 类型字段时遇到的问题,我们建议使用上述 obdiag 工具进行日志采集。此命令将收集与 SQL 执行错误相关的诊断信息,有助于我们了解具体问题所在。

请您提供一些额外的信息以便我们更好地帮助您:

  1. 您能否提供创建表的DDL语句以及插入数据的完整SQL语句?
  2. 您是否可以分享一下varchar字段的具体长度设置?因为如果长度不足可能会导致数据无法成功插入。
  3. 您是否有尝试过插入其他类型的字符串数据到该字段?结果如何?
  4. 您能否确认一下OceanBase数据库字符集的设置?这可能会影响特殊字符的存储。
  5. 您是否能提供通过obdiag采集的日志压缩包?这将帮助我们进一步分析问题。

附上敏捷诊断工具 obdiag 使用帮助链接


这边测试是没问题的

我查查我这边得原因吧

建议你可以根据trace去查看日志看看sql卡在哪里了

)设置trace信息
SET ob_enable_show_trace=‘ON’;

2)执行sql。

3)获取上个命令的trace
select last_trace_id();

4)获取trace对应的节点
select query_sql,svr_ip from gv$ob_sql_audit where trace_id=‘第三步获取的trace信息’;

5)取对应的svr_ip节点 过滤日志
grep “第三步获取的trace信息” observer.log*

好的,您可以先检查以下几个方面来初步排查问题:

  1. 确认字符集设置

    • 确认表和数据库的字符集是否支持您要插入的数据。例如,utf8mb4 支持更广泛的 Unicode 字符,包括 emoji 和其他复杂字符。
    • 您可以运行以下 SQL 查询来检查当前数据库和表的字符集设置:
      SHOW CREATE DATABASE your_database_name;
      SHOW CREATE TABLE test.text1;
      
  2. 检查字段长度

    • 确认 value 字段的长度 (varchar(255)) 是否足够容纳您要插入的数据。虽然对于大多数 URL 来说 255 应该是足够的,但如果您有特别长的 URL 或者包含特殊字符的 URL,可能需要更大的长度。
  3. 尝试简化插入语句

    • 尝试插入一个简单的字符串(如 'test')以排除 URL 中特殊字符的影响:
      INSERT INTO `test`.`text1` (`id`, `value`) VALUES (2, 'test');
      
    • 如果这条语句成功了,那么问题可能是由于 URL 中的某些字符引起的。
  4. 查看错误日志

    • 查看 OceanBase 的错误日志,寻找任何与插入操作相关的错误信息。这可以帮助确定是否有特定的错误或警告消息。
  5. 使用 obdiag 工具

    • 如果上述步骤未能解决问题,建议使用 obdiag 工具收集诊断信息。这将有助于更深入地分析问题。

如果经过这些检查后仍然无法解决问题,请随时提供更多的详细信息,我们将进一步协助您排查问题。希望这些建议对您有所帮助!

具体信息可参考以下文档:

  1. 无主
  2. PURGE_STATS
  3. IMPORT_COLUMN_STATS
  4. IMPORT_INDEX_STATS
  5. DELETE_TABLE_STATS
  6. SET_COLUMN_STATS
  7. 检查 NTP 偏移量
  8. 遇到问题如何在官网上进行自主排查
  9. IMPORT_SCHEMA_STATS

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

谢谢解答,我已经找出了问题在于公司防火墙

公司防火墙禁止了"xiaohongshu.com"
所以增删改查数据在进行sql得时候tcp连接直接被拦截了

好的,麻烦点一下采纳