Tutorial №3 - "Системные вьюхи и таблицы в Oracle"
Запись от Meridian21 размещена 22.06.2017 в 15:04
Метки all_all_table, dba_views, oracle, вьюхи, системные таблицы
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, статус аккаунта, табличное пространство и т.д.) --- Конечно это не все полезные вьюхи, а только часть из них. Если есть у кого-то интерес, то можно создать более подробный справочник по данному материалу. Ну и как всегда, замечания, исправления, дополнения - в личку или комментарии. Буду рад, если данный пост кому-то будет полезным. |
Всего комментариев 0
Комментарии