Erläuterung des Definitionsparameter AUTHID bei Prozeduren in Oracle Database

Ich habe letztens auf einer Oracle 10.2.0.5 Datenbank mit Prozeduren rumgespielt. Konkret habe ich eine gebraucht, die mir den Audit-Trail der durch den Parameter audit_trail=db,extended entstanden ist, mal wieder aus der Datenbank löscht. Diese Prozedur sollte mit SYSTEM ausgeführt werden. Mein erster Versuch der Prozedur sah wie folgt aus: 1 2 3 4 5 6 7 8 9 CREATE OR REPLACE PROCEDURE PURGE_AUDIT_TRAIL (days in number) as purge_date date; BEGIN purge_date := trunc(sysdate-days); DBMS_OUTPUT....

Abfangen von ORA- Fehlermeldungen in PL/SQL-Blöcken

Gestern habe ich einen PL/SQL-Code für eine Oracle Datenbank geschrieben, wo allen Nutzern Rechte entzogen werden sollten. Problem war, dass nicht jeder Nutzer diese Rechte überhaupt hatte und daher der Fehler “ORA-01927: cannot REVOKE privileges you did not grant” geworfen wurde. Untenstehend habe ich lediglich ein paar Beispiele gezeigt, wie man das abfängt. Mein erster Ansatz war, diesen im generischen Exception-Block abzufangen: 1 2 3 4 5 6 7 BEGIN -- Placeholder for revoke the rights from USER DBMS_OUTPUT....