Есть БД Oracle 11g и 12c. Со стороны прикладного кода или хранимых процедур могут делаться запросы, которые будут выполняться довольно долго (десятки секунд/минут, например), просаживая общую производительность БД.
Можно ли как-то в реалтайме без участия человека отслеживать такие запросы и просто прибивать их?
Считаем, что потерей данных (но не консистентностью) можно пренебречь.
В первую очередь интересуют долгие запросы на чтение.
Здравствуйте, vsb, Вы писали:
vsb>Можно просто ограничить пользователей, тут вроде написано. Можно и вручную, конечно, грохать, программкой какой-нибудь или задачей по расписанию.
Спасибо! Почитаю.
Но тогда, допустим, если приложению надо гарантированно вставить данные, а на чтение плевать, то эти запросы оно должно делать под разными учетками?
vsb> Можно и вручную, конечно, грохать, программкой какой-нибудь или задачей по расписанию.
Хотелось бы штатное средство.
Здравствуйте, TG, Вы писали:
TG>Но тогда, допустим, если приложению надо гарантированно вставить данные, а на чтение плевать, то эти запросы оно должно делать под разными учетками?
Вроде бы старая аксиома, что чтение в Oracle не влияет на запись? Ты уверен, что у тебя есть проблемы с гарантированной вставкой записей?
Здравствуйте, m2l, Вы писали:
m2l>Вроде бы старая аксиома, что чтение в Oracle не влияет на запись? Ты уверен, что у тебя есть проблемы с гарантированной вставкой записей?
Insert, update не мгновенный же. Если мы ограничиваем время сессии для некоего аккаунта, то есть вероятность, что данные не вставятся/обновятся.