Kann nicht finden, die Tabelle v$parameter in Oracle
Möchte ich, um die Zahl der sessions in Oracle mit SQL-Abfrage:
SELECT value FROM v$parameter WHERE name = 'sessions'
Aber ich bekomme diese Fehlermeldung:
Error starting at line 1 in command:
SELECT value FROM v$parameter WHERE name = 'sessions'
Error at Command Line:1 Column:18
Error report:
SQL Error: ORA-00942: table or view does not exist
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
Vielleicht der Oracle-Benutzer, den ich verwende, ist nicht privilegiert?
Wenn Sie nicht über die erforderlichen Berechtigungen verfügen, können Sie immer noch Lesen Sie die parameter-Werte mit dbms_utility.get_parameter_value. Siehe Erläuterung und Beispiel auf: oraclequirks.blogspot.com/2007/10/...
InformationsquelleAutor Peter Penzov | 2013-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Regel der bessere Ansatz ist die Verwendung einer Prozedur und erteilen der erforderlichen Berechtigungen, um diesen Vorgang. Allerdings, wenn Sie möchten verwenden von SQL können Sie direkt grant
SELECT_CATALOG_ROLE
oderSELECT ANY DICTIONARY
an den Benutzer.InformationsquelleAutor steve
Wahrscheinlich. Zur Gewährung der Rechte, die Sie verwenden müssen der name der Tabelle als
V_$PARAMETER
. Es kommt von einer Einschränkung bei der Vergabe von rechten auf dynamische Ansichten.Sie nicht brauchen, um den Namen zu ändern, müssen Sie auf Zuschuss die Berechtigungen auf die Tabelle, plouf erwähnt.
Was ist der richtige Weg, dies zu tun?
Sie hatten, wie sys,
grant select on v_$parameter to youruser;
woyouruser
ist der name des Benutzers, den Sie versuchen, führen Sie die wählen wie.InformationsquelleAutor Plouf
mithilfe der Berechtigungen: - wählen Sie eine beliebige Tabelle, die alter any table bei der Ausführung der Finanzhilfevereinbarung als SYS mit SYSDBA-in Oracle 12c löste das Problem für mich.
InformationsquelleAutor GreenGlassDragon