Форум программистов, компьютерный форум, киберфорум
Meridian21
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Рейтинг: 1.00. Голосов: 1.

Tutorial №3 - "Системные вьюхи и таблицы в Oracle"

Запись от Meridian21 размещена 22.06.2017 в 15:04

Disclamer: в данном посте, я хочу привести некоторые, по моему мнению важные и полезные, системные вьюхи и таблицы, которые хранят массу полезной информации о БД. Я не буду подробно останавливаться на всех, отображаемых в таблицах и представлениях, полях. Если возникнут вопросы по тем или иным значениям и смыслу этих значений, я поясню в комментариях или личке.
Вся информация ниже, актуальна для Oracle.

---
Предположим следующую ситуацию. У вас есть БД, под управлением Oracl'ом, и вам надо узнать, какие сессии в данные момент есть в системе, т.к. необходимо кого-то отключить (kill session/disconnct session immediate). Или необходимо выяснить какой пользователь, какой sql-запрос запустил. Или нужна еще какая-либо "техническая" информация о бд (роли, превелегии, план выполнения запроса и т.д.). Все это уже есть и известно, нужно лишь правильно запросить...
1. v$version - информация о версии СУБД, версии ядра, версии TNS, версии NLSRTL.
2. v$instance - информация об инстансе (экземпляре СУБД, который обслуживает текущее соединение с БД).
3. all_all_tables - вьюха, которое отображает массу полезной информации о таблицах в БД. Начиная от имени, владельца таблицы, количества записей, заканчивая параметрами, которые отвечают за возможность блокировки таблицы, кол-ва используемых блоков (блоки памяти), включение логирования и т.д.
4. all_tab_columns - вьюха с информацией о полях таблиц. Какое поле какой таблице принадлежит, какой тип имеет, максимальный размер значения для поля, nullable или нет, все это есть в этой вьюхе.
5. v$session - информация о существующих сессиях. В данной вьюхе хранятся SID и SERIAL для всех сессий. Зная эти данные, можно, например, "мягко" отключить сессию (альтернатива kill session).
6. dba_errors - вьюха с информацией об ошибках, и объектах, в которых эти ошибки есть. Показывает владельца объекта, тип объекта, ошибку и место ошибки. Очень полезная вещь при диагностике и выяснении почему что-то не работает, т.к. выводит невалидные объекты и сразу же "причину невалидности".
7. dba_jobs - информация о заданиях и их выполнении. Есть еще вьюха dba_jobs_running - показывает задания, которые выполняются в текущий момент.
8. dba_roles - список ролей. Роль, в данном контексте, это некоторый набор полномочий, у которого есть название. Этот механизм очень сильно упрощает разделение прав/полномочий для пользователей. Например, у одной роли есть целый ряд привилегий на объекты БД. Что-то можно модифицировать, что-то запускать, а к чему-то доступа нет. И таких привилегий может быть 100 и более. И чтобы каждому новому пользователю не присваивать кучу привелегий, достаточно присвоить только роль и все, что доступно роли, будет доступно тому, кому выдана роль.
9. user_sys_privs и user_role_privs - вьюхи, которые показывают какие привелегии и какие роли соответственно выданы текущему польщователю.
10. dba_users - список пользователей и краткая информация о них (дата создания, user_id, статус аккаунта, табличное пространство и т.д.)
---
Конечно это не все полезные вьюхи, а только часть из них. Если есть у кого-то интерес, то можно создать более подробный справочник по данному материалу. Ну и как всегда, замечания, исправления, дополнения - в личку или комментарии.
Буду рад, если данный пост кому-то будет полезным.
Размещено в БД и СУБД
Показов 7915 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru