Oracle: Tabelele și vizualizările lipsesc din dicționarul all_objects (Administrarea bazelor de date, Oracle)

MacAnthony a intrebat.
a intrebat.

Am câteva instanțe ale bazei de date care au o problemă curioasă în care tabelele și vizualizările nu apar în dicționarul all_objects, ceea ce cauzează unele probleme cu anumite aplicații de vizualizare a schemelor. Nu lipsesc toate, dar există doar o duzină de tabele/vizualizări din cele aproximativ 130 de tabele/vizualizări care se află în schemă. Dacă interogați all_tables sau all_views, toate apar foarte bine. Dacă selectați/actualizați/eliminați cu aceste tabele, totul funcționează bine.

Știe cineva la ce tipuri de lucruri ar trebui să mă uit care ar putea cauza acest lucru?

BTW, eu nu sunt administratorul BD la această BD, încerc doar să îmi dau seama de acest lucru pentru clientul nostru. Nu am acces complet la BD.

Comentarii

  • Ce versiune Oracle? Puteți posta interogarea dvs. pentru ALL_OBJECTS? –  > Por Emyl.
  • @Emyl – interogarea a fost un simplu SELECT * FROM ALL_OBJECTS WHERE OBJECT_TYPE IN (‘TABLE’,’VIEW’); totuși, am găsit problema. Mulțumesc. –  > Por MacAnthony.
  • Încercați acest lucru: Folosiți User_objects, dați obiectele pentru utilizatorul curent conectat. –  > Por Narendra.
2 răspunsuri
MacAnthony

Am depistat-o până la o vizualizare SCHEMA.ALL_OBJECTS atașată la schema care restricționa tabelele în loc să folosească vizualizarea SYS.ALL_OBJECTS.

Comentarii

  • Oops! Aproape la fel de neplăcut ca și crearea unui fișier privat dual cu 2 rânduri 🙂 –  > Por Colin ‘t Hart.
Vijay Havrl

Da, all_objects (oracle-10g+), restricționează extragerea datelor din vizualizări (chiar și cu acordarea privilegiului „select-to-view” utilizatorului/rolului); poate fi rezolvat prin acordarea privilegiului „select any table” utilizatorului/rolului. De asemenea, pentru a obține vizualizări, pachete, funcții și proceduri, poate fi necesar să acordați privilegiul „select_catalog_role” utilizatorului/rolului. Alte privilegii, cum ar fi „resource”, „create session”, „create view” nu vor rezolva problema pentru citirea/vizualizări de listă/pachete/funcții etc….În concluzie, pentru a rezolva problema selectării/vizualizărilor de listă/pachete/funcții/proceduri, acordați utilizatorului/rolului privilegiile „select any table” și „select_catalog_role” (dacă politica/securitățile site-ului/dba permit acest lucru).

Tags: