1. How can I see all triggers in my schema?
Use the USER_TRIGGERS view:
SELECT trigger_name, table_name, status, trigger_typeFROM user_triggers;
· Shows only triggers in your current schema.
2. How can I see all triggers I have access to?
Use the ALL_TRIGGERS view:
SELECT owner, trigger_name, table_name, statusFROM all_triggers;
· Includes triggers in other schemas that you have privileges to view.
3. How can I see all triggers in the database?
Use the DBA_TRIGGERS view (requires
DBA privileges):
SELECT owner, trigger_name, table_name, statusFROM dba_triggers;
· Shows every trigger in the database along with its owner and status.
4. How do I check if a trigger is enabled or disabled?
SELECT trigger_name, statusFROM user_triggersWHERE trigger_name = 'TRIGGER_NAME';
· Status values:
o ENABLED → Active
o DISABLED → Inactive
o INVALID → Has compilation errors
5. How do I find which table a trigger belongs to?
SELECT trigger_name, table_nameFROM user_triggersWHERE trigger_name = 'TRIGGER_NAME';
·
Database-level triggers may have NULL for table_name.
6. How do I find the type of a trigger?
Use the trigger_type column in the
dictionary views:
·
Examples of trigger_type:
o BEFORE
EACH ROW
o AFTER
EACH ROW
o BEFORE
STATEMENT
o AFTER
STATEMENT
SELECT trigger_name, trigger_typeFROM user_triggers;
7. How can I get the trigger’s DDL?
SELECT DBMS_METADATA.GET_DDL('TRIGGER','TRIGGER_NAME') FROM dual;
· Useful for reviewing logic, backing up, or recreating triggers in another schema.
8. How can I check for invalid triggers?
SELECT trigger_name, statusFROM user_triggersWHERE status = 'INVALID';
· Invalid triggers usually occur after schema changes or compilation errors.
9. How can I find triggers on a specific table?
SELECT trigger_name, statusFROM user_triggersWHERE table_name = 'EMPLOYEES';
·
Replace 'EMPLOYEES' with your table
name.
10. What are best practices for monitoring triggers using dictionary views?
· Regularly check for invalid triggers
· Document all triggers with purpose and table
·
Keep DDL backups using DBMS_METADATA
· Monitor database-level triggers for auditing/logon tracking
·
Use ALL_TRIGGERS or DBA_TRIGGERS for
cross-schema analysis
No comments:
Post a Comment