oracle - 在 oracle 数据库中插入 BLOB 数据时出错
问题描述
我在同一个数据库中有 2 个架构,具有相同的表名和结构
在 schema_1 BLOB 表中插入记录实时数据。我创建了另一个 schema_2,并创建了与 schema_1 相同的表名和结构。
现在,当我尝试将记录从 schema_1 插入到 schema_2 表时,我收到以下错误
ORA-01555: snapshot too old: rollback segment number with name "" too small
ORA-22924: snapshot too old
插入 schema_2 的查询:
insert into blob_table
(id, blob_col)
select id, blob_col from tab_schema_1
where blob_col is not null;
Oracle 数据库 11G 64 位,DB BLOCK SIZE 32768
如何解决这个问题呢?谢谢
解决方案
如果在自动撤消管理模式下,增加 UNDO_RETENTION 的设置。否则,使用更大的回滚段。
[ https://taliphakanozturken.wordpress.com/2018/09/12/how-to-optimize-oracle-undo-parameters/][1]
undo保留时间=(undo size)/(db block size × undo block per second)
SQL>ALTER SYSTEM SET UNDO_RETENTION = 1000 TO 2400; --1000 and 2400 are examples
推荐阅读
- ios - Nativescript - 在 iOS 上检测越狱和动态检测
- python - 在 Windows 10 上运行多处理时 python 中的运行时错误
- flutter - Flutter Web--位置权限在 Safari(Mac & iOS) 上不起作用
- python - Pytorch: Building 3D Dense Network 遇到错误 Adaptive_avg_pool3d: output_size must be 3
- wordpress - 在 WooCommerce 中,我怎样才能做到让用户每个订单只能购买 1 件产品,并在特定产品上制作,每个用户只能购买一次?
- python-3.8 - 如何确认用户是否按下了pysimplegui中的按钮
- formsflow.ai - 尝试从部署-> docker 构建表单和 bpm 时数据库连接出错
- c# - 删除 URL 中的尾部斜杠
- javascript - 从段落文本中获取解析浮点数
- css - 我在 Tailwind CSS 居中做错了什么?