Avatar billede dl74 Nybegynder
07. september 2004 - 12:08 Der er 3 kommentarer og
1 løsning

Hvad hedder min db instans medfører PLS-00201 i procedure

Hvorfor får jeg denne fejl:
PLS-00201: identifier 'V_$INSTANCE' must be declared

Når jeg udfører dette sql statement i en procedure, men ikke i et script...?

select instance_name into p_db_navn from  V_$INSTANCE where instance_role = 'PRIMARY_INSTANCE' and rownum = 1;

Hvad skal jeg gøre for at det virker...?
Avatar billede holdam Nybegynder
07. september 2004 - 12:32 #1
Det kan være et spørgsmål om rettigheder på din stored procedure (hvis det da er en sådan). Har du invoker's rights eller definer's rights for den pågældende procedure?
Avatar billede Slettet bruger
07. september 2004 - 18:41 #2
Har du prøvet V$INSTANCE? Den er public synonym på V_$INSTANCE
Avatar billede dl74 Nybegynder
08. september 2004 - 08:13 #3
Ja det er en stored procedure og ja jeg har prøvet at selecte fra både tabellen og synonymet (v_$instance & v$instance). Hvis jeg creater den som sys brugeren så compilerer min proceduren fint, men når jeg gør det med min egen bruger som jeg før har oprettet læsevis af procedurer med så får jeg : PLS-00201
Eneste forskel er at jeg nu selecter fra en tabel i sys's tablespace.
Avatar billede holdam Nybegynder
08. september 2004 - 14:24 #4
Du er nødt til at grant'e rettigheder på de underligggende v_$-tabeller hvis du vil select'e fra dem i PL/SQL. Altså som SYS lave et "grant select on v_$instance to <my_user>" for at få udført din procedure.

Du kan godt select'e fra v[_]$instance i SQL*Plus, men altså ikke i en stored procedure.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester