ORA-39163: A sample size of string is invalid.
Cause: An attempt was made to do data sampling on a table with a value outside of the range of 0 – 100.
Action: Retry the filtering using a sampling number greater than 0 and less than 100.
ORA-39163 错误代表一个字符串的样本大小是无效的。它是一个通用错误,存在于Oracle的多个版本之中,出现此错误的原因可以是用户输入了一个不合法的样本大小,要求该值是正整数,但用户输入的值却不是整型。
ORA-39163 的官方解释是:“指定的样本大小是无效的”,出现此错误的常见情况主要是当用户使用 Oracle 统计收集功能,如 dbms_stats、collect_sample_clause或者 execute_clause,但却输入了一个不合法的样本大小时,例如输入了一个字符串,而不是一个整型数字。
1. 检查传入给 Oracle 统计收集功能函数的参数是否正确,确保所有传入的参数都是有效的,且与函数签名定义的类型一致;
2. 检查你输入的样本大小是否是有效的整数;
3. 确保样本大小值在可接受的范围中,Oracle 所支持的最小样本大小为 5,而最大样本大小则受 65,536 的限制;
4. 尝试使用 Oracle 提供的有效的默认值,这样可以避免错误的出现。