Sorry, my do-it-and-then-lookup-the-error-message method of programming won't be what you want! I use Scott Urman's Oracle Press book as a PL/SQL reference.
For DB architecture - well, my first lessons were at the feet of a master, after that any books were an anticlimax. My recommendation would be to find something strong on Entity-Relationship modeling. IMHO if you get the E-R model right, the rest should follow. E-R models have two important merits:
1) An intelligent user can understand them and therefore they can be used as tools for analysis.
2) If the E-R is good, the normalisation looks after itself (mostly).
