Über das Package FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS kann ein Datenbankadministrator Schemata freigeben oder sperren.
In der APEX Version 3.2 wurde das Schema umbenannt. Der korrekte Name lautet nun, z.B. in der Version 4.0, APEX_040000.HTMLDB_SITE_ADMIN_PRIVS. Es gibt aber auch ein Synonym für das Package mit dem Namen APEX_SITE_ADMIN_PRIVS. ;-)
Es beinhaltet folgende Prozeduren:
Alle Freigaben und Sperren müssen mit COMMIT abgeschlossen werden, um in Kraft zu treten. Wird ein Schema gesperrt, so sind bereits getroffene Workspace-Zuordnungen davon nicht betroffen. Generell freigegebene Schemata verschwinden aus WWW_FLOW_RESTRICTED_SCHEMAS, begrenzt freigegebene jedoch nicht. Mit CREATE_EXCEPTION erzeugte Ausnahmen sind in WWV_FLOW_RSCHEMA_EXCEPTIONS zu finden:
SELECT schema_id, workspace_name FROM FLOWS_020000.WWV_FLOW_RSCHEMA_EXCEPTIONS;
Die Prozedur REPORT erzeugt nur einen SELECT-Befehl, der die beiden Tabellen verknüpft und gibt diesen SELECT-Befehl über DBMS_OUTPUT aus, nicht jedoch dessen Ergebnis. Der ausgegebene Select lautet (unabhängig vom angemeldeten User):
SELECT a.schema "SCHEMA", b.workspace_name "WORKSPACE"
FROM WWV_FLOW_RESTRICTED_SCHEMAS a, WWV_FLOW_RSCHEMA_EXCEPTIONS b
WHERE b.schema_id(+) = a.id;
Beispiele:
BEGIN
FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS.UNRESTRICT_SCHEMA(p_schema => 'SCOTT');
COMMIT;
END;
/
BEGIN
FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS.RESTRICT_SCHEMA(p_schema => 'HAS');
COMMIT;
END;
/
BEGIN
FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS.CREATE_EXCEPTION
(p_schema => 'HAS',
p_workspace => 'SCHULUNG');
COMMIT;
END;
/
BEGIN
FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS.REMOVE_EXCEPTION
(p_schema => 'HAS',
p_workspace =>'SCHULUNG');
-- oder:
FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS.REMOVE_WORKSPACE_EXCEPTIONS
(p_workspace => 'SCHULUNG');
-- oder:
FLOWS_020000.HTMLDB_SITE_ADMIN_PRIVS.REMOVE_SCHEMA_EXCEPTIONS
(p_schema => 'HAS');
COMMIT;
END;
/
In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den
Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.