Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Блокировки при выдачи grant'ов  [new]
Nhtcn
Guest
Ситуация такая. Решил поставить trca. Во время установки он зависает. Определил, что виснет на команде
GRANT EXECUTE ON DBMS_APPLICATION_INFO TO trcanlzr;
Причем в этот же момент начинают блокироваться все подключения пользователей. Судя по v$session пользователи логинятся, но sqlplus не получает ответа от сервера. Предполагаю, что пакет DBMS_APPLICATION_INFO кем то используется(share lock), в момент выдачи гранта он становится в очередь на экскл.блокировку., а то что sqlplus не получает ответа от сервера связано с тем, что там в момент регистрации используется пакет DBMS_APPLICATION_INFO, которые уже заблокирован экслюзивно.
Хотелось бы знать, прав ли я и как выйти из данной ситуации без сброса всех пользователей, и как узнать, кто использует данный пакет?
30 сен 06, 14:43    [3206523]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки при выдачи grant'ов  [new]
Александр Соколов
Member

Откуда: Протвино
Сообщений: 1419
dba_ddl_locks
Том Кайт
Это представление пригодится разработчикам, когда обнаружится, что какой-то фрагмент кода не компилируется в тестовой среде или среде разработки — он зависает и в конечном итоге попытка завершается неудачно. Это показывает, что этот код использует (фактически — выполняет) какой-то другой сеанс, и представление позволяет понять, какой именно. То же самое происходит с операторами GRANT и другими типами операторов ЯОД, применяемыми к объекту. Нельзя, например, предоставить право на выполнение (EXECUTE) процедуры, работающей в настоящий момент. Для обнаружения потенциально блокирующих и ожидающих снятия блокировки сеансов можно использовать описанный выше метод.
30 сен 06, 16:34    [3206640]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить