今天做一个测试又遇到一个bug:
SQL> alter session set sort_area_size=2000000000;
alter session set sort_area_size=2000000000
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00600: internal error code, arguments: [925], [hash_area_size], [-294967296], [], [], [], [], []
我的平台是:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
搜了metalink,除了确认是一个bug外,没有太多有用的信息。
这个bug在9i很多平台下都可能会遇到,bug触发的临界点是1024m:
SQL> select 1024*1024*1024 from dual;
1024*1024*1024
--------------
1073741824
SQL> alter session set sort_area_size=1073741824;
alter session set sort_area_size=1073741824
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00600: internal error code, arguments: [925], [hash_area_size], [-2147483648], [], [], [], [], []
SQL> alter session set sort_area_size=1073741823;
Session altered
不过,这个bug在10g已经得以修正:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL> alter session set sort_area_size=2000000000;
Session altered.