Я использую рекурсивную процедуру хранения в MySQL, и мне пришлось изменить значение thread_stack в my.ini с 128 КБ до 512 КБ.

Мне нужно развернуть ту же процедуру сейчас на Oracle и Microsoft SQL Server.

Каковы эквивалентные значения конфигурации в Oracle, SQLServer MySQL thread_stack?

1 ответ1

0

Вот что я нашел для SQL Server:

http://blogs.msdn.com/b/arvindsh/archive/2008/08/24/sql-worker-thread-stack-sizes.aspx

http://www.sqlskills.com/blogs/jonathan/how-much-memory-does-my-sql-server-actually-need/

Подводя итог, 512K на 32-битной, 2M на 64-битной Windows.

Для Oracle его нет в общедоступной документации, но об этом говорится на сайте поддержки в этой заметке: База данных Oracle и архитектура памяти Windows NT, Технический бюллетень (Doc ID 46001.1). Вы можете перечислить (или изменить) размер стека потока (называемый зарезервированной памятью на поток) с помощью утилиты ORASTACK. Размер стека по умолчанию зависит от версии и платформы.

Например, в 64-битной Windows 64-битные версии 11.2 и 12.1 по умолчанию имеют размеры стека 3.1M и 3.5M:

11,2:

orastack X:\oracle\base\product\db11203ee\BIN\oracle.exe

Dump of file X:\oracle\base\product\db11203ee\BIN\oracle.exe

Current Reserved Memory per Thread  = 3100000
Current Committed Memory per Thread = 12160

12,1:

orastack C:\oracle\base\product\db12101ee\BIN\oracle.exe

Dump of file C:\oracle\base\product\db12101ee\BIN\oracle.exe

Current Reserved Memory per Thread  = 3500000
Current Committed Memory per Thread = 12160

11,2 на 32-битной Windows, 1M:

orastack C:\oracle\product\11.2.0\dbhome_1\BIN\oracle.exe

Dump of file C:\oracle\product\11.2.0\dbhome_1\BIN\oracle.exe

Current Reserved Memory per Thread  = 1048576
Current Committed Memory per Thread = 4096

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .