STACKSIZE 配置参数表示每个线程的初始堆栈大小。数据库服务器将此参数表示的空间量分配给每个活动的线程。此空间来自于数据库服务器共享内存的虚拟部分。可以减少数据库服务器动态添加的共享内存量。
要减少数据库服务器动态添加的共享内存量,您可以估计系统运行的平均线程数所需的堆栈空间量,并将此量包含在为 SHMVIRTSIZE 配置参数设置的值中。
stacktotal = STACKSIZE * avg_no_of_threads
如果无法使用这些措施来避免堆栈溢出,那么可以使用 CREATE FUNCTION 语句的 STACK 修饰符来增加特定例程的堆栈。