Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];

Вниз

Не понятное с view V_$Session   Найти похожие ветки 

 
kat   (2001-12-21 14:30) [0]

У меня вот какая проблема, помогите пожалуйста
Ораковскаю функция
Function Pr return varchar2 is
vv varchar2(100) default "";
cursor a is
select view_name from ALL_VIEWS
WHERE VIEW_NAME = "V_$SESSION";
begin
open a;
fetch a into vv;
close a;
return vv;
end Pr;
вызываю функцию в дельфе - showmessage(OraclePackage.CallStringFunction("pr",[]))И мне показывается пустое ShowMessage;
Пишу в TOracleDataSet
select view_name from ALL_VIEWS
WHERE VIEW_NAME = "V_$SESSION";
И мне выдается строчка
Почему так получается? Если вместо V_$Session написать, например, ALL_CATALOG, то все работает, а как только написано что-то с $ в названии - проблема. Что означает $ в названии?


 
petr_v_a   (2001-12-21 15:19) [1]

А владелец ф-ции пользователь, под которым идет запрос в TOracleDataSet - одно то же лицо? процедура/ф-ция/пакет выполняются с правами их владельца, и ALL_VIEWS будет выдавать те же записи, что и owner`у объекта.
$ в названиии - признак т.н. Dynamic Perfomance View, то есть view, которое реально не занимает места в базе, а отображает стуктуры памяти экземпляра. Для V_$SESSION есть public synonym V$SESSION, лучше использовать его ( иначе надо обращаться sys.v_$session )


 
kat   (2001-12-21 15:51) [2]

Строчки
select view_name from ALL_VIEWS
WHERE VIEW_NAME = "V_$SESSION"
меняю на следующие
select USER || " " || TO_CHAR(count(*)) from SYS.ALL_VIEWS
И у меня получается, что User один и тот же везде, но
Выдается
VIC 572 - вызвать функцию из пакета
и
VIC 1394-сформировать запрос
Не видно кучу функций, не только с $ в названии. Почему?


 
petr_v_a   (2001-12-21 16:07) [3]

ф-ция user действительно выдает одно и тоже из SQL и PL/SQL - пользователя, под которым прозошел коннект, но контекст ALL_VIEWS меняется.
чтоб узнать владельца ф-ции, скажите
select OWNER,OBJECT_NAME,OBJECT_TYPE
from ALL_OBJECTS
where OBJECT_NAME= :название_Вашей_функции


 
kat   (2001-12-21 16:16) [4]

Функция сохранена в пакете, Owner этого пакета VIC


 
petr_v_a   (2001-12-21 16:47) [5]

Значит, 1394 - 572 объектов доступны VIC через роли


 
kat   (2001-12-21 16:53) [6]

А как посмотреть какую надо дать роль, чтобы видеть все view?


 
petr_v_a   (2001-12-21 16:57) [7]

а она будет видеть только прямо ( не через роль ) или через select/execute any разрешенные объекты



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.021 c
3-75499
Polevi
2001-12-17 11:36
2002.01.24
GUID


1-75627
Aspir
2002-01-05 16:09
2002.01.24
Использование DLL в delphi


1-75623
Belov
2002-01-08 15:43
2002.01.24
Изменение размеров картинки


7-75698
VS
2001-10-08 13:23
2002.01.24
Конвентирование String в PChar


14-75658
Гриф
2001-11-28 11:33
2002.01.24
Ищу алгоритм.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский