Форум: "Базы";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
ВнизИзвлечение Schemas из словаря данных .... Найти похожие ветки
← →
Suntechnic (2002-02-26 00:59) [0]Кто-нибудь помнит View из которого все схемы извлечь можно?
← →
Sparky (2002-02-26 05:40) [1]Ну это не совсем точный ответ
Попробуй all_users или dba_users там список юзверей
← →
Suntechnic (2002-02-26 06:38) [2]>Sparky © (26.02.02 05:40)
>Ну это не совсем точный ответ
Вот именно :). Про существование all_users я знаю, но проблема в том, что пользователей может быть сколь угодно много, а владельцев объектов БД единицы. Зачем всех подряд на клиента тянуть? В принципе можно вытянуть из представления, где находятся все объекты БД(не помню наизусть название) применив DISTINCT, но там объектов может быть десятки тысяч, так что не хотелось бы почём зря сервер напрягать. Так всё таки есть такое представление для схем, типа как all_users для пользователей или нет?
← →
Внук (2002-02-26 10:39) [3]"...но проблема в том, что пользователей может быть сколь угодно много, а владельцев объектов БД единицы"
Не понял. Неужто я такой дикий :) Пользователь ORACLE и схема -не одно и то же? Или есть пустые схемы, и их нужно исключить из списка?
← →
roottim (2002-02-26 13:59) [4]>Внук
> Пользователь ORACLE и схема -не одно и то же?
не одно!!!... пользователь может как иметь свою схему либо пользоваться другой!... это как разграничит доступ админ!
непомню точно! там всяких видов куча... но в пр можно так
select distinct owner from all_tables
← →
panov (2002-02-26 14:14) [5]>roottim (26.02.02 13:59)
Ничего подобного.
Пользователь всегда владеет своей схемой.
Другое дело, что даже для этой схемы администратор может запретить некоторые действия, например - создание, таблиц, удаление, создание триггеров и т.п.
← →
petr_v_a (2002-02-26 14:16) [6]схема - набор объектов, принадлежащих пользователю ( хотя формального определения, по-моему, нету )
> Suntechnic судя по ходу обсуждения, Вам подойдет
select *
from DBA_USERS u
where exists ( select * from DBA_OBJECTS o
where o.OWNER=u.USERNAME
)
а быстрее
select *
from DBA_USERS u
where exists ( select * from sys.OBJ$ o
where o.OWNER#=u.USER_ID
)
← →
roottim (2002-02-26 14:39) [7]абсолютно согласен с petr_v_a...
← →
Suntechnic (2002-02-26 16:59) [8]Всем спасибо, кто откликнулся!
>Внук © (26.02.02 10:39)
>Или есть пустые схемы, и их нужно исключить из списка?
Да. Именно в этом и суть вопроса.
>petr_v_a © (26.02.02 14:16)
Если делать запрос к DBA_OBJECTS, то можно и проще:
select DISTINCT OWNER from DBA_OBJECTS
или как roottim советовал.
Я упоминал об этом в своём посте от (26.02.02 06:38). Меня здесь беспокоит только то, что не хотелось бы напрягать сервер на выборку из представлений с десятками тысяч записей. Но если нет другого пути, то видно придётся так...
← →
BAS (2002-02-26 17:29) [9]Если хочешь могу прислать по мылу файл со всеми вьюхами(просто ща негода смотреть)- м. че найдешь, пиши на мыло(только с условием: если найдешь - в форуме скажешь).
← →
Suntechnic (2002-02-26 17:44) [10]>BAS (26.02.02 17:29)
Спасибо конечно, но все представления я и так увидеть могу :) В том то и проблема, что листать их и искать нужный(если таковой вообще имеется) несколько хлопотно :0
← →
Suntechnic (2002-02-26 17:44) [11]>BAS (26.02.02 17:29)
Спасибо конечно, но все представления я и так увидеть могу :) В том то и проблема, что листать их и искать нужный(если таковой вообще имеется) несколько хлопотно :0
← →
petr_v_a (2002-02-26 18:06) [12]>Suntechnic © (26.02.02 16:59)
не факт. select DISTINCT OWNER from DBA_OBJECTS - это сортировка десятков тысяч записей. Но запрос проще. Так что хрен его занет что лучше :)))
← →
Suntechnic (2002-02-26 18:15) [13]>petr_v_a © (26.02.02 18:06)
Тут выяснилось, что никакие запросы к DBA_OBJECTS меня вообще не устроят :(. Чтобы обратиться к DBA_OBJECTS нужны права администратора(или чтобы кто-то дал права на выборку из этого представления), а в моём случае это совсем не факт. Так что придётся наверное остановится на варианте
roottim (26.02.02 13:59)
select distinct owner from all_tables
← →
Suntechnic (2002-02-26 18:16) [14]>petr_v_a © (26.02.02 18:06)
Тут выяснилось, что никакие запросы к DBA_OBJECTS меня вообще не устроят :(. Чтобы обратиться к DBA_OBJECTS нужны права администратора(или чтобы кто-то дал права на выборку из этого представления), а в моём случае это совсем не факт. Так что придётся наверное остановится на варианте
roottim (26.02.02 13:59)
select distinct owner from all_tables
← →
petr_v_a (2002-02-26 18:32) [15]есть еще all_objects
← →
Suntechnic (2002-02-26 18:42) [16]>petr_v_a © (26.02.02 18:32)
all_tables для меня именно то, что надо для дальнейшей логики моего приложения. Т.е. меня интересуют только те схемы, где есть таблицы.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c