Chapter 12. Building a Database Repository with the PDBA Toolkit

This chapter focuses on another important Oracle database administration requirement: the need to keep track of the many changes made to an Oracle database — changes to tables, indexes, roles, schemas, and other database objects. As part of building the Perl toolkit, we decided to create a repository, a central place in which to store all kinds of database changes. By centralizing the storage of changes in this way, we can easily perform such administrative tasks as tracking table changes over time, restoring last week’s user passwords, recreating database roles as they appeared last month, determining the effect of major index changes on SQL execution plans, and comparing a schema against itself from a month ago. By providing a way to go back in time to compare today’s database with last week’s or last month’s, we can often determine why programs that ran efficiently last week are now crawling — we can achieve something that looks a lot like time travel!


Using the PDBA repository does impose some additional overhead on your use of the toolkit. You will need to install it separately and perform some customization, as described in this chapter. If you don’t want to use the repository — at least at this point in time — you can simply skip this chapter. (But we hope you’ll consider coming back to it in the future: using the repository does provide Oracle DBAs with very helpful information.)

The repository uses ...

Get Perl for Oracle DBAs now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.