powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не могу найти параметр конфигурации Adaptive Server: ‘procedure cache size’
2 сообщений из 2, страница 1 из 1
Не могу найти параметр конфигурации Adaptive Server: ‘procedure cache size’
    #37382664
golol_ol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Моё почтение, господа.


ОС : Windows 2000 server
СУБД : Adaptive Server (12.5.3)
Версия : Adaptive Server Enterprise/12.5.3/EBF 13331 ESD#7/P/NT (IX86)/OS 4.0/ase1253/1951/32-bit/OPT/Fri Mar 24 02:17:56 2006

Написал процедуру (имя: my_proc параметр1, параметр2).

Запустил на выполнение в ASE isql (тоже, что и SQL Advantage) :
Код: plaintext
1.
 exec my_proc  1 ,  2 

Имя процедуры: my_proc
Параметр 1: 1
Параметр 2: 2

Получил ругательное сообщение:
Код: plaintext
1.
2.
There is not enough procedure cache to run this procedure, trigger, or SQL batch. 
Retry later,or ask your SA to reconfigure SQL Server with more procedure cache.

Мой сервер имеет 237 параметров конфигурации.
Выполняю запрос в ASE isql:
Код: plaintext
1.
2.
3.
4.
5.
Use master
Go
select count(*) from sysconfigures

Результат  237 


Среди прочих параметров должен быть параметр 'procedure cache size'

Выполняю запрос:
Код: plaintext
1.
2.
3.
Select * from sysconfigures where name like ‘procedure%’

Результат нулевой (получается в sysconfigures нет этого параметра)

Смотрю в файл конфигурации (adaptiveservername.cfg):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
...
[Processors]
	max online engines = 2
	number of engines at startup = DEFAULT
	statement cache size = DEFAULT

[SQL Server Administration]
	procedure cache size  = DEFAULT
	default database size = DEFAULT
	identity burning set factor = DEFAULT
	allow nested triggers = DEFAULT
	allow updates to system tables = 1
	default fill factor percent = DEFAULT
	default exp_row_size percent = DEFAULT
...


Параметр ‘procedure cache size’ = DEFAULT (т.е 3271 memory pages(2k))

Пробую изменить параметр ‘procedure cache size’ из ASE isql:
Код: plaintext
1.
2.
3.
4.
5.
sp_configure 'procedure cache size',  12000 

Получаю сообщение об ошибке:

No matching configuration options.  Here is a listing of groups:

(Вот список групп)

Backup/Recovery
Cache Manager
Component Integration Services
Configuration Options
DTM Administration
Diagnostics
Disk I/O
Error Log
Extended Stored Procedure
General Information
Java Services
Languages
Lock Manager
Memory Use
Meta-Data Caches
Monitoring
Network Communication
O/S Resources
Parallel Query
Physical Memory
Physical Resources
Processors
Rep Agent Thread Administration
SQL Server Administration
Security Related
User Environment




Как быть?

Можно ли как-то попросить ASE, чтобы он отразил в таблице sysconfigures параметр
‘procedure cache size’ ?
...
Рейтинг: 0 / 0
Не могу найти параметр конфигурации Adaptive Server: ‘procedure cache size’
    #37430316
golol_ol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение найдено

Объясню на примере.

Имеется две системные таблицы:
sysconfigures - конфигурация
syscurconfigs - текущая конфигурация

Есть два сервера ОСНОВНОЙ и РЕЗЕРВНЫЙ

Выполняю запросы на ОСНОВНОМ сервере:

select count(*) from sysconfigures = 238
select count(*) from syscurconfigs = 264
Это означает, что полного соответствия между таблицами нет.
Почему не знаю.

Выполняю запрос на ОСНОВНОМ сервере
select count(*) from sysconfigures where name = 'procedure cache size'

результат = 0


Выполняю запрос на РЕЗЕРВНОМ сервере:
select count(*) from sysconfigures = 254
select count(*) from syscurconfigs = 264
Это означает, что полного соответствия между таблицами нет.
Почему не знаю.

Выполняю запрос на РЕЗЕРВНОМ сервере
select count(*) from sysconfigures where name = 'procedure cache size'

результат = 1

Вот здесь всё и начинается.

Так получилось, что на резервном сервере этот параметр 'procedure cache size' есть.

Выполняю запрос на РЕЗЕРВНОМ сервере
select * from sysconfigures where name = 'procedure cache size'

config value comment status name parent
146 12570 procedure cache size 457 procedure cache size 14

В таблице syscurconfigs тоже есть поле config и оно тоже равно 146

select * from syscurconfigs where config = 146

config value comment status name parent
146 3271 procedure cache size 457 procedure cache size 14

На основном сервере ситуация с таблицей syscurconfigs аналогичная.

select * from syscurconfigs where config = 146

config value comment status name parent
146 3271 procedure cache size 457 procedure cache size 14

Это значит, что можно изменить значение параметра в таблице syscurconfigs.

Как это можно сделать?
См. ниже.


Изменить параметр "procedure cache size" с помощью файла конфигурации.

1. Выгрузить текущие установки в файл конфигурации d:\tmp\servername_write.cfg

sp_configure "configuration file", 0, "write", "d:\tmp\servername_write.cfg"



2. Изменить интересуемый параметр "procedure cache size" в созданном файле d:\tmp\servername_write.cfg

[SQL Server Administration]
procedure cache size = DEFAULT <----------------------- 12000
default database size = DEFAULT

значение параметра "procedure cache size" может быть и другим, напрмер
procedure cache size = 5000

тогда:

[SQL Server Administration]
procedure cache size = 5000 <----------------------- 12000
default database size = DEFAULT


3. Проверить параметры файла d:\tmp\servername_write.cfg на допустимость

sp_configure "configuration file", 0, "verify", "d:\tmp\servername_write.cfg"


4. Считать параметры из файла d:\tmp\servername_write.cfg

sp_configure "configuration file", 0, "read", "d:\tmp\servername_write.cfg"

ASE isql [Query] (что-то типа аналайзера - среда выполнения запросов) выдал сообщение:

Server message:
number: 5808
severity: 10
object: sp_configure
line: 341
message: WARNING: Dynamic loading of caches and pools throogh loadin a new file are not supported. However,
the loadfile 'd:\tmp\servername_write.cfg' will be inspected for consistency.
Refer to 'sp_cacheconfig' and 'sp_poolconfig' to create or alter pools and caches.

5. Найти файл конфигурации. Тот файл который используется при перезагрузке системы. Обычно он называетя servername.cfg
Обычно он находится в d:\sybase\ или где-то в подобном месте.

Отредактировать этот файл

[SQL Server Administration]
procedure cache size = DEFAULT <----------------------- 12000
default database size = DEFAULT

Можно перегрузить сервер, а можно и не перегружать, т.к. этот парамет динамический.

При этом параметр в sysconfigures не появится

ОСНОВНОЙ сервер

select count(*) from sysconfigures = 238
select count(*) from syscurconfigs = 264

select count(*) from sysconfigures where name = 'procedure cache size'

результат = 0

select * from syscurconfigs where config = 146

config value comment status name parent
146 12000 procedure cache size 457 procedure cache size 14

Параметр изменён.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Не могу найти параметр конфигурации Adaptive Server: ‘procedure cache size’
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]