Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

Part II: Extending Perl > Perl Web Extensions

Chapter 4. Perl Web Extensions

This chapter describes the basics of web-based Oracle applications whose output or interface is viewed through a web browser, rather than through the graphical user interfaces (GUIs) offered by the applications described in Chapter 3. The advantage of employing a web solution is that you need to deploy it only once, at one web address, and thereby provide a tool that anyone with a web browser can access from anywhere on the network. Using the web as an interface can make life a lot easier for Oracle database administrators who may manage dozens of databases and who need to maintain a satellite's eye view of their operation and performance. DBAs have long dreamed of being able to monitor their databases from the beach via remote-control applications that require nothing more than browser control from a Palm pilot or some other type of PDA, a cellular phone, or a laptop. That particular scenario is likely to remain a dream, but it's certainly true that use of the Web adds a convenient dimension to database administration.

Many web-based database applications are implemented as Perl CGI scripts. CGI (Common Gateway Interface) programs are typically small programs (running on the web server) that have historically been used to provide dynamic content to web pages. The output of a CGI program is simply an HTML page that is read by a web browser. How do CGIs work? On the client side, the browser calls a CGI in the same way that it would call a static web page — by making a request for a file from the web server. By calling a CGI, though, the client is actually telling the server to run a small program. In the case of an Oracle CGI script, running that program pulls data from the Oracle database and thus produces the dynamic content for the web page. We won't attempt to describe the details of CGI in this book. If you are interested in learning more, we recommend the following classic text by Lincoln Stein, the creator of the module:[1]

[1] Lincoln is also the author of Network Programming with Perl (Addison-Wesley, 2000), and the coauthor, with Doug MacEachern, of Writing Apache Modules with Perl and C (O'Reilly & Associates, 1999).

Official Guide to Programming With Cgi.Pm, by Lincoln Stein (Wiley & Sons, 1998)

In this chapter we'll describe two excellent web-based applications for Oracle DBAs:


One of the best tools around for Oracle DBAs is Adam vonNieda's Oracletool, which provides a web-based interface for database performance monitoring and a variety of other database administration tasks. Oracletool is implemented as a Perl CGI script.


Another excellent web-based Perl application for Oracle database monitoring is Sean Hull's Karma. Karma is not strictly a Perl CGI script, but instead relies upon daemons to collect statistics and warnings for Oracle DBAs.

Something else we like about Oracletool and Karma is that you can play around with both of them on their home sites (listed later). If you're just interested in checking them out, and if the installation procedures described in the following sections seem like a little too much work at this point, feel free to examine the demonstrations provided on their sites. We're confident you won't be disappointed.

Before we look at the details of these applications, we'll take a step back and describe how to install and configure Apache, the leading web server in use today.

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint