Cover image for Oracle and Open Source

Book description

Oracle & Open Source is the first book to tie together the commercial world of Oracle and the free-wheeling world of open source software. As this book reveals, these two worlds are not as far apart as they may seem. Today, there are many excellent and freely available software tools that Oracle developers and database administrators can use, at no cost, to improve their own coding productivity and their system's performance. Moreover, many of the finest Oracle developers are now making their source code freely available so their peers can build upon this code base. Oracle Corporation is even porting its RDBMS to Linux and starting to incorporate a growing number of open source tools in the company's own software. Oracle & Open Source describes close to 100 open source tools you can use for Oracle development and database administration, from large and widely known open source systems (like Linux, Perl, Apache, TCL/Tk and Python) to more Oracle-specific tools (like Orasoft, Orac, OracleTool, and OraSnap). You'll learn how to obtain the software and how to adapt it to best advantage. The book abounds with code examples, download and installation instructions, and helpful usage hints. Not only does it tell you how to find and use existing open source code; Oracle & Open Source gives you the details and the motivation to build your own open source contributions and release them to the Oracle community. You'll learn all about tools like the Oracle Call Interface (OCI) and Perl-DBI (Database Interface), which provide the glue allowing new open source tools to link into commercial Oracle software. With Oracle & Open Source as a guide, you'll discover an enormous number of highly effective open source tools, while getting involved with the thriving community of open source development.

Table of Contents

  1. Oracle & Open Source
    1. Preface
      1. Audience for This Book
      2. About This Book
      3. Structure of This Book
      4. About the Software
      5. Conventions Used in This Book
      6. Comments and Questions
      7. Acknowledgments
        1. From Andy
        2. From Sean
    2. 1. Oracle Meets Open Source
      1. Introduction to Open Source
        1. What Is Open Source?
        2. Why Open Source?
        3. The Motivation Behind Open Source
          1. The gift culture
          2. The need for innovation
          3. The developer’s itch
        4. A Brief History of Open Source
          1. The early days of artificial intelligence
          2. The rise of the Internet
          3. The birth of Unix
          4. Obstacles
          5. Richard Stallman, GNU, and the Free Software Foundation
          6. Enter Linux
          7. The best of open source
          8. Open source in the commercial world
          9. Eric Raymond and The Cathedral and the Bazaar
          10. The Open Source Definition
        5. The Open Source Crown Jewels
          1. Perl
          2. Tcl
          3. Python
          4. Apache
        6. Oracle and Open Source
      2. Open Source Summary
      3. The Open Source Definition
        1. Conformance
    3. 2. Connecting to Oracle
      1. The Oracle Call Interface API
        1. ODBC: Open DataBase Connectivity
        2. JDBC: Java DataBase Connectivity
        3. OCI Functions
      2. Perl
        1. Installing Perl on Unix and Linux
          1. Finding Perl already installed on your system
          2. Building Perl from a prebuilt package
          3. Perl and Linux
          4. Building Perl from source: Phase 1
          5. If you don’t have a C compiler . . .
          6. Building Perl from source: Phase 2
        2. Installing Perl on Windows
        3. Perl DBI
          1. Oraperl
          2. ODBC and Perl DBI
          3. Private DBD::Oracle database handle functions
        4. Installing Perl DBI and DBD::Oracle
          1. Installing Perl DBI on Unix and Linux
          2. Installing Perl DBI on Windows
        5. Perl DBI and OCI
          1. Basic Perl DBI example
          2. Understanding how Perl DBI works with OCI
          3. Perl DBI and PL/SQL
          4. DBD::Oracle private methods
    4. 3. Tcl, Perl, and Python
      1. Why Scripted GUIs?
        1. VHLS Languages
        2. Comparing Tcl, Perl, and Python
          1. Object orientation
          2. Linkage to C libraries
          3. Speed
          4. Rapid Application Development ( RAD)
          5. Regular expression handling
      2. Connecting to Oracle
      3. Tcl/Tk
        1. Tk: The GUI Toolkit for Tcl
        2. Installing Tcl/Tk
          1. Installing Tcl/Tk under Unix
          2. Installing Tcl/Tk under Windows
        3. Wish: The Windowing Shell
          1. The Unix widget tour
          2. A Wish example
        4. TclX: Extended Tcl
          1. Installing TclX on Unix
          2. Installing TclX on Windows
        5. Oratcl
          1. Oratcl functions and oramsg global message array
          2. Jobs, events, and the Intelligent Agent
        6. Installing Oratcl
          1. Installing Oratcl on Unix
          2. Installing Oratcl on Windows
        7. Wosql: Oratcl’s Wish SQL Processor
        8. IUD Maker: Oratcl’s Table Maintenance Program
      4. Perl/Tk
        1. Unix and Win32 Perl
        2. Installing Perl/Tk over Perl 5
          1. Installing Perl/Tk on Unix
          2. Installing Perl/Tk on Windows
          3. Installing Perl/Tk on Mac OS X
        3. Program Structure in Perl/Tk
        4. Connecting Perl/Tk to Oracle
        5. OraExplain
          1. Perl/Tk and Perl DBI combined
        6. Perlplus Plug-in
          1. Installing Perlplus on Linux
      5. Python
        1. Installing Python
          1. Installing Python on Unix/Linux
          2. Installing Python on Windows
        2. ActivePython
        3. Using Tkinter with a GUI Example
        4. DCOracle
          1. Installing DCOracle on Unix
          2. Using DCOracle
        5. wxPython
    5. 4. Building Oracle Applications with Perl/Tk and Tcl/Tk
      1. Orac
        1. Installing Orac
          1. Installing Orac on Unix
          2. Installing Orac on Linux
          3. Installing Orac on Windows
          4. Customizing ORAC_HOME for multiple users on Unix and Windows
        2. Using Orac
        3. File Menu
          1. File options
          2. Plain Old Documentation
        4. Structure Menu
          1. Press me
          2. DBA Tables Viewer
        5. Object Menu
          1. Tables option drill-downs
        6. User Menu
          1. Sids and addresses
        7. Lock Menu
        8. Tune Menu
          1. Reporting options
          2. SQL Browser/Explain Plan menu option
        9. SQL Menu
          1. The Orac Shell interface
          2. Transaction control
        10. My Tools Menu
        11. Icon Bar
          1. Print Selection button
          2. Database Monitor button
        12. Running Orac over the Web Using Perlplus
        13. Extending Orac
      2. Oddis
        1. Installing Oddis
        2. Using Oddis
        3. File Menu
        4. Options Menu
        5. SQL-Options Menu
        6. User-Objects Menu and All-Objects Menu
        7. System Menu
        8. Optimize Menu
        9. Help Menu
      3. Building Applications with Oratcl and BLT
        1. BLT
          1. Installing BLT on Unix
          2. Installing BLT on Windows
        2. Using BLT
        3. Coding TableSpacer
          1. Running on Unix
          2. Running on Windows
          3. TableSpacer in action
    6. 5. Web Technologies
      1. Databases and the Web
        1. Dynamic Content
        2. Personalization
        3. CGI and Web Programming
        4. Caching
      2. The Apache Web Server
        1. Apache and Oracle
        2. Installing Apache
        3. Apache and HTTP
        4. Apache Security
      3. Using Perl with Oracle Web Applications
        1. Installing mod_perl
        2. Connecting to the Database
      4. Using Java with Oracle Web Applications
        1. JavaServer Pages and Java Servlets
        2. JServ
        3. Turbine
        4. Ars Digita Community System
      5. Using HTML Embedded Scripting with Oracle Web Applications
        1. PHP
          1. Installing PHP
          2. Using PHP
          3. PHP and Oracle
        2. EmbPerl
          1. Installing EmbPerl
          2. Using EmbPerl
        3. Mason
        4. Aquarium
    7. 6. Building Web-Based Oracle Applications
      1. Karma
        1. Installing Karma
        2. Using Karma
          1. Using Karma for email notification
          2. Running Karma on Windows
          3. Using Karma with multiple databases
        3. Extending Karma
      2. Oracletool
        1. Installing Oracletool
        2. Using Oracletool
      3. OraSnap
        1. Installing OraSnap
        2. Using OraSnap
        3. Extending OraSnap
      4. DB_Browser
        1. Installing DB_Browser
      5. PhpMyAdmin and PhpOracleAdmin
        1. Installing PhpMyAdmin
        2. Using PhpMyAdmin
      6. WWWdb
        1. Installing WWWdb
          1. Installing special Perl modules
          2. Installing WWWdb itself
        2. Using WWWdb
        3. Extending WWWdb
      7. Big Brother
        1. Installing Big Brother
        2. Using Big Brother
    8. 7. Java
      1. Java Foundations
        1. The Road to Java
        2. Installing Java
          1. Unix-specific downloads
          2. Installing Java on Unix and Linux
          3. Installing Java on Windows
        3. Java Programming
          1. Portability and the JVM
          2. Bytecode versus object code
          3. Running applets
          4. Writing a full Java program
          5. JAR files and the jar utility
          6. Java environment variables
      2. JDBC: Java DataBase Connectivity
        1. java.sql Drivers for JDBC and Oracle
          1. Types of drivers
          2. Which driver?
        2. Connecting Oracle and Java
        3. The JDBC API
          1. Datatypes
          2. Preparing SQL and using cache optimization
      3. Java GUIs
        1. Java Swing
        2. Developing the GUI Program
        3. Compiling and Running the GUI Program
        4. Combining Java Swing with Java JDBC
      4. Java and the Web
        1. Java Servlets
        2. JavaServer Pages ( JSP)
        3. Installing JSDK
        4. Servlet Runners and Other Web Servers
      5. Apache JServ
        1. Apache JServ, the Jakarta Project, and Tomcat
        2. Installing Apache JServ on Unix
        3. Installing Apache JServ on Windows
        4. Running JServ on Unix
          1. Testing the configuration
          2. Setting up servlet zones
        5. Running JServ on Windows
        6. Running an Oracle Servlet
          1. Configuring the Oracle servlet on Unix
          2. Configuring the Oracle servlet on Windows
          3. Running the servlet
    9. 8. Building Oracle Applications with Java
      1. jDBA
        1. Installing jDBA
          1. Installing jDBA on Unix and Linux
          2. Installing jDBA on Windows
          3. Configuring JDBC
        2. Using jDBA
      2. ViennaSQL
        1. Installing ViennaSQL
        2. Using ViennaSQL
          1. Schema objects
          2. ViennaSQL and XML
      3. DBInspector
        1. Installing DBInspector
        2. Using DBInspector
      4. DB Prism
        1. Installing DB Prism
          1. Required HTP, HTF, and OWA packages
          2. Installing DB Prism on Unix
        2. Using DB Prism
        3. Oracle Adapters for DB Prism
        4. Cocoon
          1. Installing Cocoon
          2. Configuring Cocoon
          3. Testing Cocoon
          4. Demonstrating Cocoon and DB Prism
    10. 9. GNOME and GTK+
      1. Windowing Foundations
      2. The GNOME Project
        1. GNOME
        2. GTK+
        3. GIMP
        4. Installing Gnome/GTK+
        5. Using GNOME/GTK+
        6. GTK+ on Windows
        7. GTK+ on BeOS
      3. Programming with GTK+
        1. Sample Program
          1. Events
          2. Callbacks
          3. Signals
          4. Widgets
          5. Classes
          6. Datatypes
        2. User Interface Builders
        3. GTK+ Language Support
    11. 10. Building Oracle Applications with GNOME and GTK+
      1. Orasoft Applications Suite
        1. Installing Orasoft
          1. Installing Orasoft with an RPM
          2. Installing Orasoft from source
        2. Using Orasoft
          1. Object Manager
          2. SQLWork
          3. Procedit
          4. Session Monitor
          5. Table Browser
        3. Extending Orasoft
      2. GNOME-DB
        1. Installing GNOME-DB
        2. Using GNOME-DB
        3. Extending GNOME-DB
      3. gASQL
        1. Installing gASQL
        2. Using gASQL
        3. Extending gASQL
      4. Gnome Transcript
        1. Installing Gnome Transcript
        2. Using Gnome Transcript
        3. Extending Gnome Transcript
      5. Gaby
        1. Installing Gaby
        2. Using Gaby
    12. A. Oracle8i And Linux
      1. Downloading Oracle8i for Linux
      2. Installing Oracle8i on Linux
      3. Q & A for Oracle on Linux
      4. Improving Performance on Linux
    13. B. PL/SQL and Open Source
      1. PLNet.org
      2. utPLSQL
      3. More PL/SQL Links
    14. C. For Further Reading
      1. Chapter 1
      2. Chapter 2
      3. Chapter 3
      4. Chapter 4
      5. Chapter 5
      6. Chapter 6
      7. Chapter 7
      8. Chapter 8
      9. Chapter 9
      10. Chapter 10
      11. Appendix A
      12. Appendix B
    15. Index
    16. Colophon