|
Не могу найти параметр конфигурации Adaptive Server: ‘procedure cache size’
|
|||
---|---|---|---|
#18+
Моё почтение, господа. ОС : 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.
Имя процедуры: my_proc Параметр 1: 1 Параметр 2: 2 Получил ругательное сообщение: Код: plaintext 1. 2.
Мой сервер имеет 237 параметров конфигурации. Выполняю запрос в ASE isql: Код: plaintext 1. 2. 3. 4. 5.
Среди прочих параметров должен быть параметр 'procedure cache size' Выполняю запрос: Код: plaintext 1. 2. 3.
Смотрю в файл конфигурации (adaptiveservername.cfg): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Параметр ‘procedure cache size’ = DEFAULT (т.е 3271 memory pages(2k)) Пробую изменить параметр ‘procedure cache size’ из ASE isql: Код: plaintext 1. 2. 3. 4. 5.
(Вот список групп) 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’ ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2011, 15:41 |
|
Не могу найти параметр конфигурации Adaptive Server: ‘procedure cache size’
|
|||
---|---|---|---|
#18+
Решение найдено Объясню на примере. Имеется две системные таблицы: 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 Параметр изменён. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2011, 11:31 |
|
|
start [/forum/topic.php?fid=55&msg=37430316&tid=2010251]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
2ms |
others: | 372ms |
total: | 607ms |
0 / 0 |