Oracle находит всех пользователей, которых я создал (кроме учетных записей Oracle) - PullRequest
1 голос
/ 06 марта 2019

Есть ли способ найти все учетные записи пользователей в Oracle, которые были созданы мной? SELECT * FROM ALL_USERS; возвращает всех пользователей в Oracle, но, похоже, нет способа определить «владельца» учетной записи (ORC_SYS было бы неплохо), поэтому я могу добавить следующее предложение: 'WHERE OWNER !+ 'ORC_SYS' или что-то.

Заранее спасибо

KS

Ответы [ 3 ]

1 голос
/ 06 марта 2019

Если вы хотите исключить только тех пользователей, которые были созданы oracle во время установки, вы можете правильно выполнить фильтрацию по user_id.Обычно эти пользователи имеют наименьшее число:

Отрегулируйте 35 для вашей установки.

Select * from dba_users where user_id > 35;

И если вы используете 12c или выше, есть столбец "Oracle_maintained", сообщающий вам, если этопользователь, созданный оракулом.

Select * from dba_users where oracle_maintained = 'N';
0 голосов
/ 06 марта 2019

Если у вас есть доступ к dba_users и версия вашего Oracle 12.1 и выше, вы можете фильтровать по столбцу oracle_maintained.

В противном случае не существует «официального» способа отличить внутренних пользователей оракула от ваших собственных.

Однако есть несколько косвенных способов:

  1. Фильтр по столбцу all_users.created.В основном, внутренние пользователи создаются при создании базы данных, поэтому ваши пользователи будут после этой даты.Время создания базы данных вы можете найти в v$database.created.

  2. Фильтр по all_users.user_id.Как указано выше, в основном внутренние пользователи создаются при создании базы данных, поэтому они получают низкий user_id.Есть несколько исключений для нескольких пользователей, таких как SYSBACKUP, SYSDG.

Оба способа могут давать неверные результаты, когда внутренние пользователи создаются намного позже, чем создание базы данных - например, при переустановке опции Oracle..

0 голосов
/ 06 марта 2019

Если вы попробуете:

SELECT * FROM dba_users;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...