Сообщения

Показаны сообщения с ярлыком "БД"

Таблицы в Oracle. Количество записей, размер таблицы

--  **************************************************************** --  выводим количество записей по таблицам   --  **************************************************************** --  Требуется выполнить сначала скрипт с Set , после чего отдельно выполнить  Declare   Set serveroutput on format wraped; Declare   Cou Integer; Begin   For Rec in (select a.Table_Name                from all_tables a               where (a.OWNER = '<Имя_схемы>')               )   loop     Execute immediate('Select count(*) from '||Rec.Table_name)     Into Cou;     -- *************************************     dbms_output.put_line(' <Имя_схемы> '||Rec.Table_Name||';'||Cou);   End Loop; End; Для того чтобы узнать размер таблицы в БД, требуется выполн...

АЦК. При редактировании записи система зависает

Изображение
Предыстория: При попытке отвязать сертификат пользователя в карточке пользователя - система зависает. При этом никаких действий просто невозможно сделать. Причина: Причина в зависшей транзакции. То есть, при выполнении отвязки сертификата от пользователя - выполняется команда delete. И если в базе есть транзакция, которая еще не выполнена или ждет выполнения операции(удаление/обновление) по тем же сущностям что и команда delete - система стопорится и ждет, пока выполнится первая и последняя (delete) команда. И как только последняя команда выполниться - система вновь корректно заработает. Проверка: Для проверки можно выполнить следующие действия: Выполнить операцию по определенной таблице (в данном случае карточка организации) и удалить какую нибудь запись и не нажимать на COMMIT (подтв. транзакции) Параллельно нужно выполнить действие в самой системе на удаление, обновление. В результате, при подтверждении действия в системе - она просто "зависнет". И как только м...

SQL. Вывести посчитать заблокированных пользователей в системе АЦК

/* Скрипт для вывода количества пользователей в системе (незаблокированные, не архивные) */ select 'Общее количество' as "Категория" , count(*) as "Кол-во"   from sysuser UNION ALL select 'Не заблокировано' , count(*) as "Кол-во"   from sysuser  WHERE LOCKSTATUS<>1   OR (LOCKSTATUS<>1 AND ARCHIVED<>1) UNION all select 'Заблокировано' , count(*) as "Кол-во"   from sysuser  WHERE LOCKSTATUS=1 UNION all select 'В архиве' , count(*) as "Кол-во"   from sysuser  WHERE ARCHIVED=1;