设置大sort_area_size时发生的ora-00600[925]错误
今天rebuild一个超大的index,在设置手工sort_area_size到达2GB时
触发ora-00600[925],修改不成功。
SQL> alter session set sort_area_size=2097152000;
ERROR:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00600: internal error code, arguments: [925], [hash_area_size], [-100663296], [], [], [], [], []
查询hash_area_size
SQL> show parameter hash_area_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hash_area_size integer 1048576
发现为1M,
而sort_area_size的限制是<2*31方,并且不能比hash_area_size大这么多,
考虑到这个因素,我们把hash_area_size改大
SQL> alter session set hash_area_size=10485760;
Session altered.
SQL> alter session set sort_area_size=2097152000;
Session altered.
SQL> show parameter sort
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_sort string
sort_area_retained_size integer 0
sort_area_size integer 2097152000
可以看到设置成功。
其实这个也算是oracle的一个bug了。
见Bug 2205276 and 4011860