|
|
|
Resource manager ограничение параллельных серверов
|
|||
|---|---|---|---|
|
#18+
Задача. БД Oracle 11.2.0.4 EE Необходимо запретить определенным учетным записям запускать больше 20 параллельных серверов на всех. Как я понимаю, Oracle Resource Manager с этим должен справиться. Для этих целей должна подойти директива - PARALLEL_TARGET_PERCENTAGE. Эта директива выставляет лимит в процентах от параметра PARALLEL_SERVERS_TARGET. Тестовая среда: На сервере parallel_servers_target=120 Чтобы получить нужный лимит, выставляю значение директивы PARALLEL_TARGET_PERCENTAGE=16 Создаю две учетные записи. usert1 - владелец объектов (таблицы) usert2 - учетка которую нужно ограничить в ресурсах Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Создаю тестовую таблицу в схеме usert1, наполняю данными и даю грант пользователю usert2. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. А теперь создаю ресурсный план, группу, директивы. Активирую ресурсный план. Добавляю пользователя USERT2 в нужную ресурсную группу. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. Если я все правильно понимаю, этого должно быть достаточно, чтобы ресурсный менеджер работал. Параллельно я подключаюсь под учеткой usert2 и запускаю запрос с количеством параллельных серверов превышающего выставленный лимит: Код: plsql 1. И пока этот запрос работает в первой сессии смотрю количество параллельных серверов от этой учетки Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ограничение ресурсного менеджера не сработало. Можете подсказать, что я неправильно делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2016, 08:20:28 |
|
||
|
Resource manager ограничение параллельных серверов
|
|||
|---|---|---|---|
|
#18+
led_yurik, http://docs.oracle.com/cd/E11882_01/server.112/e25494/dbrm.htm#ADMIN13466 Managing Resources with Oracle Database Resource Manager Parallel Target PercentageIf a consumer group does not have any parallel statements running within an Oracle RAC database, then the first parallel statement is allowed to exceed the limit specified by PARALLEL_TARGET_PERCENTAGE. Хоть речь тут про RAC, это применимо и к не-RAC. Как обычно, сделали через известное место и прикрылись документацией. Соответственно, одной сессии мало. Ограничение начнет работать со второй сессии. Чтобы ограничить сверху в таком сценарии, с учетом замечания из документации о превышении порога для первого statement, нужно еще parallel_degree_limit_p1 задать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2016, 12:47:03 |
|
||
|
Resource manager ограничение параллельных серверов
|
|||
|---|---|---|---|
|
#18+
SeaGateled_yurik, http://docs.oracle.com/cd/E11882_01/server.112/e25494/dbrm.htm#ADMIN13466 Managing Resources with Oracle Database Resource Manager Parallel Target PercentageIf a consumer group does not have any parallel statements running within an Oracle RAC database, then the first parallel statement is allowed to exceed the limit specified by PARALLEL_TARGET_PERCENTAGE. Хоть речь тут про RAC, это применимо и к не-RAC. Как обычно, сделали через известное место и прикрылись документацией. Соответственно, одной сессии мало. Ограничение начнет работать со второй сессии. Чтобы ограничить сверху в таком сценарии, с учетом замечания из документации о превышении порога для первого statement, нужно еще parallel_degree_limit_p1 задать. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. После этого запускаю несколько параллельных сессий запрос из под учетки usert2. И смотрю количество параллельных серверов Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Все работает! но похоже на чудо)) Я читал этот кусочек и до этого момента я был уверен , что на тестовой БД с реальными пользователями и реальными данными я несколько раз выставлял различные комбинации директив ресурсного менеджера parallel_degree_limit_p1 и PARALLEL_TARGET_PERCENTAGE, но такого результата я не получал, а вот когда делал тестовое окружение, решил ограничиться только PARALLEL_TARGET_PERCENTAGE... Буду внимательней проверять на реальных данных! Спасибо большое, а то я уже начал отчаиваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2016, 14:00:16 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1887628]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
176ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 469ms |

| 0 / 0 |
