Oracle ORA-31600在使用扫描百分比与dbms_比较时。比较
我正在使用Oracle Database 11g Enterprise Edition 11.2.0.4.0版-64位生产版,我使用以下代码创建了一个比较:Oracle ORA-31600在使用扫描百分比与dbms_比较时。比较,oracle,oracle11g,Oracle,Oracle11g,我正在使用Oracle Database 11g Enterprise Edition 11.2.0.4.0版-64位生产版,我使用以下代码创建了一个比较: BEGIN DBMS_COMPARISON.CREATE_COMPARISON( comparison_name => 'test2', schema_name => 'someSchema', object_name => 'someTable', dblink_nam
BEGIN
DBMS_COMPARISON.CREATE_COMPARISON(
comparison_name => 'test2',
schema_name => 'someSchema',
object_name => 'someTable',
dblink_name => 'MYORACLEDB',
scan_mode => 'RANDOM',
scan_percent => 50);
END;
当我使用
DECLARE
consistent BOOLEAN;
scan_info DBMS_COMPARISON.COMPARISON_TYPE;
BEGIN
consistent := DBMS_COMPARISON.COMPARE(
comparison_name => 'test2',
scan_info => scan_info,
perform_row_dif => FALSE);
END;
我收到以下错误消息:
ORA-31600: invalid input value 1 for parameter data type in function a_plus_b_mul_c_minus_d
ORA-06512: at "SYS.DBMS_COMPARISON", line 547
ORA-06512: at line 7
31600. 00000 - "invalid input value %s for parameter %s in function %s"
*Cause: A NULL or invalid value was supplied for the parameter.
*Action: Correct the input value and try the call again.
当我运行与全扫描模式的比较时,我没有错误
有人遇到过这样的问题吗?尝试使用DBMS\u比较中定义的扫描模式常量(在您的情况下,您应该使用
DBMS\u比较.CMP\u scan\u mode\u RANDOM
而不是'RANDOM'
),看看这是否有帮助。祝你好运。嗨,鲍勃,谢谢你的建议,但不幸的是,我获得了与包常量相同的行为。当主键为CHAR或VARCHAR时,存在错误编号19158337,在扫描模式循环中得到相同的错误。除了扫描模式FULL之外,任何东西都可能调用这个函数,该函数采用数字主键?如果您的案例也是一个字符主键,我建议联系Oracle支持部门,参考bug 19158337-目前似乎处于挂起状态,您的输入可以帮助加快bug的修复速度。我的数据库中几乎每个表都包含基于varchar的键。。。这就解释了一切。我将检查您共享的bug编号,将我自己的问题实验添加到其中。谢谢