使用 STACKSIZE 配置参数来指定数据库服务器用户线程的堆栈大小。
- onconfig.std 值
- STACKSIZE 32,32 位数据库服务器
STACKSIZE 64,64 位数据库服务器
- 值
- 32 至由数据库服务器配置和可用内存量确定的限度
- 单位
- KB
- 生效
- 编辑 onconfig 文件并重启数据库服务器之后。
- 当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
- 当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
STACKSIZE 的值没有上限,但设置过大的值会浪费虚拟内存空间并可导致交换空间问题。
对于 32 位平台,对非递归的数据库活动而言,32 KB 的缺省 STACKSIZE 值足够。对于 64 位平台,推荐的 STACKSIZE 值是 64 KB。当数据库服务器执行递归的数据库任务时,例如在一些
SPL 例程中,数据库服务器检查堆栈大小溢出的可能性并自动地扩展堆栈。
用户线程执行用户定义的例程。要增加一个特定例程的堆栈大小,请在 CREATE FUNCTION 语句上使用
stack 修饰符。
警告: 设置 STACKSIZE 的值过低可导致堆栈溢出,虽未定义其结果,但其结果通常是不好的。