prog:sql_oracle_context_object
Das Oracle CONTEXT Object - Globale Werte in einer Session hinterlegen
Aufgaben: In einer Session soll über eine globale Variable in Views / PL/SQL Procedure etc. auf Eigenschaften zugegriffen werden.
Rechte vergeben
Als SYS User:
GRANT CREATE ANY CONTEXT TO GPI;
Context anlegen
CREATE OR REPLACE CONTEXT GPI_MON USING gpi.ADMIN_ENV;
Das Package um den Context zu setzen muss zu diesem Zeitpunkt noch nicht exisiteren
Context über Package setzen
Package anlegen
CREATE OR REPLACE package admin_env AS PROCEDURE setcontext; END admin_env; CREATE OR REPLACE package body admin_env AS PROCEDURE setcontext IS BEGIN dbms_session.set_context ( namespace => 'gpi_mon', attribute => 'username', VALUE => 'hugo'); END setcontext; END admin_env;
Context über Package setzen
Setzen:
BEGIN ADMIN_ENV.setContext; END; /
Abfrage:
SELECT sys_context('GPI_MON','USERNAME') FROM dual;
Quellen
prog/sql_oracle_context_object.txt · Zuletzt geändert: 2016/09/08 18:29 von gpipperr