Practical Solutions is a small database consulting company that is run by Mark Abell.

We specialize in all things Oracle. We have deep expertise in a number of areas around the Oracle Database.

These include -

  • Database Administration (DBA) and database management
  • High Availability with Oracle RAC and DataGuard
  • Data protection with RMAN backups and Flashback Database
  • Performance Tuning of both the database and the application SQL
  • Database server consolidation
  • Database and server provisioning.
  • SQL and PL/SQL for application database development.

Oracle Connection Manager (CMAN) is a little known tool that provides a database proxy server and network access control for Oracle databases.  This is a summary and a copy of a presentation that I presented about CMAN to the Sydney Oracle Meetup.

The official description is that “Oracle Connection Manager is a multipurpose networking solution that offers increased scalability, multiprotocol connectivity and secure network access control.”

One of the things that I do in my spare time is build and maintain the websites of a couple of the organisations that I'm involved with.

One of these is the Australian Plants Society.

This is a Joomla based website that has extensive information about Australian native plants.

It has members only logins and content, a discussion forum, copies of newsletters and the published journals. It is in the process of being further extended by the addition of an on-line subscription system.

For more detail, here is some documentation on "A Guide to the APS NSW Website".

Before using Oracle with a Unix / Linux user account you need to get the Unix environment set correctly.  This includes things like common environment variables, and the Unix search PATH.  In addition if you are wanting to avoid hard-coding within any database maintenance scripts, you will need to set a range of additional environment variables.

Oracle provide as standard a script called "oraenv" which works for the bourne, korn & bash shells.  This script uses the data in /etc/oratab to setup the ORACLE_HOME, ORACLE_SID & PATH environment variables.  Whilst this is sufficient for most standalone oracle servers & databases, there is a lot more information that you might need when running a more complex environment.  This includes things related to any RAC environment, dataguard statuses, what host the database is running on, etc.  Also the "oraenv" script is not configured to take the database SID (ORACLE_SID) as a command line argument, it thus needs some sort of wrapper to get this functionality.  Further it requires that you are on the host that the database is running on, in a clustered environment, or one running dataguard, this may not always be obvious.

The solution to all this is a custom script that sets everything about an Oracle environment that you could ever need.  It uses the data in tnsnames.ora (returned via tnsping) to start the exploration for the various bits and pieces in an Oracle environment.  It can also hold environment settings for things like standard directory and file locations (set these based on your environment standards).  This script is then used in all other scripts to correctly set the environment & variables for any given database.