Always documentation is priority one, but what I like with these kind of resources is that they support the beginners with simple examples and they are free accessible :)
http://www.insight-tec.com/en/mailmagazine/index.html
Also today with a question of one of my colleague I searched and learned about dbms_utility.get_dependency function, I love this package :)
CREATE TABLE testtab (testcol VARCHAR2(20)); CREATE VIEW testview AS SELECT * FROM testtab; CREATE TRIGGER testtrig BEFORE INSERT ON testtab BEGIN NULL; END testtrig; / CREATE OR REPLACE PROCEDURE testproc IS i PLS_INTEGER; BEGIN SELECT COUNT(*) INTO i FROM testtab; dbms_output.put_line(TO_CHAR(i)); END testproc; / set serveroutput on exec dbms_utility.get_dependency('TABLE', 'HR', 'TESTTAB'); DEPENDENCIES ON HR.TESTTAB ------------------------------------------------------------------ *TABLE HR.TESTTAB() * VIEW HR.TESTVIEW() * TRIGGER HR.TESTTRIG() * PROCEDURE HR.TESTPROC() PL/SQL procedure successfully completed
And the last words are for this interesting presentation which I was warned about by one of my colleagues, Block Level Tuning by Rich Niemiec, I guess you will also enjoy it as much as I did – http://www.nyoug.org/Presentations/2005/20050929tuningoracle.pdf