如何手动破坏 Oracle CLOB 数据
How to manually corrupt the Oracle CLOB data
我想知道是否有任何方法可以手动破坏 CLOB 数据以进行测试。
我可以找到 steps for intensional block corruption,但找不到 table 中的个人数据。谁能帮我解决这个问题?
以下是我正在尝试做的事情,我需要第 1 步的帮助:
- 准备损坏的 CLOB 数据
- 运行 expdb 并得到 ORA-01555 错误
- 测试我的故障排除程序是否正常
一些背景:
数据库:Oracle 12.2.0.1 SE2
OS: Windows 服务器 2016
我们正在使用的应用程序(来自第 3 方)似乎偶尔会在将某种类型的数据插入 table 时损坏 CLOB 数据。我们不知道是什么触发了它。损坏不影响应用程序的功能,但不修复它会在 运行ning expdb 进行每日备份时出现以下错误:
ORA-01555: snapshot too old: rollback segment number
CLOB 由字母数字字符和换行符组成。它由应用程序插入,无需手动插入
Fixing/replacing 该应用程序不是一个选项,因此我们有一个修复程序。
我从另一位工程师(他已经离开)那里接手了这个,但从那以后应用程序运行得很愉快,到目前为止没有出现任何问题。我想在 DEV 环境中测试 运行 修复程序,但应用程序没有为我重现问题。
所以我想我是否可以手动准备“损坏的”CLOB 用于测试目的
所以这看起来是由一个已知错误引起的:
- https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=364607910994084&parent=DOCUMENT&sourceId=833635.1&id=787004.1&_afrWindowMode=0&_adf.ctrl-state=3xr6s00uo_200
- https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=364470181721910&id=846079.1&_afrWindowMode=0&_adf.ctrl-state=3xr6s00uo_53
- https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=364481844925661&id=833635.1&_afrWindowMode=0&_adf.ctrl-state=3xr6s00uo_102
这里的要点是损坏不是由数据中的任何固有内容引起的,而更可能是由多个更新(应用程序或最终用户行为)对 LOB 的并发访问等原因引起的,或者只是显然是随机的机会。因此,我怀疑您是否有任何方法可以轻松地强制执行此条件以验证您的测试。
我想知道是否有任何方法可以手动破坏 CLOB 数据以进行测试。
我可以找到 steps for intensional block corruption,但找不到 table 中的个人数据。谁能帮我解决这个问题?
以下是我正在尝试做的事情,我需要第 1 步的帮助:
- 准备损坏的 CLOB 数据
- 运行 expdb 并得到 ORA-01555 错误
- 测试我的故障排除程序是否正常
一些背景:
数据库:Oracle 12.2.0.1 SE2
OS: Windows 服务器 2016
我们正在使用的应用程序(来自第 3 方)似乎偶尔会在将某种类型的数据插入 table 时损坏 CLOB 数据。我们不知道是什么触发了它。损坏不影响应用程序的功能,但不修复它会在 运行ning expdb 进行每日备份时出现以下错误:
ORA-01555: snapshot too old: rollback segment number
CLOB 由字母数字字符和换行符组成。它由应用程序插入,无需手动插入
Fixing/replacing 该应用程序不是一个选项,因此我们有一个修复程序。
我从另一位工程师(他已经离开)那里接手了这个,但从那以后应用程序运行得很愉快,到目前为止没有出现任何问题。我想在 DEV 环境中测试 运行 修复程序,但应用程序没有为我重现问题。
所以我想我是否可以手动准备“损坏的”CLOB 用于测试目的
所以这看起来是由一个已知错误引起的:
- https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=364607910994084&parent=DOCUMENT&sourceId=833635.1&id=787004.1&_afrWindowMode=0&_adf.ctrl-state=3xr6s00uo_200
- https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=364470181721910&id=846079.1&_afrWindowMode=0&_adf.ctrl-state=3xr6s00uo_53
- https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=364481844925661&id=833635.1&_afrWindowMode=0&_adf.ctrl-state=3xr6s00uo_102
这里的要点是损坏不是由数据中的任何固有内容引起的,而更可能是由多个更新(应用程序或最终用户行为)对 LOB 的并发访问等原因引起的,或者只是显然是随机的机会。因此,我怀疑您是否有任何方法可以轻松地强制执行此条件以验证您的测试。