Newsletters Archive - All

If you would like to know more about the iDevelopment.info Newsletter, please email me.


  Oracle Database Name Resolution with OpenLDAP — (21-August-2012)

Anyone who has ever worked with the Oracle Database is most likely familiar 
with the tnsnames.ora file. The tnsnames.ora file is a text file that contains 
client side definitions for net service names, sometimes call aliases, needed 
to log in to an Oracle instance. This provides local name resolution by mapping 
net service names to connect description information for Oracle instances; 
similar to how the local hosts file for an operating system maps machine names 
to IP addresses. The tnsnames.ora file is commonly found in its default 
location under the ORACLE_HOME/network/admin directory.

One of the advantages of using a local tnsnames.ora file is that it is easy to 
create and edit entries. This is especially true when there are only a few 
entries to maintain and the file only needs to be distributed to a small number 
of Oracle client machines. The primary disadvantage of local naming is when 
there are a large number of client machines on the network, say 100 or even a 
1000 clients, each required to have their own tnsnames.ora file. This problem 
gets compounded when frequent changes to the tnsnames.ora are required as a 
result of adding or moving database and the file has to be re-distributed to 
those clients.

A more efficient solution is to centralize the list of database names in a 
repository that every Oracle client can access. In the following article, I 
will demonstrate how to configure Oracle database naming in an LDAP directory. 
LDAP is for tnsnames.ora what DNS is for a local hosts file like /etc/hosts. 
Similar to how the local tnsnames.ora file works, when a client performs a 
lookup for a net server name in LDAP, it is given the appropriate connect 
descriptor information for the Oracle instance or service name.

http://www.idevelopment.info/data/Oracle/DBA_tips/LDAP/LDAP_8.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle PL/SQL LDAP API Example — (16-August-2012)

The following guide provides PL/SQL source code that demonstrates how to use the 
Oracle PL/SQL LDAP API to search for People records in an LDAP directory. The 
LDAP directory is hosted on a Linux machine named ldapsrv.idevelopment.info 
configured with OpenLDAP Software release 2.3 and has been initialized with a 
base DN of dc=idevelopment,dc=info and organization units People, Group, and 
Hosts. The PL/SQL example searches for people based on a search filter. The 
attributes returned will be uid, cn, and loginShell.

http://www.idevelopment.info/data/Oracle/DBA_tips/LDAP/LDAP_21.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Configure System Authentication Using OpenLDAP on CentOS 5 — (15-August-2012)

When a user logs in to a Linux system, the username and password combination 
must be verified, or authenticated, as a valid and active user. A lot of times 
the information needed to authenticate the user is located on the local system 
through entries in the /etc/passwd and /etc/shadow files. Another option is to 
allow the system to defer user authentication to a user database on a remote 
system like, for example, an LDAP directory. This is a popular option as it 
allows administrators to centralize username and password information.

In the following guide, I will present the steps required to configure 
authentication for a Linux client through LDAP using Pluggable Authentication 
Modules (PAM) and Name Service Switch (NSS). The Linux client will be 
configured to access user information stored in an LDAP directory database such 
as username, UID number, GID number, home directory, login shell, and other 
user information that can be used to authenticate to the client system.

http://www.idevelopment.info/data/LDAP/LDAP_Resources/OPENLDAP_Configure_System_to_Authenticate_Using_OpenLDAP_CentOS5.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Install and Configure OpenLDAP on CentOS 5 — (07-August-2012)

The Lightweight Directory Access Protocol (LDAP) is an application protocol 
used to access information in a directory over an IP network. Most information 
in a directory is organized with a hierarchical structure much like a file 
system. A directory can contain any type of data but most often consists of 
organizations, user accounts, address books, and other types of resources like 
files and devices on a network. You can even become adventurous and use LDAP 
directory naming to resolve SQL*Net service names for Oracle databases which 
allows storing net service names in a centralized LDAP-compliant directory 
server in place of a client-side tnsnames.ora file.

OpenLDAP Software is a free, open source implementation of the LDAP protocol 
developed by the OpenLDAP Project. Directory service is controlled by a 
stand-alone LDAP daemon (slapd) and the stand-alone LDAP update replication 
daemon (slurpd) when replication is configured. Propagating changes using 
replication falls outside the scope of this note and therefore will not 
include configuring the slurpd daemon.

The following guide presents the steps required to install and configure 
OpenLDAP Software on the CentOS 5 platform. This tutorial will also work for 
Red Hat Enterprise Linux 5 and Oracle Linux 5.

http://www.idevelopment.info/data/LDAP/LDAP_Resources/OPENLDAP_Install_CentOS5.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Secure Database Passwords in an Oracle Wallet — (26-July-2012)

The practice of writing scripts to automate routine database tasks is 
commonplace. This can include database backups, ETL jobs, or any type of batch 
processing that requires database access without user interaction. These 
scripts are typically held on the filesystem which depend on OS file 
permissions to protect the security credentials needed to log in to the 
database. The challenge has been how to adequately hide or obfuscate the 
username and password and not expose them in clear text and causing a potential 
security breach. A widely used practice has been to rely on OS Authentication, 
but starting with Oracle Database 10g Release 2, a more simplified and scalable 
solution would be to use a Secure External Password Store. This approach 
provides a secure method to store database credentials and reduces risk to 
security policies because the usernames and passwords no longer need to be 
exposed in clear text. This also avoids the need for the DBA or other security 
administrators to share passwords with developers and other non administrator 
users needing access to the database.

The secure external password store uses a client-side Oracle Wallet to store 
one or more user name/password combinations. The wallet is encrypted using the 
3DES algorithm so the contents of the wallet are not readable. If the wallet is 
ever compromised, the database password for the user can be changed and a new 
wallet can be generated thus rendering the previous wallet unusable.

The following guide demonstrates how to configure and make use of an Oracle Secure External Password Store:

http://www.idevelopment.info/data/Oracle/DBA_tips/Security/SEC_15.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle OS Authentication — (16-July-2012)

The most common method for logging in to an Oracle database is by username and 
password. A database user is created by using the CREATE USER statement as 
follows:

CREATE USER username IDENTIFIED BY password;

This creates a database user, associated with a user schema, who can access the 
database and be authenticated by using a password with the CONNECT command as 
follows:

CONNECT username@database_service_name
Enter Password: password

The following guide provides an alternative to the username / password method 
by using OS Authentication. OS authentication allows Oracle to delegate control 
of user authentication for the database to the operating system. Although OS 
authentication has been widely used over the years, there are potential 
security risks to be aware of before implementing it in a production 
environment. In fact, when using Oracle Database 10g Release 2 or higher, a 
better and more secure approach uses a client-side Oracle Wallet which is a 
password store external to the database used to store Oracle login credentials.

OS authentication is a method which identifies users by the credentials 
supplied by the OS and then uses that information to allow authentication to 
the database without a password. These credentials can be the username and 
password supplied to the OS or digital certificates on the user's computer. A 
password is not required for a database connection because it is assumed the OS 
has already taken care of authenticating the user. One thing to keep in mind 
though is that database connections relying on OS authentication are only be as 
secure as the underlying OS.

This guide presents instructions on how to configure Oracle for OS 
authentication along with several examples on how to use it.

http://www.idevelopment.info/data/Oracle/DBA_tips/Security/SEC_13.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle Database Backup to Amazon Simple Storage Service (Amazon S3) on Linux — (09-July-2012)

The traditional method of relying on tapes for off-site backups has been a 
widely accepted best practice for many organizations. Today, however, new disk 
economics and the compelling price point offered by Cloud storage vendors has 
presented a new opportunity to make off-site backups more reliable, accessible, 
and secure. With the introduction of Oracle Secure Backup Cloud Module for 
Amazon S3, it is now possible to perform Oracle database backups to Amazon 
Simple Storage Service (Amazon S3) for off-site storage purposes. This new 
strategy also offers the ability to stream backups directly to the Cloud. This 
is especially appealing when performing a backup through a low latency network 
connection like Amazon EC2 instances (DBs within Amazon Cloud) or from your 
on-premise network to Amazon VPC using Amazon AWS Direct Connect service (DBs 
not within Amazon Cloud).

The following guide demonstrates how to install and configure the Oracle Secure 
Backup Cloud Module for Amazon S3 to backup an Oracle database to the Cloud 
using the direct streaming method. This can be performed from an Amazon EC2 
instance (off-premise) or from an Oracle database server running in your own 
data center (on-premise).

http://www.idevelopment.info/data/AWS/AWS_Tips/Oracle_on_AWS/ORAAWS_15.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Associate Elastic IP on Instance Startup - (Linux) — (03-July-2012)

Amazon Web Services (AWS) provides the ability to associate (map) a static IP 
address with a running EC2 instance through the use of an Elastic IP addresses. 
An Elastic IP address is a static IP address which you can allocate and assign 
to any one of your running EC2 instances either through the AWS Management 
Console or using the Amazon EC2 API Tools. By default, your account is limited 
to 5 Elastic IP addresses per region and only one Elastic IP address can be 
assigned to an instance. On a normal startup, every instance will come with a 
private IP address and a dynamic Internet routable public IP address. When an 
Elastic IP address is associated with an instance, it replaces the dynamic 
public IP address. Because an Elastic IP address is associated with your 
account and not permanently with a particular instance, you are able to quickly 
and efficiently mask instance or Availability Zone failures by associating the 
Elastic IP address to any surviving instance under your account. Associating an 
Elastic IP address to an instance is a manual process that can take several 
minutes from when you instruct Amazon to associate the IP address to fully 
propagating through their system of network devices.

With all of this flexibility and ease of use, there is one feature to be 
cognitive of. When an instance is stopped and then restarted, the Elastic IP no 
longer gets associated with the instance. When the instance is started again, 
the default action is to assign another dynamic IP address (and new hostname) 
to the public IP address instead of the previously associated Elastic IP 
address.

In the following guide, I present one approach that can be used to 
automatically associate an Elastic IP with an instance on startup using an EC2 
startup script and user data. The example in this guide will be performed on an 
Amazon EBS-backed instance running CentOS 6. In addition to associating the 
Elastic IP address, I will also be setting the hostname. 

http://www.idevelopment.info/data/AWS/AWS_Tips/AWS_Management/AWS_14.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Install Amazon EC2 Tools (Linux) — (30-June-2012)

The following guide presents an example of the steps on how to install the Amazon 
API Tools and the Amazon AMI Tools on the Linux (CentOS 6) platform.

The Amazon API Tools and the Amazon AMI Tools are packages of command-line 
scripts to the AWS web service used to manage and bundle instances. Although 
there are many other Developer Tools provided by Amazon and the AWS development 
community to help developers create and manage applications built on AWS, these 
two are the most commonly used to manage EC2 instances.

http://www.idevelopment.info/data/AWS/AWS_Tips/AWS_Management/AWS_8.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Remote Desktop to an Amazon EC2 Instance — (27-June-2012)

In most cases, the Linux servers I setup as Amazon EC2 instances are used to 
host the Oracle database software and only require use of the operating system 
Command-Line Interface (CLI). This is beneficial because I only need register 
an Amazon Machine Image (AMI) with a Minimal or Basic Server OS installation 
and can add only those required Linux packages needed to support the database. 
However, there are situations where I need to access a graphical desktop in 
order to install or run certain Graphical User Interface (GUI) applications.

The guide mentioned in this newsletter provides the steps needed to add the 
GNOME Desktop to a Red Hat Enterprise Linux 6.2 AMI (or CentOS) where the OS 
was installed without the X Window System. Although there are several options 
to enable a remote desktop on an EC2 instance, I prefer to use NX Free Edition 
(FreeNX).

FreeNX is a program which allows users to run remote X11 sessions from clients 
running on Windows, Linux, Mac OS X and Solaris platforms to servers running, 
at present, on Linux or Solaris.

This guide assumes you have an Amazon Web Services account and know how to 
create new EC2 instances from an AMI, key-pairs and security groups within the 
AWS Management Console.

http://www.idevelopment.info/data/AWS/AWS_Tips/AWS_Management/AWS_12.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Build a Custom Amazon EC2 Machine Image (CentOS 6.2) — (24-June-2012)

There is no shortage when it comes to finding an available Amazon Elastic 
Compute Cloud (EC2) Machine Image (AMI). Often times, however, finding an image 
from the community AMIs that meets your particular needs can be a challenge. In 
many cases the image is bloated, provides too much customization, performs 
poorly, or lacks any type of reasonable documentation. Not to mention the 
inherent security concerns associated with some 3rd party AMIs.

In the article described at the end of the newsletter, I will demonstrate how 
to create your own instance store-backed (a.k.a. S3-backed) and EBS-backed 
Amazon EC2 image of CentOS 6.2 (64-bit) with its own kernel. Creating your own 
AMI allows you to make the most of Amazon EC2 and provides better control over 
performance, security, and reproducibility. Your AMIs become the basic unit of 
deployment which allow you to rapidly boot new custom instances as you need 
them.

There are two methods to prepare your own custom Amazon EC2 instances for 
Linux/UNIX systems:

  1.) From an Existing AMI

      Involves launching an existing public AMI and modifying it according to 
      your requirements.

  2.) Create a New AMI from Scratch on Your Own Machine (loopback method)

      Involves building a fresh installation either on a stand-alone machine or 
      on an empty file system mounted by loopback.

Although preparing a new AMI from an existing one is often the easiest method, 
this guide will document the procedures to create a new AMI from scratch using 
a fresh OS install of CentOS 6.2 (64-bit) on an empty file system mounted by 
loopback.

Build a Custom Amazon EC2 Machine Image (CentOS 6.2)

http://www.idevelopment.info/data/AWS/AWS_Tips/AWS_Management/AWS_10.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle Database Rolling Upgrade Using Data Guard SQL Apply - (10g to 11g) — (01-June-2012)

An Oracle rolling database upgrade eliminates lengthy downtime associated with 
the conventional database upgrade and can also provide an efficient fail back 
method in case of an emergency during the upgrade. A rolling upgrade also 
eliminates application downtime due to recompilation (timings depend on the 
number of invalid objects). The only database downtime required by the entire 
rolling upgrade process is the time it takes to perform a Data Guard switchover 
and the time for applications and services to be re-activated which can occur 
in a matter of a minute or two. 

A rolling upgrade can be performed using either SQL Apply or the Transient 
Logical Standby method. The two rolling upgrade methods are fairly similar 
where the primary difference is the state of the standby database before and 
after completing the upgrade. Using the SQL Apply method, the upgrade starts 
with one node as a logical standby and concludes with one node continuing to be 
a logical standby while with the transient logical standby, one node will start 
as a physical standby, temporarily convert to a logical standby, and will 
revert back to a physical standby after the upgrade. 

In the following guide, a rolling database migration using Data Guard SQL Apply 
will be deployed to migrate from Oracle Database 10g Release 2 (10.2.0.5) to 
Oracle Database 11g Release 2 (11.2.0.3). This same guide can also be used to 
perform rolling database upgrades using Data Guard SQL Apply. For example, 
upgrading Oracle Database 11g Release 2 (11.2.0.1) to (11.2.0.3).

http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_60.shtml

Although the example in this guide demonstrates a rolling database migration,
the word upgrade will be used interchangeably with migration. 

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
---------------------------- 


  Remove a Node from an Existing Oracle RAC 11g R2 Cluster on Linux - (RHEL 5) — (07-May-2012)

Although not as exciting as building an Oracle RAC or adding a new node and 
instance to a cluster database; removing a node from a clustered environment is 
just as important to understand for a DBA managing Oracle RAC. While it is true 
that most of the attention in a cluster database environment is focused on 
extending the database tier to support increased demand, the exact opposite is 
just as likely to be encountered where the DBA needs to remove a node from an 
existing Oracle RAC. One scenario may be a node failure or that an 
underutilized server in the database cluster could be better served in another 
business unit. In either case, a node can be removed from the cluster while the 
remaining nodes continue to service ongoing requests.

The following guide is an extension to two of my articles: "Building an 
Inexpensive Oracle RAC 11g R2 on Linux - (RHEL 5)" and "Add a Node to an 
Existing Oracle RAC 11g R2 Cluster on Linux - (RHEL 5)".

Remove a Node from an Existing Oracle RAC 11g R2 Cluster on Linux - (RHEL 5)

The original articles that describe the existing Oracle RAC and adding a new 
node can be found at:

Building an Inexpensive Oracle RAC 11g R2 on Linux - (RHEL 5)

Add a Node to an Existing Oracle RAC 11g R2 Cluster on Linux - (RHEL 5)

Contained in this new article are the steps required to remove a single node 
from an existing three-node Oracle RAC 11g Release 2 (11.2.0.3.0) environment 
on the CentOS 5 Linux platform. The node being removed is the third node I 
added in the second article. Although this article was written and tested on 
CentOS 5 Linux, it should work unchanged with Red Hat Enterprise Linux 5 or 
Oracle Linux 5.

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
---------------------------- 


  Add a Node to an Existing Oracle RAC 11g R2 Cluster on Linux - (RHEL 5.5) — (27-April-2012)

As your organization grows, so too does your need for more application and 
database resources to support the company's IT systems. Oracle RAC 11g provides 
a scalable framework which allows DBA's to effortlessly extend the database 
tier to support this increased demand. As the number of users and transactions 
increase, additional Oracle instances can be added to the Oracle database 
cluster to distribute the extra load.

The following guide is an extension to my article "Building an Inexpensive 
Oracle RAC 11g R2 on Linux - (RHEL 5.5)":

Add a Node to an Existing Oracle RAC 11g R2 Cluster on Linux - (RHEL 5.5)

The original article that describes the existing Oracle RAC can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Oracle11gRAC/CLUSTER_12.shtml

Contained in this new guide are the steps required to add a single node to an 
already running and configured two-node Oracle RAC 11g Release 2 for Linux 
x86_64 environment on the CentOS 5.5 for x86_64 platform. All shared disk 
storage for Oracle RAC is based on iSCSI using Openfiler release 2.3 x86_64 
running on a separate node (known in this article as the Network Storage 
Server). Although this article was written and tested on CentOS 5 Linux, it 
should work unchanged with Red Hat Enterprise Linux 5 or Oracle Linux 5. 

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Install Oracle Database 11g R2 on Linux using Oracle ASM - (OL5) — (17-January-2012)

The article described in this newsletter is a comprehensive guide for 
installing Oracle Database 11g Release 2 (11.2) on the Oracle Linux 5 (OL5)
operating environment using Oracle Automatic Storage Management 
(Oracle ASM) and Oracle Restart.

Oracle ASM provides a virtualization layer between the database and storage so 
that multiple disks can be treated as a single disk group and disks can be 
dynamically added or removed while keeping databases online. The example 
database created in this guide will use Oracle ASM for all physical database 
file storage (data files, control files, online redo log files, Fast Recovery 
Area).

In previous releases, Oracle ASM was installed as part of the Oracle Database 
installation. With Oracle Database 11g Release 2, Oracle ASM is part of an 
Oracle Grid Infrastructure installation, either for a cluster, or for a 
standalone server. This guide demonstrates how to create a single instance 
(non-RAC) database using Oracle ASM and therefore will require Oracle Database 
11g Release 2 Grid Infrastructure for a Standalone Server to be installed 
before the Oracle Database software.

Oracle Restart is another component of Oracle Grid Infrastructure for a 
Standalone Server that will be used in this guide.

Starting with Oracle Database 11g Release 2, the dbstart and dbshut scripts 
that were used to automate database startup and shutdown in previous Oracle 
versions are deprecated. Oracle now recommends to configure Oracle Database 
with the Oracle Restart feature to automatically restart the database, the 
listener, Oracle Automatic Storage Management (Oracle ASM), and other Oracle 
components after a hardware or software failure or when the database host 
computer restarts. 

The full version of this article can be found at the following location.

http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_22.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Install Oracle Database 11g R2 on Linux - (RHEL 6) — (02-January-2012)

The following article provides a comprehensive overview and describes the steps 
necessary to install Oracle Database 11g Release 2 (11.2) on the Red Hat 
Enterprise Linux 6 (RHEL6) operating environment. Installing the Oracle 
Database software is not a difficult task by any means; however, critical 
prerequisite tasks and key decisions will be discussed during the setup and 
configuration in this guide that will have a great impact on your installation. 

http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_23.shtml

This guide will include instructions for installing and configuring the Linux 
operating system, installing the Oracle Database software, creating an example 
database, managing Oracle Enterprise Manager Database Control, automatically 
starting and stopping the instance through reboots, and further enhancing the 
Oracle environment by installing custom DBA management scripts.

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Command History and Auto-Completion for SQL*Plus on Unix/Linux — (29-December-2011)

Oracle sqlplus and rman are popular command-line interfaces that allow for 
quick and easy access to an Oracle instance. However, unlike most modern 
command-line tools like MySQL or PostgreSQL, Oracle's sqlplus and rman do not 
provide persistent command history or auto-completion functionality under Linux 
and Unix. For example, without command history, making a mistake when typing a 
long statement in sqlplus often means canceling out and re-entering it all over 
again.

Powerful interfaces like the Unix/Linux bash shell offer auto-completion of the 
text you are typing (by pressing TAB), access to a history of previous commands 
(up/down arrows, or CTRL-P/CTRL-N), incremental search on the command history 
(CTRL-R), moving the cursor and modifying statements within the current line 
(left/right arrows), and persisting the command history in between invocations. 
Nearly all these tools use the GNU readline library to provide these 
capabilities.

While not all command-line tools use the GNU readline library (like Oracle's 
sqlplus and rman), the good news is that these limitations can be easily 
overcome by using the rlwrap tool written by Hans Lub.

The following paper presents examples of how to enhance some of Oracle's 
command-line utilities like SQL*Plus and RMAN with command history and 
auto-complete functionality on the Unix/Linux platform.

http://www.idevelopment.info/data/Oracle/DBA_tips/SQL_PLUS/SQLPLUS_8.shtml

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Install SQL Server 2008 R2 — (16-March-2011)

The following article provides a comprehensive overview and describes the steps 
necessary to install a clean version of Microsoft SQL Server 2008 R2 on the 
Windows Server 2008 operating environment. Installing SQL Server is not a 
difficult task by any means, however, critical decisions will be discussed 
during the setup and configuration described in this guide that will have a 
great impact on your installation. 

http://www.idevelopment.info/data/SQLServer/DBA_tips/Installation/INSTALL_4.shtml

This guide will include instructions for installing the SQL Server Database 
Engine instance, Analysis Services, Reporting Services, Integration Services, 
as well as all supplementary sub-features like SQL Server Replication, 
Full-Text Search, Shared Components, and all of the tools that ship with SQL 
Server. 

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------



  Permissions Error Accessing Reporting Services - (SQL Server 2008 R2) — (14-March-2011)

After installing a Reporting Services instance and setting up a native mode 
default configuration, the next step would be to verify that the Report Server 
and Report Manager is functioning correctly. The virtual directories to use for 
the Report Server and Report Manager can be accessed from a Web browser as 
follows:

  * SQL Server Default Instance

    For a default SQL Server instance, use http://ServerName/DirectoryName 
    where ServerName is the host name or DNS name for the machine and 
    DirectoryName is the name of the virtual directory for either the Report 
    Server (ReportServer) or Report Manager (Reports). For example:

    http://vmwindows1/ReportServer
    http://vmwindows1/Reports

  * SQL Server Named Instance

    For a named SQL Server instance, use
    http://ServerName/DirectoryName$InstanceName
    where ServerName is the host name or DNS name for the machine, 
    DirectoryName is the name of the virtual directory for either the Report 
    Server (ReportServer) or Report Manager (Reports), and InstanceName is the 
    SQL Server instance name. For example:

    http://vmwindows1/ReportServer$WebApps01
    http://vmwindows1/Reports$WebApps01

After providing valid credentials, you will most likely receive the following 
error message when trying to access either the Report Manager or Report Server 
for the first time:

    User '\' does not have required permissions.
    Verify that sufficient permissions have been granted and Windows
    User Account Control (UAC) restrictions have been addressed.

The following article provides a solution to this common permissions error you 
may receive while attempting to authenticate to the Report Server or Report 
Manager.

Permissions Error Accessing Reporting Services - (SQL Server 2008 R2)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Using RMAN Incremental Backups to Roll Forward a Physical Standby Database (Oracle 10g) — (03-March-2011)

There are several scenarios that can occur in an Oracle Data Guard 
configuration which renders a physical standby database as either unusable or 
invalid. For example, an extended network failure can occur between the primary 
and standby machines which cause the standby database to fall significantly far 
behind the primary database. If the necessary archived redo log files needed to 
synchronize the physical standby database with the primary database are no 
longer available, log gap resolution will be unable to resolve the gap in the 
redo stream to catch up the standby.

Another popular scenario exists when a DML or DDL operation is performed on the 
primary database using the NOLOGGING or UNRECOVERABLE clause and the FORCE 
LOGGING database option is not enabled on the primary. If the FORCE LOGGING 
database option is not enabled, then Oracle will not log the entire operation 
in the redo log and thus, never send the modified data to the standby database 
for recovery. While this doesn't necessarily render the entire standby database 
as unusable, it does invalidate the standby for those tables affected and may 
require substantial DBA administrative activities to repair. Although you can 
specify the ALTER DATABASE FORCE LOGGING statement on the primary database to 
override the NOLOGGING clause and prevent this type of damage to occur in the 
future, this statement will not repair a standby database that has already been 
invalidated.

In each of the scenarios listed above, one solution would be to simply delete 
and formally re-create the physical standby database to enter it back into the 
Data Guard configuration. Depending on the size of the database, rebuilding the 
standby database could be an expensive operation as it would potentially 
involve a lot of time and resources making this a nonviable option.

The following guide presents a quick and efficient alternative to rebuilding a 
physical standby database in Oracle Database 10g Release 2 by using RMAN 
incremental backups to roll forward and resynchronize a physical standby 
database with the primary database. Using the RMAN BACKUP INCREMENTAL FROM SCN 
command, you can create an incremental backup on the primary database that 
starts at the standby database's current SCN, which can then be used to roll 
the standby database forward in time. 

Using RMAN Incremental Backups to Roll Forward a Physical Standby Database (Oracle 10g)

This guide will provide step-by-step recovery procedures which cover the 
following three scenarios:

o Physical Standby Database Lags Far Behind the Primary Database
o Physical Standby Database Has Nologging Changes On a Subset of Datafiles
o Physical Standby Database Has Widespread Nologging Changes 

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Data Guard Configuration Example, Oracle 10g, Logical Standby — (17-January-2011)

Oracle Data Guard (known as Oracle Standby Database prior to Oracle9i), forms 
an extension to the Oracle RDBMS and provides organizations with high 
availability, data protection, and disaster recovery for enterprise databases. 
Oracle Data Guard provides the DBA with services for creating, maintaining, 
managing, and monitoring one or more standby databases. The functionality 
included with Oracle Data Guard enables enterprise data systems to survive both 
data corruption as well as major disasters. 

The following article provides instructions for creating and configuring a 
logical standby database from a primary database using Oracle Database 10g 
Release 2 (10.2) operating in maximum performance protection mode:

Data Guard Configuration Example - (Oracle 10g, Logical Standby)

It should be noted that several different methods exist to create a logical 
standby database configuration and that this is just one of those ways. The 
methods outlined in this guide present a simple approach that should be easy to 
implement in most situations. In fact, if you break down the essential tasks 
required to build a logical standby database, you will see that it is 
essentially nothing more than creating an initial physical standby database, 
building a dictionary in the redo data for LogMiner, verifying supplemental 
logging is enabled on both the primary and standby, converting the physical 
standby database to a logical standby database, putting the logical standby 
database in managed recovery mode (SQL Apply), and starting remote archiving 
from the primary database (Redo Transport). Obviously there are a number of 
smaller steps I am leaving out which will all be discussed in more depth 
throughout this guide. 

All configuration parameters related to the Oracle instance and networking will 
be discussed as well as how to place the standby database in Managed Recovery 
Mode. 

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  How to Drop a Datafile from a Tablespace — (07-January-2011)

I have been asked on several occasions about how to drop a datafile from a 
tablespace. Much of the confusion comes from the "ALTER DATABASE DATAFILE 
 OFFLINE DROP" statement. This statement is not meant to allow 
you to remove a datafile. What the statement really means is that you are 
offlining the datafile with the intention of dropping the tablespace.

There are two reasons why a DBA would want to remove a datafile from a 
tablespace:

  * The DBA may have mistakenly added a file to a tablespace, or perhaps made 
    the file much larger than intended and now want to remove it.

  * The DBA may be involved in a recovery scenario and the database won't start 
    because a datafile is missing.

Until Oracle Database 10g Release 2, Oracle did not provide an interface for 
dropping datafiles in the same way you would drop a schema object such as a 
table or a user. Prior to 10gr2, once the DBA created a datafile for a 
tablespace, the datafile could not be removed. This article discusses several 
workarounds to this limitation as well as the new DROP DATAFILE / TEMPFILE 
statement introduced with Oracle 10g R2.

In the following article, I will attempt to erase the confusion surrounding 
this ALTER DATABASE statement and how to successfully drop a datafile from a 
tablespace:

How to Drop a Datafile from a Tablespace

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Activating the Standby Database - (Oracle 10g, Physical Standby) — (16-December-2010)

The tasks involved in creating and managing a Data Guard configuration are 
fairly straightforward. Once the standby database is put into operation, you 
are happy, your customer is happy, management is happy - everyone is happy with 
the piece of mind that their data is being replicated to their disaster 
recovery site. But the time will eventually come where the inevitable will 
occur and the primary database becomes unavailable. You are now faced with 
failing over production activities to an available standby database. Other 
circumstances can also arise where scheduled maintenance needs to occur on the 
primary database and database operations need to be switched over to the 
standby database. In either case, the role of the primary database and the 
standby database will need to be changed. This is known as Role Transition and 
is the subject of the following article:

Activating the Standby Database - (Oracle 10g, Physical Standby)

It is assumed that a primary and one physical standby database is already 
configured in order to perform the role transition steps described in this 
guide. The examples used in this guide will make use of the Oracle Data Guard 
configuration described in the article:

Data Guard Configuration Example - (Oracle 10g, Physical Standby)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Data Guard Configuration Example, Oracle 10g, Physical Standby — (10-December-2010)

Oracle Data Guard (known as Oracle Standby Database prior to Oracle9i), forms 
an extension to the Oracle RDBMS and provides organizations with high 
availability, data protection, and disaster recovery for enterprise databases. 
Oracle Data Guard provides the DBA with services for creating, maintaining, 
managing, and monitoring one or more standby databases. The functionality 
included with Oracle Data Guard enables enterprise data systems to survive both 
data corruption as well as major disasters.

The following article provides instructions for creating and configuring a 
physical standby database from a primary database using Oracle Database 10g 
Release 2 (10.2) operating in maximum performance protection mode:

Data Guard Configuration Example - (Oracle 10g, Physical Standby)

It should be noted that several different methods exist to create a physical 
standby database configuration and that this is just one of those ways. The 
methods outlined in this guide present a simple approach that should be easy to 
implement in most situations. In fact, if you break down the essential tasks 
required to build a standby database, you will see that it is essentially 
nothing more than taking a backup of the primary database, creating a standby 
controlfile, transferring the files to the standby host, mounting the standby 
database, putting the standby database in managed recovery mode (Redo Apply), 
and starting remote archiving from the primary database (Redo Transport). 
Obviously there are a number of smaller steps I am leaving out which will all 
be discussed in more depth throughout this guide.

All configuration parameters related to the Oracle instance and networking will 
be discussed as well as how to place the standby database in Managed Recovery 
Mode. 

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Using the Oracle ASM Cluster File System (Oracle ACFS) on Linux — (28-November-2010)

Introduced with Oracle ASM 11g release 2, Oracle ASM Cluster File System 
(Oracle ACFS) is a general purpose cluster file system implemented as part of 
Oracle Automatic Storage Management (Oracle ASM). Oracle ACFS extends the 
Oracle ASM architecture and is used to support many types of files which are 
typically maintained outside of the Oracle database. For example Oracle ACFS 
can be used to store BFILEs, database trace files, executables, report files 
and even general purpose files like image, text, video, and audio files. In 
addition, Oracle ACFS can be used as a shared file system for Oracle home 
binaries.

The features included with Oracle ACFS allow users to create, mount, and manage 
ACFS using familiar Linux commands. Oracle ACFS provides support for snapshots 
and the ability to dynamically resize existing file system online using Oracle 
ASM Dynamic Volume Manager (ADVM).

Oracle ACFS leverages Oracle ASM functionality that enables:

  * Oracle ACFS dynamic file system resizing
  * Maximized performance through direct access to Oracle ASM disk group storage
  * Balanced distribution of Oracle ACFS across Oracle ASM disk group storage for increased I/O parallelism
  * Data reliability through Oracle ASM mirroring protection mechanisms

My recent article on using the Oracle ASM Cluster File System provides a hands
on approach to creating and managing ACFS and ADVM on the Linux operating 
system using the following methods:

  * ASM Configuration Assistant (ASMCA)
  * Oracle Enterprise Manager (OEM)
  * Command Line / SQL / ASMCMD 

A full discussion on the different Oracle ACFS components will also be 
presented as well as snapshots, file system recovery, and management techniques.

Using the Oracle ASM Cluster File System (Oracle ACFS) on Linux

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC 11g Release 2 running on CentOS using iSCSI — (08-November-2010)

Oracle RAC 11g release 2 allows DBA's to configure a clustered database 
solution with superior fault tolerance, load balancing, and scalability. 
However, DBA's who want to become more familiar with the features and benefits 
of database clustering will find the costs of configuring even a small RAC 
cluster costing in the range of US$10,000 to US$20,000. This cost would not 
even include the heart of a production RAC configuration, the shared storage. 
In most cases, this would be a Storage Area Network (SAN), which generally 
start at US$10,000.

Unfortunately, for many shops, the price of the hardware required for a typical 
RAC configuration exceeds most training budgets. For those who want to become 
familiar with Oracle RAC 11g without a major cash outlay, the following guide 
provides a low-cost alternative to configuring an Oracle RAC 11g release 2 
system using commercial off-the-shelf components and downloadable software at 
an estimated cost of US$2,800. 

This guide provides detailed instructions on how to build a two-node Oracle RAC 
system using low cost hardware and freely available software. A network storage 
server will be built using Openfiler 2.3 (Final) and iSCSI technology which 
will be used for all shared storage requirements. Powered by rPath Linux, 
Openfiler is a free browser-based network storage management utility that 
delivers file-based Network Attached Storage (NAS) and block-based Storage Area 
Networking (SAN) in a single framework. Openfiler supports CIFS, NFS, HTTP/DAV, 
FTP, however, I will only be making use of its iSCSI capabilities to implement 
an inexpensive SAN for the shared storage component required by Oracle RAC 11g.

The new article can be found at:

Building an Inexpensive Oracle RAC 11g R2 on Linux - (RHEL 5.5)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Flushing the Oracle Data Buffer Cache During Performance Testing — (23-September-2010)

A common question among developers is how to flush the Oracle data buffer 
cache. During performance testing, it is important to replicate a real-world 
production environment as closely as possible; especially when it involves 
reducing physical I/O (disk reads). Developers need the ability to test the 
effects of changing execution paths without getting accidental benefits from 
the buffered data in the database buffer cache. Having the ability to flush the 
data buffer cache is essential throughout this phase of the SQL tuning process. 

The following note provides several methods used to flush the Oracle data 
buffer cache depending on the release of Oracle.

Flushing the Oracle Data Buffer Cache During Performance Testing

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Connect to SQL Server 2008 from Linux using Perl DBI — (19-September-2010)

If you are a system administrator or DBA, you know the importance of scripting. 
For many administrators, the choice is Perl. Given the fact that Perl is open 
source, available on almost all O/S platforms and extremely modular, many 
popular modules have been developed to extend the language. DBAs for example, 
have enjoyed the ease of scripting database functions using the "Database 
independent interface for Perl" or better known as DBI.

The DBI is a database access module for the Perl programming language. It 
defines a set of methods, variables, and conventions that provide a consistent 
database interface, independent of the actual database being used.

The following article describes how to access Microsoft SQL Server 2008 from a 
Linux server using the Perl DBD::Sybase driver module (this is the Sybase 
driver for the Perl DBI) combined with FreeTDS. FreeTDS is a set of libraries 
for Unix and Linux that allows your programs to natively talk to Microsoft SQL 
Server 2008 and Sybase databases.

Connect to SQL Server 2008 from Linux using Perl DBI

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Install AdventureWorks Sample Databases on SQL Server 2008 R2 — (19-September-2010)

To facilitate the new SQL Server articles and scripts on the iDevelopment.info
website, all of the examples are based on the AdventureWorks 2008R2 sample 
databases. These sample databases are part of the "AdventureWorks Community 
Sample Databases".

The following sample databases are available as part of the AdventureWorks 
Community Sample Databases for SQL Server 2008 R2:

    * AdventureWorks OLTP 2008R2
    * AdventureWorks Data Warehouse 2008R2
    * AdventureWorks LT 2008R2

Starting with SQL Server 2005, the sample databases are not installed by 
default due to security concerns. Users are now required to download and 
manually install the sample databases after successfully setting up SQL Server.

The following article presents the steps required to download and install all 
sample database found in the AdventureWorks Community Sample Databases package 
for SQL Server 2008 R2.

Install AdventureWorks Sample Databases - (SQL Server 2008 R2)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Using UTL_HTTP and an Oracle Wallet to Establish a Secure URL Connection (SSL) — (13-September-2010)

An article describing the steps necessary to establish a secure URL connection 
(SSL) using the UTL_HTTP Oracle PL/SQL package and an Oracle Wallet. In order 
to fully demonstrate the required steps, I will be establishing a secure URL 
connection to the web site https://www.centos.org/ from within PL/SQL.

In order to establish a connection to a secure URL from an Oracle database 
server, the following tasks will need to be performed:

    * Capture all required certificates from the SSL site
    * Create an Oracle Wallet that is accessible on the database server
    * Import the required certificate(s) of the SSL site into the Oracle Wallet
    * Use the UTL_HTTP.SET_WALLET PL/SQL procedure before attempting to access the secure URL

The full article can be found at:

Using UTL_HTTP and an Oracle Wallet to Establish a Secure URL Connection (SSL)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Differences in df and du on Oracle Cluster File System (OCFS2) and Orphan Files — (18-August-2010)

Recently, it was noticed that the "df" and "du" commands were displaying 
different results from several nodes on two OCFS2 file systems. The cluster 
file systems were being used as shared storage for an Oracle RAC 10g 
configuration (Clusterware shared files and the Flash Recovery Area).

Researching this problem yielded a bug with the OCFS2 kernel driver (1.4.2-1) 
that was apparently leaving deleted files in the orphan directory (the 
//orphan_dir name space in OCFS2) after being deleted from the disk.

When an object (file and/or directory) is deleted from an OCFS2 cluster file 
system, the file system unlinks the object entry from the existing directory 
and links it as an entry against that cluster node's orphan directory (the 
//orphan_dir name space in OCFS2). When the object is eventually no longer used 
across the cluster, the file system frees it's inode including all disk space 
associated with it.

It was determined that orphan files on the OCFS2 cluster file system were 
responsible for the significant difference between the df and du commands. 
OCFS2 was leaving some deleted files in the orphan directory (the 
//orphan_dir name space in OCFS2) after being deleted.

The following article highlights the steps involved in troubleshooting disk 
space usage on an OCFS2 cluster file system and how to resolve the discrepancy 
between the df and du commands.

Differences in df and du on Oracle Cluster File System (OCFS2) and Orphan Files

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Upgrading OCFS2 - Version 1.4 — (18-August-2010)

An article describing the steps necessary to upgrade an installation of Oracle 
Cluster File System 2 (OCFS2) 1.4 on the Linux platform. More specifically, the 
OCFS2 kernel driver will be upgraded from version 1.4.4-1 to the latest release 
which at the time of this writing is 1.4.7-1.

In addition, the OCFS2 Tools and Console will be upgraded from version 1.4.3-1 
to version 1.4.4-1.

For the purpose of this article, a single OCFS2 file system is configured on a 
two node Oracle RAC 10g environment to support a shared file system required by 
Oracle Clusterware (the Oracle cluster registry file and the voting disk).

The full article can be found at:

Upgrading OCFS2 - 1.4

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Resolve Duplicate CRS Cluster Name in EM Grid Control - (Grid Control 10g) — (11-August-2010)

During the installation of Oracle Clusterware, you are asked to specify a name
for the cluster. If you're like me, you may opt to keep the CRS Cluster Name 
set to its default value of "crs". Even when configuring a second or third 
Oracle RAC within an organization, we many times simply leave the cluster name 
for the new clusters set to their default value of crs. Although I believe it 
is bad practice to configure multiple Oracle RAC clusters with the same CRS 
cluster name, it doesn't necessarily cause any conflicts given these clusters 
don't interact with each other. The clustered databases work independently from 
each other without incident. That is, until you register multiple clustered 
databases with the same CRS cluster name in Oracle Enterprise Manager Grid 
Control!

An issue can arise when multiple Oracle RAC clusters with the same CRS cluster 
name are registered as targets in EM Grid Control. While not causing a problem 
with the cluster itself, it does cause EM Grid Control to think both clusters 
are the same.

The following article will explain the steps used to change the EM cluster 
target name(s) in Grid Control from their default name of "crs" to avoid 
conflict with other cluster targets. In this article, a new EM cluster target 
name will be created in EM Grid Control for two Oracle RAC database 
environments that were registered in EM Grid Control with the same EM cluster 
target name.

Resolve Duplicate CRS Cluster Name in EM Grid Control - (Grid Control 10g)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Donating to iDevelopment.info — (10-December-2009)

Since 1998, iDevelopment.info has seen tremendous growth in both content and 
user base. What started out as a few articles on Oracle has expanded to 
a vast array of programming examples and guides for SQL Server, MySQL, and 
Linux. Over the past year, the average daily user visits to the site has 
increased from 1,620 (JAN 2009) to 2,061 (NOV 2009).

The success of this site has always hinged on direct involvement from the user 
community in the way of comments, suggestions, and the gracious donations from 
users who have benefited. Those donations go directly to funding hardware and 
software purchases which are used in creating guides as well as the cost of 
hosting the site (which had to be upgraded recently to support an increase of 
user bandwidth).

iDevelopment.info will remain a free site with a clear goal of providing 
solutions to Database Administration and Software Development. If you would 
like to make a donation to support the ongoing efforts and future of the site, 
please use the "Make a Donation" button from the home page:

http://www.idevelopment.info/

This will direct you to the PayPal account I have setup for funding the site. Thank you for your continued support. ---------------------------- Jeffrey M. Hunter, OCP Sr. Database Administrator jhunter@idevelopment.info http://www.idevelopment.info ----------------------------


  Two Free Oracle Whitepapers — (10-December-2009)

Two complimentary White Papers that I felt Oracle users might be interested in:

1.) Lowering Your IT Costs with Oracle Database 11g Release 2

Discover how Oracle Database 11g Release 2 options and features can help you 
reduce server and storage costs, improve query performance, and ensure 
availability during database application upgrades.

http://idevelopment.tradepub.com/free/w_orac106

2.) Using Oracle In-Memory Database Cache to Accelerate the Oracle Database

Learn how Oracle In-Memory Database Cache significantly reduces response time, 
while improving overall application throughput, by bringing data closer to the 
application, and by processing queries in an in-memory database.

http://idevelopment.tradepub.com/free/w_orac107

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Recover Corrupt/Missing Oracle Cluster Registry (OCR) with No Backup - (Oracle 10g) — (12-October-2009)

It happens. Not very often, but it can happen. You are faced with a corrupt or 
missing Oracle Cluster Registry (OCR) and have no backup to recover from. So, 
how can something like this occur? We know that the CRSD process is responsible 
for creating backup copies of the OCR every 4 hours from the master node in the 
CRS_home/cdata directory. These backups are meant to be used to recoverthe OCR 
from a lost or corrupt OCR file using the ocrconfig -restore command, so how 
is it possible to be in a situation where the OCR needs to be recovered and you 
have no viable backup?

Well, consider a scenario where you add a node to the cluster and before the 
next backup (before 4 hours) you find the OCR has been corrupted. You may have 
forgotten to create a logical export of the OCR before adding the new node or 
worse yet, the logical export you took is also corrupt. In either case, you are 
left with a corrupt OCR and no recent backup. Talk about a bad day! Another 
possible scenario could be a shell script that wrongly deletes all available 
backups. Talk about an even worse day.

In the event the OCR is corrupt on one node and all options to recover it have 
failed, one safe way to re-create the OCR (and consequently the voting disk) is 
to reinstall the Oracle Clusterware software. In order to accomplish this, a 
complete outage is required for the entire cluster throughout the duration of 
the re-install. The Oracle Clusterware software will need to be fully removed, 
the OCR and voting disks reformatted, all virtual IP addresses (VIPs) 
de-installed, and a complete reinstall of the Oracle Clusterware software will 
need to be performed. It should also be noted that any patches that were 
applied to the original clusterware install will need to be re-applied. As you 
can see, having a backup of the OCR and voting disk can dramatically simplify 
the recovery of your system!

A second and much more efficient method used to re-create the OCR (and 
consequently the voting disk as well) is to re-run the root.sh script from the 
primary node in the cluster. This is described in Doc ID: 399482.1 on the
My Oracle Support web site. The procedures actually call for running the 
rootdelete.sh and rootdeinstall.sh on all nodes in the cluster before running 
root.sh. In my opinion, this method is quicker and much less intrusive than 
reinstalling Oracle Clusterware and the one described in the following article: 

Recover Corrupt/Missing OCR with No Backup - (Oracle 10g)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  OCR File and Voting Disk Administration by Example - (Oracle 10g) — (08-October-2009)

Oracle Clusterware 10g, formerly known as Cluster Ready Services (CRS) is 
portable cluster software that allows clustering of single servers so that they 
cooperate as a single system. This infrastructure simplifies the requirement 
for an Oracle Real Application Clusters (RAC) database by providing cluster 
software that is tightly integrated with the Oracle Database.

The Oracle Clusterware requires two critical clusterware components: a voting 
disk to record node membership information and the Oracle Cluster Registry 
(OCR) to record cluster configuration information. Both components play an 
extremely important role in the overall health and availability of the cluster.

The following article provides a detailed look at how to administer the OCR and 
voting disk using illustrative examples and instructions on how to create a 
robust backup and recovery strategy. It is intended for DBAs, System 
Administrators, and Support Engineers tasked with supporting an Oracle RAC 10g 
environment. The examples described in this guide were tested with Oracle RAC 
10g Release 2 (10.2.0.4) on the Linux x86 platform.

OCR File and Voting Disk Administration by Example - (Oracle 10g)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Using FAN with SQL*Plus in Oracle 11g — (27-September-2009)

Starting with Oracle 11g, Fast Application Notification (FAN) can be used with 
SQL*Plus. With Oracle RAC 11g, you can specify the -F (FAILOVER) option to the 
sqlplus command. This enabled SQL*Plus to interact with the OCI failover mode 
in a Real Application Cluster (RAC) environment. In this mode, a service or 
instance failure is transparently handled with transaction status messages if 
applicable.

For an in-depth working example that describes the Fast Connection Failover 
(FCF) mechanism, please consult the following JDBC Java application:

Oracle Fast Connection Failover Example

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Reclaiming Unused LOB Space in Oracle — (09-September-2009)

Manually reclaiming unused space in a normal Oracle table is a fairly simple 
process and can be performed online starting with Oracle 10g R1.

What if, however, the table contains a LOB column that contains significant 
unused space? Starting with Oracle 10g R2, Oracle provides a solution that 
allows users to reclaim LOB space (LOB data and LOB index) and that is the topic 
of the following recently published article:

Reclaiming Unused LOB Space in Oracle

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Adding a Node to an Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 5.3 / iSCSI) — (03-September-2009)

As your organization grows so too does your need for more application and 
database resources to support the company's IT systems. Oracle RAC 10g 
provides a scalable framework which allows DBA's to effortlessly extend the 
database tier to support this increased demand. As the number of users and 
transactions increase, additional Oracle instances can be added to the Oracle 
database cluster to distribute the extra load.

I recently published an extension to my article 
"Building an Inexpensive Oracle RAC 10g Release 2 on Linux - (CentOS 5.3 / iSCSI)". 
Contained in this new article are the steps required to add a single node to an 
already running and configured two-node Oracle RAC 10g Release 2 environment on 
the CentOS 32-bit (x86) platform. Although this article was written and tested 
on CentOS 5.3 Linux, it should work unchanged with Red Hat Enterprise Linux 5 
Update 3.

The new article can be accessed using the following link:

Add a Node to an Existing Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 5.3 / iSCSI)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC 10g Release 2 / iSCSI / CentOS 5.3 — (20-August-2009)

This week I published the latest in a series of articles on how to build an 
inexpensive Oracle RAC system. This article focuses on Oracle 10g Release 2 
(10.2.0.1.0) as well as the latest version of CentOS (version 5.3).

As with its predecessor, this article provides detailed instructions on how to 
build a two-node Oracle RAC system using low cost hardware and freely available 
software. A network storage server will be built using Openfiler 2.3 (Final) 
and iSCSI technology which will be used for all shared storage requirements. 
Powered by rPath Linux, Openfiler is a free browser-based network storage 
management utility that delivers file-based Network Attached Storage (NAS) and 
block-based Storage Area Networking (SAN) in a single framework. Openfiler 
supports CIFS, NFS, HTTP/DAV, FTP, however, I will only be making use of its
iSCSI capabilities to implement an inexpensive SAN for the shared storage 
component required by Oracle RAC 10g.

The newly updated Oracle RAC 10g / iSCSI article can be found at:

Building an Inexpensive Oracle RAC 10g Release 2 on Linux - (CentOS 5.3 / iSCSI)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Installing Grid Control Management Agent (10.2.0.5) — (12-May-2009)

In a follow-up to my recently published article "Installing Grid Control 
(10.2.0.5) on RHEL 5 with 11g Database Repository", I now provide a supplement 
to this guide on how to install and configure the Grid Control Management Agent 
(10.2.0.5). This new article provides one approach (out of several available) 
used to install and configure the Oracle Management Agent (10.2.0.5) on an 
Oracle database server node running the Red Hat Enterprise Linux 5 operating 
system.

This guide assumes you have a working Oracle Enterprise Manager 10g Grid 
Control Release 5 environment in place and running.

The new guide can be found at:
 
Installing Grid Control Management Agent (10.2.0.5)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Example JDBC Class for Oracle — (10-May-2009)

I recently created an example JDBC class that provides a convenient template 
which demonstrates some of the more helpful JDBC API calls while using an 
Oracle Database. The methods defined in this class will be used to create a 
test table in the SCOTT schema named JDBC_EXAMPLE. A set of random values will 
then be inserted into the new table and then queried back using basic JDBC 
calls. The random values being used to populate the test table will come from 
the dictionary view ALL_OBJECTS.

This class is useful in demonstrating how to fetch integers, floating-point 
numbers, strings, and dates from a result set and furthermore, how to 
manipulate and print the data from the database. The example class also 
demonstrates how to calculate the run time of queries and DML calls 
(in milliseconds), format dates, and basic exception handling.

The class concludes by dropping the test table and then logging off from the 
database.

This new Java class can be accessed from the "Java Programming Examples" page 
which includes many other example Java classes.

From the left topics menu, select "Programming  -> Java" and then from the 
"Java Programming Examples" page, scroll down to "JDBC -> JDBC Example".

You can also use the following URL to access the new Java class directly:

JdbcExample.java

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Installing Grid Control (10.2.0.5) on RHEL 5 with 11g Database Repository — (03-May-2009)

Installing and configuring Oracle Enterprise 10g Manager Grid Control has never 
been a straightforward task. The product itself is an overly complex and 
fragile web application with a considerable number of bugs. What makes matters 
worse is that the documentation for installing Enterprise Manager 10g Grid 
Control is truly lacking. For many, the installation will consist of scattered 
bits and pieces found on My Oracle Support and from performing numerous Google 
searches.

In an attempt to put all of the pieces together to successfully install and 
configure the latest release of Grid Control (10.2.0.5), I published a 
step-by-step instruction guide. This guide will walk the reader through setting 
up the Linux O/S, performing prerequisite tasks, downloading the required 
software, installing and patching Grid Control, configuring the newly installed 
Grid Control environment, and finally how to verify the Grid Control components 
are working properly.

The configuration will consist of the following components:

* Oracle Enterprise Manager 10g Grid Control Release 5 - (10.2.0.5)
* Red Hat Enterprise Linux 5 - (CentOS 5.3)
* Using an Existing 11g Database for the Management Repository

The newly published article can be found at:

Installing Grid Control (10.2.0.5) on RHEL 5 with 11g Database Repository

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Applying the Oracle Database 11g Patch Set 1 (11.1.0.7.0) on Linux — (01-May-2009)

Back in January 2008, I published a comprehensive guide for installing Oracle 
Database 11g R1 on the Linux platform (RHEL 5). I recently updated this article 
to include a new section on how to download and install the most recent 
11g Database Patch Set (11.1.0.7.0).

The updated article can be found at:

Installing Oracle Database 11g Release 1 on Linux - (RHEL 5)

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Cleaning a Tape Drive using Oracle Secure Backup — (26-April-2009)

Oracle Secure Backup (OSB) provides a reliable, centralized tape backup 
management solution which can be used to protect file system data as well as 
Oracle Database files. For Oracle Recovery Manager (RMAN) users, the Oracle 
Secure Backup SBT interface enables you to use the RMAN to back up and restore 
Oracle Database files to and from tape. Oracle Secure Backup supports nearly 
all tape drives and tape libraries in Storage Area Network (SAN) and Small 
Computer System Interface (SCSI) environments.

Oracle Secure Backup provides the ability to perform automatic tape drive 
cleaning as well as the option to manually clean a tape drive. The following 
article provides a brief overview of the tape cleaning functionality built into 
OSB.

Cleaning a Tape Drive using Oracle Secure Backup

Expect more article in the near future on the topic of Oracle Secure Backup.
Namely installation and configuration steps in OSB as well as implementing RMAN 
backup and recovery strategies using the SBT interface of OSB.

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Timing Oracle RMAN Operations — (21-April-2009)

Whether running an Oracle RMAN backup or a restore job, there are times when it 
becomes necessary to estimate the RMAN operations within that job. One quick 
solution, as demonstrated in this update, is to query the timing statistics 
found in the dynamic performance view v$session_longops.

The following query provides a simple example of how to use the timing data 
found in v$session_longops and join it to v$session to estimate currently 
running RMAN operations.

-------------------------------------------------------------------------------

SELECT
    sid                                             sid
  , serial#                                         serial_num
  , b.opname                                        opname
  , TO_CHAR(b.start_time, 'mm/dd/yy HH24:MI:SS')    start_time
  , b.totalwork                                     totalwork
  , b.sofar                                         sofar
  , ROUND( (b.sofar/DECODE(   b.totalwork
                            , 0
                            , 0.001
                            , b.totalwork)*100),2)  pct_done
  , b.elapsed_seconds                               elapsed_seconds
  , b.time_remaining                                time_remaining
  , DECODE(   b.time_remaining
            , 0
            , TO_CHAR((b.start_time + b.elapsed_seconds/3600/24), 'mm/dd/yy HH24:MI:SS')
            , TO_CHAR((SYSDATE + b.time_remaining/3600/24), 'mm/dd/yy HH24:MI:SS')
    ) done_at
FROM
       v$session         a
  JOIN v$session_longops b USING (sid,serial#)
WHERE
      a.program LIKE 'rman%'
  AND b.opname LIKE 'RMAN%'
  AND b.opname NOT LIKE '%aggregate%'
  AND b.totalwork > 0
ORDER BY
    b.start_time
/

-------------------------------------------------------------------------------

This script along with a collection of other useful database management scripts 
can be found at:

http://www.idevelopment.info/cgi/ORACLE_dba_scripts.cgi

----------------------------
Jeffrey M. Hunter, OCP
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Free Computer Magazines! — (20-April-2009)

IT Professionals continue to take advantage of receiving popular magazines 
online. Best of all, it's FREE! The revenue stream for magazine companies come 
from the ads placed inside the magazine as well as the subscription costs. As 
the subscriber base grows for a magazine so does the amount they can charge for 
ads which results in more money for the magazine company. In an effort to 
increase their subscriber base, magazine companies often give away 
subscriptions online.

To take advantage of this exciting opportunity, please visit the following 
address to sign up for your free subscriptions today.

http://idevelopment.tradepub.com

Just a few of the many categories include:

  --> Information Technology
  --> IT - Data Management
  --> IT - Security
  --> IT - Software & Development
  --> IT - Storage 

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Configuring an iSCSI Initiator on Solaris — (14-April-2009)

iSCSI technology continues to gain strength in the database community. With its 
low entry cost, simple configuration, and rapidly growing support, many 
organizations are seeking to take advantage of their high-speed IP backbone 
over that of a Fibre Channel (FC) network.

To gain a better understanding of how an Oracle database server can make use of 
an iSCSI target for storage, I put together a brief introduction on how to 
install and configure an iSCSI Target and an iSCSI Initiator on the Solaris 
platform.

The iSCSI Initiator software is a built-in package included with the Solaris 10 
Operating System. This article will also include instructions on how to 
configure an iSCSI Target using Openfiler.

The article can be found at:

Configuring an iSCSI Initiator on Solaris

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Configuring an iSCSI Initiator on Linux — (07-April-2009)

iSCSI technology continues to gain strength in the database community. With its 
low entry cost, simple configuration, and rapidly growing support, many 
organizations are seeking to take advantage of their high-speed IP backbone 
over that of a Fibre Channel (FC) network.

To gain a better understanding of how an Oracle database server can make use of 
an iSCSI target for storage, I put together a brief introduction on how to 
install and configure an iSCSI Target and an iSCSI Initiator (Open-iSCSI) on 
the Linux platform.

The Linux Open-iSCSI Initiator is a built-in package included with Red Hat 
Enterprise Linux 5 or later. This article will also include instructions on how 
to configure an iSCSI Target using Openfiler.

The article can be found at:

Configuring an iSCSI Initiator on Linux

Within the next several weeks, I will also publish this same article for 
configuring the iSCSI Initiator on the Solaris platform.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Snapshot Database - (Producing DBA Reports in HTML) — (18-April-2008)

DBA's rely on Oracle's data dictionary views and dynamic performance views in 
order to support and better manage their databases. Although these views 
provide a simple and easy mechanism to query critical information regarding the 
database, it helps to have a collection of accurate and readily available SQL 
scripts to query these views.

Over the years, I have published a vast array of Oracle DBA scripts that can be 
used to manage many aspects of the database including space management, 
performance, backups, security, and session management. Once the scripts have 
been put in place, they can be easily run from within SQL*Plus while logged in 
as a DBA user.

The following article provides a new approach to SQL scripting that allows the 
Oracle DBA to collect a wide array of metrics and statistics using a single 
script. This "Snapshot Database" script will contain a collection of useful 
queries that run as a whole and produce an eye-catching HTML report. The report 
will contain critical database information including installed options, 
storage, performance data, and security.

The featured "Snapshot Database" article is available at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Database_Administration/DBA_50.shtml

Currently, I have three separate Snapshot Database scripts available for each 
major Oracle release (8i, 9i, and 10g). The release for Oracle Database 11g 
will be released soon.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Removing a Node from an Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 4.5 / iSCSI) — (04-March-2008)

Although not as exciting as building an Oracle RAC or adding a new node and 
instance to a clustered database; removing a node from a clustered environment 
is just as important to understand for a DBA managing Oracle RAC 10g. While it 
is true that most of the attention in a clustered database environment is 
focused on extending the database tier to support increased demand, the exact 
opposite is just as likely to be encountered where the DBA needs to remove a 
node from an existing RAC environment. It may be that a server is being 
underutilized in the database cluster and could be better served in another 
business unit. Another scenario is a node failure. In this case, a node can be 
removed from the cluster while the remaining nodes continue to service ongoing 
requests.

I recently published an extension to two of my articles:

"Building an Inexpensive Oracle RAC 10g Release 2 on Linux - (CentOS 4.5 / iSCSI)"

and

"Adding a Node to an Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 4.5 / iSCSI)"

Contained in this new article are the steps required to remove a single node 
from an already running and configured three-node Oracle RAC 10g Release 2 
environment on the CentOS 32-bit (x86) platform. The node being removed is the 
third node I added in the second article. Although this article was written and 
tested on CentOS 4.5 Linux, it should work unchanged with Red Hat Enterprise 
Linux 4 Update 5.

The new article can be accessed using the following link:

Removing a Node from an Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 4.5 / iSCSI)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Adding a Node to an Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 4.5 / iSCSI) — (26-February-2008)

As your organization grows so too does your need for more application and 
database resources to support the company's IT systems. Oracle RAC 10g 
provides a scalable framework which allows DBA's to effortlessly extend the 
database tier to support this increased demand. As the number of users and 
transactions increase, additional Oracle instances can be added to the Oracle 
database cluster to distribute the extra load.

I recently published an extension to my article 
"Building an Inexpensive Oracle RAC 10g Release 2 on Linux - (CentOS 4.5 / iSCSI)". 
Contained in this new article are the steps required to add a single node to an 
already running and configured two-node Oracle RAC 10g Release 2 environment on 
the CentOS 32-bit (x86) platform. Although this article was written and tested on 
CentOS 4.5 Linux, it should work unchanged with Red Hat Enterprise Linux 4 
Update 5.

The new article can be accessed using the following link:

Adding a Node to an Oracle RAC 10g Release 2 Cluster on Linux - (CentOS 4.5 / iSCSI)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New Oracle Data Pump Scripts — (21-February-2008)

Oracle Database 10g users (and higher) should consider using the new Data Pump 
utility in place of the original Oracle import/export. The original export 
utility was deprecated in Oracle Database 10g Release 2, and is no longer 
supported for general use as of Oracle Database 11g. Going forward, Data Pump 
export (expdp) will be the sole supported means of exporting data from the 
database. The original import utility (imp) still ships with Oracle Database 
10g and Oracle Database 11g in order to support import of legacy dump files. 
The original import utility will be supported forever and will provide the 
means to import dump files from earlier releases (release 5.0 and later) that 
were created with the original export (exp). Please note that the original 
export dump files and the new Data Pump dump files are "not" compatible. You 
cannot read an original Oracle export dump file with Data Pump and vice versa. 
Neither client can read dump files created by the other.

Provided below are links to several shell scripts I wrote for both Unix and 
Microsoft Windows to perform a logical backup of an Oracle database using the 
new Data Pump feature as well as the original export utility. Note that Data 
Pump was first introduced in Oracle 10g which means that the Data Pump scripts 
will only work with Oracle Database 10g or higher. By default, these scripts 
perform a full and consistent backup of the database using a dynamically 
created parameter file that gets written to a temporary directory and run 
through the export utility using the "parfile" parameter.


Unix

dpump_backup_full.ksh - (Data Pump)
export_backup_full.ksh - (Original Export)


Microsoft Windows

dpump_backup_full.bat - (Data Pump)
export_backup_full.bat - (Original Export)


These shell scripts as well as many others are also included in the following 
Oracle DBA Scripts package:

dba_scripts_archive_Oracle.zip - (ZIP format)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Connecting to ASM through the TNS Listener from a Client Desktop — (29-January-2008)

By default, the Oracle Database Configuration Assistant (DBCA) does not 
configure the TNS listener to accept client requests to an ASM instance running 
from a different node. Access will be denied for clients like SQL*Plus, 
Perl DBI:DBD, and JDBC when attempting to connect to an ASM instance from a 
node other than the node running the ASM instance. When the service is created 
for an ASM instance, its status is BLOCKED:

[oracle@linux1 ~]$ lsnrctl status LISTENER_LINUX1 | grep ASM
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
  Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

This limitation puts restrictions on scripts and other client tools that want 
to monitor and manage an ASM instance from a different node. Getting around 
this restriction however is an easy task that involves manually creating a 
service name for the ASM instance.

The following article presents the steps required to access an ASM instance 
through the TNS listener from a client desktop. The database used in this 
article is a two-node Oracle RAC 10g clustered database where in fact there 
will two ASM instances (one ASM instance for each Oracle instance in the 
cluster). The database version is Oracle 10g Release 2 (10.2.0.3.0) running on 
CentOS 4.5 (or RHEL 4.5):

Connecting to ASM through the TNS Listener from a Client Desktop

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Installing Oracle Database 11g Release 1 on Linux - (RHEL 5) — (17-January-2008)

I recently published a comprehensive article on installing Oracle Database 11g 
Release 1 on Linux - (CentOS 5.1). This article should also work unchanged with 
the latest Red Hat Enterprise Linux 5.1.

Included in the article are detailed instructions for installing and configuring 
the Linux operating system to host the Oracle Database 11g Release 1 software and 
database. I also incorporated many tips that go beyond just simply installing 
the software to help newcomers to Oracle Database 11g better manage their 
database environment.

The new article can be found at:

Installing Oracle Database 11g Release 1 on Linux - (RHEL 5)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Installing Oracle Database 10g Release 2 on Linux - (RHEL 5) — (09-January-2008)

I recently published a comprehensive article on installing Oracle Database 10g 
Release 2 on Linux - (CentOS 5.1). This article should also work unchanged with 
the latest Red Hat Enterprise Linux 5.1.

Included in the article are detailed instructions for installing and configuring 
the Linux operating system to host the Oracle Database 10g Release 2 software and 
database. I also incorporated many tips that go beyond just simply installing  
the software to help newcomers to Oracle Database 10g better manage their 
database environment.

The new article can be found at:

Installing Oracle Database 10g Release 2 on Linux - (RHEL 5)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC 11g Release 1 / iSCSI / CentOS 5.1 — (03-January-2008)

First, I would like to wish everyone a Happy New Year!

This week I published the latest in a series of articles on how to build an 
inexpensive Oracle RAC system. This article focuses on Oracle's newest 
release — Oracle 11g Release 1 (11.1.0.6.0) as well as the latest version of 
CentOS (version 5.1).

As with its predecessor, this article provides detailed instructions on how to 
build a two-node Oracle RAC system using low cost hardware and freely available 
software. A network storage server will be built using Openfiler and iSCSI 
technology which will be used for all shared storage requirements. Powered by 
rPath Linux, Openfiler is a free browser-based network storage management 
utility that delivers file-based Network Attached Storage (NAS) and block-based 
Storage Area Networking (SAN) in a single framework. Openfiler supports CIFS, 
NFS, HTTP/DAV, FTP, however, I will only be making use of its iSCSI 
capabilities to implement an inexpensive SAN for the shared storage component 
required by Oracle RAC 11g.

The newly updated Oracle RAC 11g / iSCSI article can be found at:

Building an Inexpensive Oracle RAC 11g Release 1 on Linux - (CentOS 5.1 / iSCSI)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC 10g Release 2 / RHEL4 U5 / iSCSI — (08-September-2007)

This newly updated article builds on previous guides on how to build an 
inexpensive Oracle RAC 10g using commodity hardware.

This updated guide provides the following new features:

  - Installing and configuring the latest CentOS 4 Update 5 operating system
  - Installing the newest Openfiler 2.2 x86 (respin 2)
  - improved troubleshooting section
  - Enabling Archive Logs (ARCHIVELOG MODE) in a RAC Environment
  - Creating a shared Oracle password file
  - Installing the latest version of OCFS2 (Release 1.2.5-6)
  - Downloading and installing a collection of advanced Oracle DBA scripts

This most recent guide provides detailed instructions on how to build a two 
node Oracle10g R2 RAC using iSCSI (powered by Openfiler) for the shared storage 
device.

Powered by rPath Linux, Openfiler is a free browser-based network storage 
management utility that delivers file-based Network Attached Storage (NAS) and 
block-based Storage Area Networking (SAN) in a single framework. Openfiler 
supports CIFS, NFS, HTTP/DAV, FTP, however, I will only be making use of its 
iSCSI capabilities to implement an inexpensive SAN for the shared storage 
component required by Oracle10g RAC.

The newly updated Oracle RAC 10g / iSCSI article can be found at:

Building an Inexpensive Oracle RAC 10g Release 2 on Linux - (RHEL 4.5 / iSCSI)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  VMware Workstation 6.0 — (17-July-2007)

VMware Workstation 6.0 has been out for several months now and enjoying great 
success - (released on 09-MAY-2007). Some of the new feature to VMware 
Workstation 6.0 include:

  - Support for Windows Vista
  - Support for Red Hat Enterprise Linux 5
  - Support for High-Speed USB 2.0 Devices
  - Multiple Monitor Support
  - Increased RAM Support

For a full list of features included in this newest release, see the "VMware 
Workstation 6.0 Release Notes" at:

http://www.vmware.com/support/ws6/doc/releasenotes_ws6.html

Over the past week, I put together several new articles that provide detailed 
instructions for installing the VMware Workstation 6.0 software as well as 
creating virtual machines for Solaris 10 (x86) and CentOS Enterprise Linux 5 
(which can also be used for installing Red Hat Enterprise Linux 5).

Installing VMware Workstation 6.0 - (Windows XP)

Creating a New Virtual Machine - (CentOS Enterprise Linux 5.0)

Creating a New Virtual Machine - (Solaris 10)


VMware Workstation 6.0 provides me with a virtual machine that can run the 
Windows, Linux, or Solaris x86 operating system simultaneously with Windows XP 
on my laptop. This allows me the flexibility to perform new installs or test 
new features of the Oracle database while not interrupting my "somewhat" stable 
Oracle install on the laptop.

VMware Workstation 6.0 and a 30 day evaluation key can be obtained directly 
from the company's website:

http://www.vmware.com/

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------



  Enabling Archive Logs in Oracle RAC 10g — (13-July-2007)

Whether a single instance or clustered database, Oracle writes to its online 
redolog files in a circular manner. When the current online redolog fills, 
Oracle will switch to the next one. To facilitate media recovery, Oracle allows 
the DBA to put the database into "Archive Log Mode" which makes a copy of the 
online redolog after it fills (and before it gets reused). This is a process 
known as archiving.

While the Database Creation Assistant (DBCA) allows users to configure a new 
database to be in archive log mode, most DBA's opt to bypass this option. In 
cases like this where the database is in no archive log mode, it is a simple 
task to put the database into archive log mode using the following guide:

Enabling Archive Logs in a RAC Environment - (Oracle10g)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Free Computer Magazines! — (22-May-2007)

Computer professionals can now take advantage of receiving popular magazines 
online. Best of all, it's FREE! The revenue stream for magazine companies come 
from the ads placed inside the magazine as well as the subscription costs. As the 
subscriber base grows for a magazine so does the amount they can charge for ads 
which results in more money for the magazine company. In an effort to increase 
their subscriber base, magazine companies often give away subscriptions online. 
To take advantage of this exciting new opportunity, please visit 
http://idevelopment.tradepub.com to sign up for your free subscriptions today.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Erratic Mouse Behavior with Mouse on Linux and Belkin KVM Switch — (12-March-2007)

When using a Belkin KVM switch (and several others), you may notice erratic 
behavior with the PS/2 mouse when switching back and forth to a Linux machine 
running Red Hat Linux (and Mandrake 10). The PS/2 mouse will simply go nuts; 
jumping all around the screen with random button clicks when you try to move it 
anywhere! Often times, switching to a USB mouse will resolve the problem.

The root cause for this erratic behavior with the mouse rests in the fact that 
the PS/2 specification was not designed to be hot-pluggable. So, why is this a 
problem? Read on.

All PS/2 mice can work in what we will call "Basic PS/2 Mouse Mode"  no scroll 
wheel and only 2 or three buttons work. This is the default mode when the mouse 
initially gets power. To activate the scroll wheel and/or any extra buttons, 
the mouse must receive a special reset code. This switches the mouse to 
"Advanced Mouse Mode" and changes the mouse data protocol a little.

Many KVM switches may stop feeding power to the mouse when switching from one 
system to another. This causes the mouse to reset to "Basic PS/2 Mouse Mode". 
The system has no way of detecting that the mouse was reverted back to the 
basic mode. If the system was in a state where it had detected the mouse with 
"Advanced" capabilities and had sent it the appropriate reset code, it will 
expect the mouse to still be in "Advanced" mode and will misinterpret the mouse 
data (remember the mouse data protocol is different between Advanced and Basic 
mouse mode).

The following article provides several solutions that I have used to resolve 
this problem.

Erratic Mouse Behavior with Mouse on Linux and Belkin KVM Switch

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Connecting Oracle to MySQL using Oracle's Heterogeneous Services — (28-February-2007)

I recently updated an article that provides step by step instructions for 
installing and configuring Oracle's Heterogeneous Services (Oracle9i Release 2) 
to connect from an Oracle9i database running on Sun Solaris to MySQL running on 
a remote Linux machine.

The connection will utilize Oracle's Heterogeneous Services ODBC - generic 
connectivity (HSODBC) on Sun Solaris. This article can be used for Oracle 8i, 
9.0.1, and 10g releases running on either Solaris 9 or Solaris 10. Also note 
that this article has been tested with MySQL 4.0.20-standard running on Red Hat 
Linux - (Fedora Core 1) as well as MySQL 4.1.20 running on Red Hat Linux 4 
Update 4 (actually CentOS 4.4).

The newly updated article can be found at:
How to Setup HSODBC (Oracle9i on Solaris) to MySQL on Linux

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Update! Oracle RAC 10g Release 2 / VMware 5 / RHEL4 U4 — (20-February-2007)

This newly updated article builds on previous guides on how to build an 
inexpensive Oracle RAC 10g using commodity hardware. This most recent guide 
provides detailed instructions on how to build a two node Oracle RAC 10g R2 
using the latest version of VMware 5 Workstation (release 5.5.3). The cluster 
will consist of two virtual machines named vmlinux1 and vmlinux2 - each running 
CentOS 4.4 Enterprise Linux.

Both of the virtual machines will "virtualize" all of the required hardware 
components as required for an Oracle10g two node RAC configuration. For 
example, each of the virtual machines will be configured with two network 
interfaces - one for the public network and a second (running on a separate 
subnet) for the interconnect. With VMware, the process of creating additional 
hardware components for it to virtualize (i.e. network interfaces) is 
effortless. For the shared storage component, VMware will be used to virtualize 
several hard disks to be used for Oracle's physical database files (data, 
online redo logs, control files, archived redo logs). The new hard drives will 
be created using VMware on the first virtual node (vmlinux1) while the second 
virtual node (vmlinux2) will be configured to share them.

The newly updated Oracle RAC 10g / VMware 5 article can be found at:

Create an Oracle RAC 10g Release 2 using VMware Workstation 5 - (RHEL 4.4)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New! Oracle RAC 10g Release 2 / RHEL4 U5 / iSCSI — (15-February-2007)

This newly updated article builds on previous guides on how to build an 
inexpensive Oracle RAC 10g using commodity hardware. This most recent guide 
provides detailed instructions on how to build a two node Oracle RAC 10g R2 
using iSCSI (powered by Openfiler) for the shared storage device.

Powered by rPath Linux, Openfiler is a free browser-based network storage 
management utility that delivers file-based Network Attached Storage (NAS) and 
block-based Storage Area Networking (SAN) in a single framework. Openfiler 
supports CIFS, NFS, HTTP/DAV, FTP, however, I will only be making use of its 
iSCSI capabilities to implement an inexpensive SAN for the shared storage 
component required by Oracle RAC 10g.

The Oracle RAC 10g / iSCSI article can be found at:

Building an Inexpensive Oracle RAC 10g Release 2 on Linux - (RHEL 4.5 / iSCSI)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Update! Oracle RAC 10g Release 2 / FireWire 800 / RHEL4 U2 — (20-September-2006)

I have received many requests to upgrade my most recent article on installing 
and configuring Oracle RAC 10g R2 with FireWire to include some of the latest 
FireWire 800 hardware. This has been completed. Also updated is the ability to 
use Secure Shell (SSH) for remote access and user equivalence.

Please note that this article will mark the last in a series to make use of 
FireWire technology as the shared storage medium in order to build an 
inexpensive Oracle RAC 10g system. Future releases of this article will adopt 
the use of iSCSI; more specifically, building a network storage server using 
Openfiler. Powered by rPath Linux, Openfiler is a free browser-based network 
storage management utility that delivers file-based Network Attached Storage 
(NAS) and block-based Storage Area Networking (SAN) in a single framework. 
Openfiler supports CIFS, NFS, HTTP/DAV, FTP, however, I will only be making 
use of its iSCSI capabilities to implement an inexpensive SAN for the shared 
storage component required by Oracle RAC 10g.

The newly updated Oracle RAC 10g / FireWire article can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Oracle10gRAC/CLUSTER_10.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Data Protection Modes - (Oracle9i Release 2) — (05-September-2006)

With the introduction of 9i Release 2, Oracle Data Guard provides the ability 
to run the standby database in one of the following three mutually exclusive 
data protection modes: Maximum Protection, Maximum Availability, Maximum 
Performance. These three new modes replaced the Guaranteed, Instance, Rapid, 
and Delayed modes of data protection available in Oracle9i Release 1 (9.0.1). 
Each of the three modes provides a high degree of data protection; however they 
differ with regards to data availability and performance of the primary 
database. The DBA needs to carefully take into account the need to protect the 
data against any loss vs. availability and performance expectations of the 
primary database.

The following article provides complete coverage of the three data protections 
modes available in Oracle9i Release 2 and can be used when trying to decide on 
the one that best meets the needs of your business. Also explained in this 
article is how Log Transport Services works to support these new protection 
modes as well as the steps necessary to configure the standby database to the 
desired protection mode.

http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_3.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Moving ASM Database Files from one Diskgroup to Another — (21-August-2006)

There are times when it becomes necessary to move ASM database files from one 
diskgroup to another. As with most tasks that involve file management in ASM, 
RMAN is the easiest and preferred method as ASM files cannot be accessed 
through normal operating system interfaces. The typical method is to take the 
datafile(s) offline and use RMAN to make a copy of them. After the copy, update 
the data dictionary to reflect the location of the new datafile and then use 
RMAN to switch the database to use the new copy as the active datafile. Finally 
recover and bring the datafile(s) back online.

The following article details the steps required to move ASM files from one 
diskgroup to another using RMAN:

http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_36.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Migrating Databases from non-ASM to ASM and Vice-Versa — (16-August-2006)

Configuring and using Automatic Storage Management (ASM) is a fairly easy and 
straightforward process. Once the ASM instance is configured on a node and an 
ASM Disk Group is created, any database that resides on that node can start 
taking advantage of it.

But, what if on the node you just configured ASM on you already have an 
existing Oracle database which stores its database files using the local file 
system and now want to relocate the entire database to be stored in ASM? Well, 
as with most file management tasks that involve ASM, it's RMAN to the rescue!

I published the following article that explains the steps necessary to migrate 
an existing Oracle database stored on the local file system to ASM. This will 
include all datafiles, tempfiles, online redo logfiles, controlfiles, and all 
flash recovery area files. The article also contains a follow-up section that 
explains how the process works in reverse - migrating a database stored in ASM 
to a local file system.

Migrating Databases from non-ASM to ASM and Vice-Versa

To learn more about manually configuring ASM, see my article:

Manually Creating an ASM Instance

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Dropping a Target Database using RMAN — (14-August-2006)

Starting with Oracle10g Release 1, Oracle provides a method to completely drop a 
database with one simple RMAN statement - "DROP DATABASE". The only pre-requisite 
is that the database be mounted in exclusive mode with restricted sessions 
enabled.

For a detailed discussion on how to fully drop an Oracle10g database using RMAN, 
please see my article entitled:

Drop a Target Database using RMAN

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle Application Express 2.2 Now Available — (11-August-2006)

Oracle has just recently released its newest version of Oracle Application Express - Release 2.2.

Details for installing and configuring this newest release as well as getting started with managing APEX workspaces can be found at:

Installing Oracle Application Express 2.2

Managing Workspaces

Release 2.2 New Features

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Duplicate a Database in Flash Recovery Area using ASM to non-ASM Host using RMAN — (08-August-2006)

Your current backup and recovery strategy makes use of RMAN and creates its 
backupsets (backup pieces) in the Flash Recovery Area using ASM. Everything is 
working fine until one day you need to have access to these backup pieces from 
a regular non-ASM file system. The question then becomes, how do I restore 
backupsets (backup pieces) that are currently in ASM to my non-ASM file system? 
This is a common question when the DBA wants to use the RMAN backupsets to 
duplicate or copy a database to another host on a non-ASM file system. It also 
provides a means to test the integrity of your backups on another host!

The quick answer is to use the BACKUP BACKUPSET (and BACKUP ARCHIVELOG if 
necessary) RMAN statement to copy backupsets (backup pieces) out of ASM to the 
local non-ASM file system. Using this method, you are essentially utilizing 
RMAN to create another copy of the backupset(s) to the local file system that 
you want to use for creating a duplicate database on a host that does not have 
ASM in use. This second copy of the backupset(s) will be on the local file 
system where you can then FTP them to another host and use to duplicate the 
database.

I put together a detailed step-by-step approach to duplicate a database in ASM 
to a non-ASM system. The article can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_30.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Getting Started with Oracle Application Express 2.0 — (03-August-2006)

Oracle Application Express (APEX), formerly known as HTML DB, is a rapid web 
application development tool for the Oracle database. It provides programmers 
and even non-programmers with a fast and secure application development 
framework for developing and deploying professional applications using only a 
web browser. Oracle Application Express consists of several components:

  - A web browser
  - Oracle HTTP Server (or Oracle Application Server)
  - mod_plsql (included with the Oracle HTTP Server)
  - Oracle Application Express engine
  - Oracle Database - (Oracle9i Release 2 or higher)

For anyone wanting to take advantage of Oracle Application Express, I have 
several articles available to get you started. Please check back as I plan on 
providing much more with regards to Oracle Application Express administration 
and development as well as installation guides for newer releases.

Oracle Application Express - Links

Installing Oracle Application Express 2.0

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Archiving to an Archival Standby Database — (26-July-2006)

Introduced in Oracle9i R1, DBAs can now configure a database (for example, a 
primary database) to send its archived redo log files to an Oracle instance at 
a remote location which is only responsible for accepting and storing the 
archived redo log files. This remote location can serve as a repository 
(or backup) of nothing more than archived redo logs.

This remote location is known as an Archival Standby Database and is nothing 
more than an Oracle instance with a controlfile and no physical database 
associated with it. The controlfile can be a standby controlfile of the source 
database or a controlfile of another database.

The following article describes the steps necessary to configure a database to 
archive its redo log files to a remote archival standby database:

http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_7.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Creating / Recreating Database Control Repository in Oracle10g — (25-July-2006)

The command-line tool emca (Enterprise Manager Configuration Assistant) ships
with both Oracle10g R1 and Oracle10g R2 and is used to manage the Oracle
Enterprise Manager environment. The emca tool that ships with each release of
Oracle, however, uses a different set of options and parameters. With both
utilities, simply typing "emca" at the command-line will provide the usage and
a description of all options.

I put together two short articles that provide examples on how to use emca in
both Oracle10g R1 and Oracle10g R2 to create, drop, and recreate an Oracle
Database Control environment:

How to Recreate the Database Control Repository - (Oracle10g R1)

How to Recreate the Database Control Repository - (Oracle10g R2)

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Log Gap Detection and Resolution (Oracle9i R2) — (22-July-2006)

Oracle Data Guard 9i R2 provides several services that can assist the DBA in 
automatically detecting and resolving archive redo log gaps within a physical 
standby database configuration. This can include the automatic heartbeat that is 
performed by the primary database or by log apply services on the physical 
standby database using FAL_CLIENT and FAL_SERVER.

The article "Log Gap Detection and Resolution" provides insight into how archive 
redo log gap detection and resolution is handled by the Oracle database server 
and can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Data_Guard/DG_5.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Date Arithmetic in Oracle - Expressing Time with Fractions — (14-June-2006)

Anyone who has had to work with scheduling jobs in Oracle knows the frustration 
of having to deal with calculating a job's next date and internal using Oracles 
date arithmetic. This month I have made several updates to an already popular 
article that demonstrates the basics of representing time using Oracle's date 
math along with many useful examples. Although many of the examples are based on 
scheduling tasks to maintain and manage Statspack, they can be expanded to 
support any type of scheduled job.

The newly updated article can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/SQL/SQL_4.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Determining uptime of Server in Windows — (15-May-2006)

This newsletter includes the following topics:

  *) Determining uptime of Server in Windows

  *) Java Programming / ZIP Files Section
       - Fixed bug with "Recursive Directories" in UnzipFile.java


-------------------------------------------------------------
Determining uptime of Server in Windows
-------------------------------------------------------------

If you are a DBA working in the UNIX operating environment, you are 
undoubtedly familiar with the vast collection of useful utilities used 
to troubleshoot and analyze your system. One of those popular utilities 
is the "uptime" command" it is used to determine how long the server has 
been up and running. Now, if you are forced to work in a Windows 
environment, you will quickly realize that this command is not included 
with Windows by default. A quick and reliable way to determine how long 
a server has been up and running in a Windows environment is to use 
the "net statistics server" command. This is all detailed in the article:

Uptime for Windows - (2003, 2000, XP and NT)


-------------------------------------------------------------
Java Programming Section
-------------------------------------------------------------

Thanks to the watchful eyes of a recent user, I was able to correct
a bug found in the example Java program: UnzipFile.java. The intention 
of this example program was to demonstrate how to unzip the contents of
a ZIP archive using Java. The problem with the code I provided was that it
would not extract the contents of directories within the ZIp archive. This
problem has now been corrected and the new code can be found here:

http://www.idevelopment.info/data/Programming/java/zip/UnzipFile.java

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Resizing Temporary Tablespaces in Oracle — (18-January-2006)

In many database configurations, the DBA will choose to allow their temporary 
tablespace (actually the tempfile(s) for the temporary tablespace) to autoextend. 
A runaway query or sort can easily chew up valuable space on the disk as the 
tempfiles(s) extends to accommodate the request for space. If the increase in 
size of the temporary tablespace (the tempfiles) gets exceedingly large because 
of a particular anomaly, the DBA will often want to resize the temporary 
tablespace to a more reasonable size in order to reclaim that extra space.

The following article "Resizing Temporary Tablespace" provides the DBA with two 
methods for reclaiming the space used by excessive tempfiles and to get your 
temporary tablespace back to its original (or another reasonable) size.

The article is located at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Tablespaces/TBS_3.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Update! Oracle RAC 10g Release 2 / VMware 5 / RHEL4 U2 — (09-January-2006)

Several requests have been sent to upgrade my most recent article on installing 
and configuring Oracle RAC 10g R2 with VMware to include the latest 5.5 and 5.5.1 
releases or VMware Workstation. I recently completed testing and the new article 
has been modified to now work with VMware Workstation 5.0, 5.5 and 5.5.1.

The modified article can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/VMware_Workstation_50/VMWARE_31.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC 10g Release 2 / VMware 5.0 / RHEL4 U2 — (02-January-2006)

Over the past few years, I have been writing about solutions that allow Oracle 
DBA's to install and configure Oracle RAC using inexpensive hardware. One of 
the more popular solutions I have used in the past was to deploy FireWire 
technology as the shared storage component of the RAC cluster. This allows the 
Oracle DBA to experience the benefits of RAC for testing, learning, and 
development purposes without incurring the high cost of the requirement 
hardware.

This month I present a similar solution that makes use of a single computer and 
VMware 5.0. Two virtual machines will be created on a single host computer. The 
shared storage will be created by configuring VMware to virtualize several hard 
disks. By making a few modifications to each of the virtual machine's 
configuration files, VMware will allow one or more disks to be shared as 
required by Oracle RAC.

The article entitled "Create an Oracle RAC 10g using VMware Workstation 5.0 - 
(CentOS Enterprise Linux 4.2)" can be found at:

http://www.idevelopment.info/data/Oracle/DBA_tips/VMware_Workstation_50/VMWARE_31.shtml

Over the next several weeks, I will be verifying this installation with the 
latest VMware 5.5.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Update! - Oracle RAC 10g Release 2 / FireWire / RHEL4 U2 — (20-December-2005)

In October, I released the article "Building an Inexpensive Oracle RAC 10g Release 2 
on Linux - (RHEL 4.2)". When this article was originally published, 
it was required to download and install both a new Linux kernel, 
(e.g. the Oracle Technet Supplied 2.6.9-11.0.0.10.3.EL #1 Linux kernel), and the 
supporting FireWire modules. As of November 2005, oss.oracle.com now provides 
compiled FireWire modules for the 2.6.9-22.EL and 2.6.9-22.0.1.EL Linux kernels. 
Installing a new Linux kernel is no longer required. You will only need to 
install and configure the supporting FireWire modules!

For access to the updated article, please navigate to:

http://www.idevelopment.info/data/Oracle/DBA_tips/Oracle10gRAC/CLUSTER_10.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle Programming with Perl DBI / DBD — (21-November-2005)

For anyone considering writing Perl to access an Oracle database, the following 
article should provide useful to anyone wishing to install and configure DBI and 
DBD:Oracle on the UNIX platform:

http://www.idevelopment.info/data/Oracle/DBA_tips/Programming/PROGRAMMING_2.shtml

Complete instructions for downloading, installing and configuring 
DBI / DBD:Oracle are include along with a sample Perl script that includes many 
of the common interfaces used to access the Oracle database.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Connecting to SQL Server 2000 from Linux using Perl DBI — (11-November-2005)

DBAs and system administrator have long relied on scripting to automate complex 
and tedious tasks. For most administrators, the choice is Perl. Given the fact 
that Perl is open source, available on almost all O/S platforms and extremely 
modular, many popular modules have been developed to extend the language. 

DBAs for example, have enjoyed the ease of scripting database functions using 
the "Database independent interface for Perl" or better known as DBI. Using DBI 
to access popular database like Oracle and MySQL is straightforward. Simply 
install the corresponding DBD database driver module for your database (i.e. 
Oracle, MySQL) and write your scripts to the DBI interface. But what about 
Microsoft SQL Server 2000? If you were to take a quick glance at the available 
DBD modules at CPAN.org, you will notice that one does not exist for SQL Server!

This is not a problem if your scripts are already running on a Windows platform.
You can simply use DBD::ADO. But what about us Linux users?

Well, this is where the DBD::Sybase driver module and FreeTDS come in. I 
provide a detailed explanation and steps to use in order to access Microsoft 
SQL Server 2000 from the Linux platform using Perl DBI. 

For access to the article, please navigate to:

http://www.idevelopment.info/data/MSSQL/DBA_tips/Programming/PROG_2.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle Announces Free Database - (Oracle Database 10g XE) — (02-November-2005)

(*) Introduction

Oracle recently announced Oracle 10g Express Edition (XE) - 
a small footprint database that's free to download, develop, 
deploy, and distribute.

The latest Oracle Press Release can be found at:

http://www.oracle.com/corporate/press/2005_oct/103105_databasexe_finalsite.html

(*) Download

Oracle Database XE is currently in beta and is available for both Linux x86 
and Windows.

http://www.oracle.com/technology/software/products/database/xe/index.html

(*) Support

Users can register with Oracle Technology Network (OTN) to receive free access 
to an online support forum hosted and monitored by Oracle experts. Tom Kyte 
provides users advice, best practices, and troubleshooting information for 
Oracle Database XE.

Forum registration is possible only by downloading and installing Oracle 
Database XE (currently in Beta release; production release scheduled for late 
2005). After installation, click on the "Registration" link from the Database 
homepage.

(*) Further Reading

You can read much more about Oracle Database 10g Express Edition by visiting:

http://www.oracle.com/technology/products/database/xe/index.html

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC 10g Release 2 / FireWire / RHEL4 U2 — (06-October-2005)

By popular demand, I recently posted an update to my article for installing and 
configuring Oracle RAC 10g Release 2 on Linux using FireWire as the shared 
storage. This type of configuration allows DBAs to setup an inexpensive 
Oracle RAC 10g Release 2 environment for testing purposes. (I stress the fact that this 
configuration is to be used for testing purposes only and is not supported by 
Oracle, myself, or any of the vendors contained in the article!)

The article was written with RHEL4 U2 in mind, but I used CentOS 4.2 as this is 
a free clone of the actual RHEL4 U2 product (compiled from the actual RHEL source 
code). I also make use of Oracle Cluster File System Release 2 (OCFS2) and 
ASMLib 2.0. 

For access to the article, please navigate to:

http://www.idevelopment.info/data/Oracle/DBA_tips/Oracle10gRAC/CLUSTER_10.shtml

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Scripting Email in Windows — (16-September-2005)

If you are a DBA working in a Microsoft Windows environment, it is not uncommon 
for the need to send (and sometimes) receive email from within your scripts. 
Many solutions exist for UNIX, but in Windows, your options are limited - until 
now.

Two command-line utilities - "Blat" and "Getmail for Windows" have been 
available for several years and can really make life easy when the requirement 
to send (and receive) email exists in Windows.

I recently put together two articles that can assist those who need to get 
familiar with setting up the Simple Mail Transfer Protocol (SMTP) server for 
Windows and another dedicated to getting started with Blat and Getmail for 
Windows.

Configuring SMTP on Windows

Sending and Receiving Email in Windows From Scripts

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  August 2005 Update — (04-August-2005)

This newsletter includes the following topics:

  *) Removing a Node from an Oracle10g RAC Cluster - (RHEL 3)
  *) Manually Creating an ASM Instance
  *) How to use Files in place of Real Disk Devices for ASM in
     - Linux
     - Solaris
     - Windows
  *) Adding / Dropping Disks From a ASM Disk Group
  *) ASM SQL Scripts


-------------------------------------------------------------
Removing a Node from an Oracle10g RAC Cluster - (RHEL 3)
-------------------------------------------------------------

Any DBA working with Oracle Real Application Clusters (RAC) 
should know how to effectively add and remove nodes from a 
clustered database environment. In March 2005, I provided an 
article that details the steps required to add a node to an 
already running cluster. This month, I provide a follow up 
article that documents how to remove a node. The article is 
located at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Oracle10gRAC/CLUSTER_22.shtml


-------------------------------------------------------------
Manually Creating an ASM Instance
-------------------------------------------------------------

If you are a DBA working with ASM you may be familiar with 
how to use the Oracle Database Configuration Assistant (DBCA) 
to create an ASM instance. I provide an article that documents 
the steps to manually create and configure an ASM instance. 
This article is located at:

http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_10.shtml


-------------------------------------------------------------
How to use Files in place of Real Disk Devices for ASM
-------------------------------------------------------------

Are you a DBA who wants to become familiar with ASM but 
doesn't have the bank account for a fully equipped SCSI disk 
array? Well, in July I wrote several articles that offer an 
alternative to creating ASM disk groups on real RAW disks. 
These articles demonstrate how the DBA can use blank padded 
files in place of real disk devices for use by ASM. Although 
this will never be a supported configuration in production, 
it does give the DBA the ability to become familiar with 
this ASM features. I have articles that demonstrate how to 
configure this for Windows, Linux, and Solaris: 

Windows
-------
http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_22.shtml

Linux
-----
http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_20.shtml

Solaris
-------
http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_21.shtml


-------------------------------------------------------------
Adding / Dropping Disks From a ASM Disk Group
-------------------------------------------------------------

As the title indicates, this article provides the steps the 
DBA would take to effectively add and remove disk from an 
ASM disk group. Naviage to: 

http://www.idevelopment.info/data/Oracle/DBA_tips/Automatic_Storage_Management/ASM_12.shtml


-------------------------------------------------------------
ASM SQL Scripts
-------------------------------------------------------------

As always, I continue to update the Oracle DBA Scripts 
section of my website to include SQL scripts that enable the 
DBA to manage and monitor the Oracle database environment. 
Now available are a set of scripts that can be used to view 
all metadata available to manage ASM. From the topics menu 
of my website (http://www.idevelopment.info), navigate to 
Oracle | DBA Scripts.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  May 2005 Update — (24-May-2005)

This newsletter includes the following topics:

  *) How to Recreate the Database Control Repository - (Oracle10g)
  *) Adding a Node to an Oracle10g RAC Cluster - (RHEL 3) 
  *) New Statspack SQL Scripts for Oracle10g
  *) Search and Replace with REPLACE Function



-------------------------------------------------------------
How to Recreate the Database Control Repository - (Oracle10g)
-------------------------------------------------------------

If you have ever been in the situation where you needed to re-create the EM 
Database Control Repository, a new article on my site provides a step-by-step 
approach to achieve this. This article can be located at 
http://www.idevelopment.info/ and from the Topics menu navigate to 
"Oracle" -> "DBA Tips" -> "Enterprise Manager" -> "How to Recreate the Database 
Control Repository - (Oracle10g)".


-------------------------------------------------------------
Adding a Node to an Oracle10g RAC Cluster - (RHEL 3)
-------------------------------------------------------------

I completed a new article that describes how to add a new node to an 
existing 10g RAC configuration. This article uses an existing two-node 
RAC configuration and describes how to add another Linux node (using RHEL 3) 
to a shared FireWire drive. The article can be located at 
http://www.idevelopment.info/ and from the Topics menu navigate to 
"Oracle" -> "DBA Tips" -> "Oracle10g RAC" -> 
"Adding a Node to an Oracle10g RAC Cluster - (RHEL 3)".


-------------------------------------------------------------
New Statspack SQL Scripts for Oracle10g
-------------------------------------------------------------

I recently updated all scripts within the Statspack section 
of the "Oracle DBA Scripts" page to work with Oracle10g. These scripts 
can be found at http://www.idevelopment.info/ and from the Topics menu navigate 
to "Oracle" -> "DBA Scripts" -> "Statspack".


-------------------------------------------------------------
Search and Replace with REPLACE Function
-------------------------------------------------------------

Did you know that is possible to replace string content 
using the build-in REPLACE function in Oracle? 

In the following example, I want to replace all occurances of 
"http://secure." with "https://secure." within 
the table "company_config": 

    UPDATE company_config
    SET company_url = REPLACE(company_url, 'http://secure.', 'https://secure.')
    WHERE company_url like 'http://secure.%';

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  April 2005 Update — (15-April-2005)

This newsletter includes the following topics:

  *) New Oracle DBA Scripts
  *) Killing Runaway Oracle Processes on Windows with OraKill
  *) Installing Oracle10g on Solaris 9


-------------------------------------------------------------
New Oracle DBA Scripts
-------------------------------------------------------------


During the month of March, I introduced several new sections to the Oracle DBA 
Scripts page. Some of the new sections include "Automatic Storage Management - 
(ASM)", "Oracle Wait Interface - (OWI)", and "Workspace Manager". Note that the 
ASM scripts require you be logged into the actual ASM instance (i.e. +ASM). 

These new sections and many other helpful Oracle DBA scripts can be found by 
going to http://www.idevelopment.info/ and from the Topics menu navigate to 
"Oracle" -> "DBA Scripts". Follow the directions in the README.txt 
for configuring your system.


-------------------------------------------------------------
Killing Runaway Oracle Processes on Windows with OraKill
-------------------------------------------------------------

A new article on the site provides details on how to kill runaway Oracle 
processes in Microsoft Windows using the orakill.exe command-line utility. The 
OraKill utility is included with the Oracle database on all Windows platforms. 
It allows the DBA to kill an Oracle session directly from an MS-DOS 
command-line without requiring any login connection to the database. 

This article can be found on the site by navigating to 
"Oracle" -> "DBA Tips" -> "Microsoft Windows" or by using the link 
http://www.idevelopment.info/data/Oracle/DBA_tips/Microsoft_Windows/WINDOWS_1.shtml.


-------------------------------------------------------------
Installing Oracle10g on Solaris 9
-------------------------------------------------------------

Another new article to the site that is gathering a lot of attention is a 
detailed guide on installing Oracle10g on the Solaris 9 Operating Environment. 
This newest article provides the necessary steps to install and configure 
Oracle10g using a SCSI disk array (on a single channel with 6 disks) using 
Automatic Storage Management (ASM). 

This article can be found on the site by navigating to
"Oracle" -> "DBA Tips" -> "Unix" or by using the link 
http://www.idevelopment.info/data/Oracle/DBA_tips/Unix/UNIX_32.shtml.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New Windows VBS and Jscript Examples — (23-March-2005)

I added a new section to the site dedicated to scripting examples in the Microsoft
Windows environment using VBScript and JScript. With most of the scripts, 
I provide an implementation in both scripting languages. To access this section of
the site, use the Topics menu (left) and navigate to "Programming | Windows 
Scripting". If you are new to Windows Scripting Host (WSH), take a look
at the "Templates" section and view the files "Template.js" and "Template.vbs".

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Build Your Own Oracle RAC 10g Cluster on Linux and FireWire — (14-March-2005)

My latest article featured on OTN documents how to set up and configure an Oracle 
RAC 10g development cluster for less than US$1,800. This test configuration 
consists of two nodes (running Linux RHEL 3) with shared access to an IEEE1394 
(FireWire) hard drive. All physical database files will be configured with ASM 
while the two shared files required by CRS (Oracle Cluster Registry and CRS 
Voting Disk) will be hosted on Oracle Clustered File System (OCFS V1).

This guide does not work (yet) for the latest Red Hat Enterprise Linux 4 release 
(Linux kernel 2.6). Although Oracle's Linux Development Team provides a stable 
(patched) precompiled 2.6-compatible kernel available for use with FireWire, a 
stable release of OCFS version 2 (which is required for the 2.6 kernel) is not yet 
available. When that release becomes available, I will be update this guide to 
support RHEL4.

To access this document, navigate to:

http://www.oracle.com/technology/pub/articles/hunter_rac10g.html

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  November 2004 Update — (19-November-2004)

This newsletter includes the following topics:

  *) New Oracle DBA Scripts
  *) Oracle9i Data Guard White Paper, by Michael New
  *) New Features in Oracle9i E-Book, by Howard J. Rogers
  *) Why Fedora Core 1 and not Fedora Core 2 for Oracle9i 
     RAC on Linux / FireWire White Paper?
  *) Windows VBS and Jscript Examples - Coming Soon


---------------------------------------------------
New Oracle DBA Scripts
---------------------------------------------------

Many new scripts have been added to the Oracle DBA Scripts section of the site. 
Included are scripts that allow the DBA to compare schemas, report on jobs, and 
better manage Statspack. Expect many more scripts in the next several weeks 
that allow the DBA to report on security and tuning as well as UNIX shell and 
Windows batch scripts.

To reach to the Oracle Database Scripts page, to go 
http://www.idevelopment.info/ and from the Topics menu, navigate to
"Oracle" -> "DBA Scripts". Follow the directions in the README.txt for 
configuring your system.


---------------------------------------------------
Oracle9i Data Guard White Paper, by Michael New
---------------------------------------------------

While researching for information on setting the FAL_CLIENT and FAL_SERVER 
initialization parameters for Oracle9i Data Guard, I was very fortunate to run 
across a white paper by Michael New entitled "Implementing Oracle9i Data 
Guard". I quickly found the answer I was looking for in this article, and was 
pleased to find other fine points that could not be found in any of Oracle's 
official documentation. Mr. New's white paper goes far beyond a simple overview 
of Oracle's Data Guard features, but rather provides thorough examples, best 
practices, and recommended configurations. 

The white paper is organized with well-constructed examples that allow the 
reader to follow along on their own Oracle database to help further clarify 
features. 

A link to Mr. New's article can be found by navigating to 
http://www.idevelopment.info/ and from the Topics menu, navigate to 
"Oracle" -> "DBA Tips" -> "Data Guard - (Oracle9i)" -> 
"Implementing Oracle9i Data Guard - (by Michael New)". 


---------------------------------------------------
New Features in Oracle9i E-Book by Howard J. Rogers
---------------------------------------------------

For those of you familiar with Howard Rogers' earlier Oracle9i New Features 
document, you will be happy to know that he has completely re-written his 
popular e-book to include many of the enhancements and new features available 
in Oracle9i Release 2. 

The book is organized with well-constructed examples that allow the reader to 
follow along on their own database to help further clarify new features. 

The New Features in Oracle9i E-Book is available from O'Reilly using the link 
below: 

http://www.oreilly.com/catalog/oracle9ipdf/


---------------------------------------------------
Why Fedora Core 1 and not Fedora Core 2 for Oracle9i
RAC on Linux / FireWire White Paper?
---------------------------------------------------

By far, one of most popular articles this year on my website is a step-by-step 
white paper on how to install and configure Oracle9i RAC on Linux using 
FireWire technology. A common question I receive regarding this white paper is 
why I didn't use Fedora Core 2 or Core 3 as opposed the legacy Fedora Core 1.

I made a significant effort to get this configuration to work with Red Hat 
Linux - Fedora Core 2 with no success. The primary reason this configuration 
did not work was due to incompatibilities with the modified 2.4 Linux kernel 
that needs to be downloaded and applied (provided by Oracle's Linux Projects 
development group) and the way kernel modules are handled in Fedora Core 2. 

Fedora Core 2 includes the 2.6 kernel and makes use of the 
file /etc/modprobe.conf to exclusively control administrating kernel modules. 
This is unlike how kernel modules were handled in the 2.4 kernel where 
configuration information was contained in both the /etc/modprobe.conf 
and /etc/modules.conf configuration files. Starting with the 2.6 kernel, 
the /etc/modules.conf file has been phased out and only /etc/modprobe.conf is 
used. 

The format and syntax for these two files are similar, but not exact. When the 
2.4 Linux kernel boots, it will look for a file called /etc/modules.conf. I 
tried to copy the /etc/modprobe.conf file to /etc/modules.conf and take out 
everything but the bare essentials for the server to work (i.e. Network 
settings). No matter how I tried to configure the /etc/modules.conf for the 
Linux 2.4 kernel, I could not get it to accept the settings for networking and 
the ieee1394-controller. After several attempts in getting this configuration 
to work, I decided to use Fedora Core 1 since it uses the 2.4 kernel and made 
applying the modified 2.4 kernel an easy task.


---------------------------------------------------
Windows VBS and JScript Examples - Coming Soon
---------------------------------------------------

Within the month of December, I will be putting together a set of VBS and 
JScript Windows scripts that support the Windows Scripting Host. My initial 
task will be to introduce the Windows Scripting Host environment along with 
reasons for using the VBS and JScript engines. Once this is complete, I 
will start to introduce Windows scripts (using both VBS and JScript) that 
provide support for accessing databases, namely Oracle, SQL Server, and MySQL.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Improved Oracle Database Scripts Page and Free DDL Wizard Toolkit — (11-October-2004)

This newsletter includes the following topics:

  *) Improved Oracle Database Scripts Page
  *) Free DDL Wizard Toolkit
  *) Oracle9i Data Guard

--------------------------------------
Improved Oracle Database Scripts Page
--------------------------------------

During the last week, I was able to improve the Oracle Database Scripts page 
by providing an archived file of all scripts that can be downloaded at one 
time. This archived file can be unzipped (or un-tar'd for UNIX) to your 
$ORACLE_HOME directory. After setting a few environment variables, you are then 
ready to go.

To reach to the Oracle Database Scripts page, to go 
http://www.idevelopment.info/ and from the Topics menu, navigate to
"Oracle" -> "DBA Scripts". Follow the directions in the README.txt for 
configuring your system.

--------------------------------------
Free DDL Wizard Toolkit
--------------------------------------

DDL Wizard is a tool that can be used by Oracle DBAs and Developers to reverse 
engineer Oracle export files (dump files) to display and manipulate the DDL 
CREATE statements contained within them. The tool basically extracts the DDL 
structure from an export file and runs on a Windows PC. Simply download the 
self-extracting executable from the site http://www.ddlwizard.com/. At the time 
of this writing, the current version of the DDL Wizard is 04.01.01 and is 
around 2.2 MB in size.

After downloading the executable (ddlwizard_install040101.exe), simply 
double-click to start the installation processes. During the install, you will 
be asked to obtain a license key. This does require you to complete an online 
form that asks for your Name, Company, E-mail address, and Country. After 
submitting this information, you will then be given an activation key. At the 
end of the installation is a quick tutorial that walks you through the basics 
steps for extracting DDL.

--------------------------------------
Oracle9i Data Guard
--------------------------------------

A new section has been created within the DBA Tips page to include articles on 
creating and managing Oracle Data Guard. For now, I have a single article that 
introduces you to Oracle Data Guard 9i and provides the steps necessary to 
install and configure a two node configuration.

I have several more articles specific to Oracle9i Standby Database, but will 
soon be adding more about 10g soon after.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle RAC on Linux Installation Update — (31-August-2004)

Since the republication of my article "Building an Inexpensive Oracle9i RAC 
Configuration on Linux" on Oracle Technology Network (OTN), I have received 
several messages with suggestions and questions about the use of FireWire 
technology. I have attempted to answer these messages by updating the article 
both on OTN and on this website. To view the updated article from this website, 
use the Topics menu on the left frame and navigate to "Oracle" -> "DBA Tips" 
and then scroll to the "Linux" section where you will find the 
article "Building an Inexpensive Oracle9i RAC Configuration on Linux". You can 
also go to Oracle's OTN website at http://otn.oracle.com.

I also updated the installation guide on this website for installing Oracle9i 
(9.2.0.5.0) on Fedora Core 2. This article can be found in the same section as 
mentioned above.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle's Heterogeneous Services — (07-August-2004)

I recently started a new section and published an article within the Oracle DBA 
Tips section for Heterogeneous Services (HS). The article describes, 
step-by-step, how to configure Oracle's HS to connect from an Oracle database 
running on Solaris to a MySQL database running on Linux.

If you have never used HS in Oracle, it is an excellent technology built into 
Oracle for accessing and modifying data that may reside in a remote / foreign 
(non-Oracle) database. From a user's point of view, they can access and modify 
data in a remote (non-Oracle) database just as if it were a local set of Oracle 
tables.

As time permits, I will continue to expand this section with other 
configurations as well as advanced features and administration of Oracle's 
Heterogeneous Services.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  August 2004 Update — (01-August-2004)

Throughout July, I was able to concentrate on several articles dedicated to 
Unix Administration and Oracle running on Unix. All of these articles are 
available from the left frame topics menu under "Unix". Included are custom 
documents for installing Solaris 8 and Solaris 9 on SPARC as well as installing 
Oracle8i and Oracle9i on Solaris. 

In the August timeframe, I have several articles planned for configuring 
Heterogeneous Services, Oracle Streams, and continuing on Oracle9i New 
Features. 

On a personal note, I am proud to announce that I will be working for DBA Zone, 
Inc. (http://www.dbazone.com) starting on August 16, 2004. This is a great move 
and I look forward to building on the enormous success that the company has 
already developed.

As always, I welcome your comments and suggestions for the site.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New Posted Publications — (08-June-2004)

This month I have had several re-publications centered on 
supporting Oracle on Linux:

OTN:
http://otn.oracle.com/pub/articles/hunter_rac.html

SearchOracle.com
http://searchoracle.techtarget.com/featuredTopic/0,290042,sid41_gci968437,00.html

If you are working with Oracle on Linux, I am hoping that any of these articles
provide useful information.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle9i RAC on Linux — (10-May-2004)

I was able to complete the long awaited article entitled "Building an 
Inexpensive Oracle9i RAC Configuration on Linux". This article provides a 
comprehensive overview to installing and configuring an Oracle9i RAC system 
using Red Hat Linux (Fedora Core 1) and using FireWire technology for the 
shared storage device. I ran into several complications last year when 
configuring the Linux kernel to recognize the shared storage device (the shared 
FireWire hard drive) in non-exclusive mode. The problem was with the FireWire 
drive that I purchased. It did not contain the Oxford 911 chipset, which is one 
of the requirements in order for the Linux kernel to obtain multiple logins to 
the disk. I then purchased a drive that I knew contained the proper chipset 
(Maxtor One Touch 200GB USB 2.0 / Firewire External Hard Drive). 

To access the article, visit the website site:

http://www.idevelopment.info

Navigate the topics menu (left frame) to:

"Oracle -> DBA Tips -> Oracle9i RAC ->
  Building an Inexpensive Oracle9i RAC Configuration on Linux"

This article will be appearing on otn.oracle.com in the coming months.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  January 2004 Update — (24-January-2004)

I hope everyone is enjoying the New Year. Here is an update as to some of 
the additions and changes to the www.idevelopment.info website.

Several new articles on installing and configuring the Concurrent Versions 
System (CVS). I have several new articles planned for this section that include 
on to maintain the CVS Repository along with other helpful tips. To access 
these articles, navigate from the topic menu to "Programming | Change 
Management".

The Oracle DBA Tips section now includes an Index at the top of the page that 
allows quick access to all folders. Also within the Oracle DBA Tips section, I 
added a section on Recovery Manager (for release 9i) that I plan to populated 
within the next month. To access the Oracle DBA Tips section, navigate 
to "Oracle | DBA Tips".

Lastly, I enhanced the performance of the built in Search Engine for the site. 
Searches now occur much faster over a broader range of content.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Change Management / IDE Development Solutions — (14-December-2003)

Over the past several weeks, I added several new sub-sections under the 
Programming section dedicated to "Change Management" and "IDE Development" 
solutions. Both sections are available under the "Programming" link from the 
left Topics menu.

Included in the "Change Management" section are articles on configuring and 
managing Oracle Software Configuration Manager (Oracle SCM) and a brief 
introduction to WinCVS.

Within the IDE Development section, two articles are present on working in 
Oracle JDeveloper and IntelliJ IDEA.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New LDAP Section — (14-December-2003)

Last week, I added a new section to the website dedicated to LDAP technologies. 
At this time, I have completed only two articles that primarily deal with 
Oracle's LDAP features: "Oracle Internet Directory (OID) - Version 9.2.0". 
This includes installing and configuring OID along with configuring Net8 to use 
an LDAP directory for Name Resolution.

Some of the articles to come over the next week will include definitions of 
LDAP and it's specifications along with others that will detail ways in which 
to deploy LDAP within your organization.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New UNIX Section — (16-November-2003)

Over the last month, I have added a new section to the website dedicated to 
Unix technologies. This new section (available from the "Unix" link in the 
Topics menu) will provide users with insight into general Unix tasks along with 
specifics on Solaris and Linux. Some topics of interest include installation 
instructions, using serial consoles, network configuration, configuring RAID 
using Solstice DiskSuite, and other storage management issues. I also included 
a section for Oracle DBAs running the Oracle RDBMS in a Unix environment. Have 
fun with it and let me know if you have anything you would like to add.

In my last email, I indicated that I would be working on "Building an 
Inexpensive Oracle9i RAC Configuration on Linux". This undertaking has brought 
with it some complications in getting the Linux kernel to recognize the shared 
storage device (the shared FireWire hard drive) in non-exclusive mode. While I 
indicate that there is a kernel available (in RPM format) that can be 
installed, I have been unsuccessful in getting it to work properly. For some 
reason the first machine to boot still grabs the shared storage device in 
exclusive mode, which prevents access from the second Linux server. I will be 
sending a note to the author to see if this could be a hardware issue, or 
simply a kernel that cannot be used with Red Hat professional edition. (They 
used Red Hat Advanced Server 2.l) Although this shouldn't be an issue, I have 
tried just about everything. As soon as I find a solution to this issue, I will 
be completing the installation portion of the document and sending it out in 
the next newsletter. Wish me luck!

Like always, I have added several new Java modules under the Programming -> 
Java section. Also fixed a bug in the module "Generate random numbers within a 
given range" (RandomNumberBounds.java). (Many thanks to Chris Wood for catching 
this one!)

Last but not least, I re-organized the MySQL section to make accessing DBA Tips 
and Scripts similar to that in the Oracle and SQL Server section.

This will be the last Newsletter before Thanksgiving day. With that said, have 
a great Thanksgiving and expect more to be included on Oracle9i RAC, UNIX, and 
Java in the very near future.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle9i on RAW using Linux and LVM — (05-October-2003)

Over the last week, I made the following changes:

1.) Under the "Oracle" -> "DBA Tips" -> "Linux" section, I added an article
on creating an Oracle9i (9.2.0) database on Linux using RAW devices. This 
document presents the use of the Logical Volume Manager available on must 
Linux distributions. The Linux distribution in this example uses Red Hat 
Professional 8.0. 

2.) Added completely new section to the website dedicate to UNIX. The new
UNIX is available from the Topics menu frame. Many more articles and links
will be available for installing and configuring UNIX systems.

3.) The "Oracle" -> "DBA Scripts" section has been completely updated with
several scripts for Oracle9i.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  LOBs / Java Programming — (22-September-2003)

New in the Oracle -> DBA Tips portion of the website is a section dedicated 
to handling LOBs. Several notes provide and overview of how to maintain LOBs 
in Oracle then leading to several examples in PL/SQL and Java.

You will also find many new sections and examples in the 
Programming -> Java portion of the website including JDBC, Swing, JNDI, 
and Patterns. As time permits within the next month, I will be adding 
many more examples to the JDBC and JNDI sections.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New Hosting Site — (19-September-2003)

During the last several nights, I have been working on moving 
iDevelopment.info to a more stable hosting site (pair.com). For 
those attempting to access the site during the past several months 
already know that it has not been available during most of this 
period.

I will be sending another newsletter within the next several weeks 
indicating changes and new additions to the site. For now, you will 
notice many additions to the Programming -> Java and 
Oracle -> DBA Tips sections.

Thank you for your patience during the past several months.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  July 2003 Update — (06-July-2003)

Hello everyone. Hope you are enjoying the beginning of summer.
It has been awhile since my last newsletter and several major 
changes to the content and organization of the website have 
taken place.

As noted in my last newsletter, I will mention again that I 
continue to make updates to the Oracle -> DBA Tips -> Oracle9i 
New Features segment. This section should provide useful for 
those investing time in studying for the Oracle Certified 
Professional (OCP) exam. You will also find new features and 
technologies in the Oracle DBA Tips section for:

  -> Advanced Queuing
  -> Clustering Technologies
  -> LOBS
  -> XMLDB
  -> Oracle Objects

I reorganized the "Programming" section to include a collection 
of useful Java programming tips along with many others for PL/SQL, 
Tcl/TK, Perl, and C. One of the portions under Programming I will 
be spending some additional time on over the summer is the new 
"Data Structures and Algorithms" section. I will provide meaningful 
documentation on data structures along with implementations of them 
in Java and C. Also included will be ways in which to analyze some 
of the more common algorithms.

Not much work has been done on the MySQL section of the website. 
If anyone can provide any useful scripts or tips for posting to 
this section, I would greatly appreciate it.

As usual, if you have any comments or suggestions regarding the 
content or layout of the website, please let me know via email 
(jhunter@idevelopment.info).

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Search Feature Added to Oracle DBA Tips — (03-April-2003)

I recently added a Search Feature to the Oracle DBA Tips section
of the site. Also, I am continuing to add many new articles to the
Oracle / DBA Tips / Oracle9i New Features section. Many of these new
articles will be valuable for DBA's looking to upgrade their
OCP from 8i to 9i.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Oracle Default Users — (23-March-2003)

Since my most recent newsletter (only two days ago) I have added two Oracle
DBA Tips on how to handle Oracle's default user ids. (ORDSYS, WMSYS, etc.). 
Simply navigate to "Oracle -> DBA Tips" and look under the
"Database Administration" section.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  March 2003 Update — (21-March-2003)

I made significant changes to the organization of the site since 
my last newsletter update. In particular, I added two new sections 
(accessible from the Topics menu):

  -> Programming
  -> Networking

The Programming section includes Programming Languages 
(Java, C, Perl, etc), Data Structures, ASCII and other 
Character Encoding References, plus a section for Web 
Programming.

Within the "Programming -> Java" section, I added many 
new coding hints for dealing with JDBC, Threads, 
JavaCC, I/O, and Networking. Expect even more concentration 
in this area within the coming weeks.

The Networking section includes references material on 
TCP/IP, Networking Basics, SNMP, Firewalls and Software,
and Inter-Process Communications (IPC).

Within the "Oracle -> DBA Tips" section, I am adding a 
vast amount of information about Oracle9i. The 
information in this section will be helpful for any 
DBA looking to upgrade their OCP certification from 
Oracle8i to Oracle9i. Again, expect even more 
concentration in this area within the coming weeks.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Added Cryptography Section to Java Programming — (26-January-2003)

I recently added a "Cryptography and Security" label and several code examples 
to the Java Programming section. 

From the topics menu, navigate to "Programming" -> "Java Programming", then 
scroll down the "Cryptography and Security" label.

I will continue to expand this section with code examples on digital 
signatures and encrypting/decrypting files using the DES algorithm.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  January 2003 Update — (11-January-2003)

First, I would like to wish everyone a Happy New Year.

I made several updates to the Java Programming section that includes
"Running External OS Commands" and "Data Type Conversion Examples".
From the topics menu, navigate to "Programming" -> "Java Programming".

In the Oracle DBA Tips section, I updated a previous article on
"Dropping Columns in Oracle8i" under the Database Administration section.
In addition, I added a new article on "Deploying Java Servlets and
JSPs using the Oracle HTTP Server (8i or higher)" under the
"Java" section. From the topics menu, navigate to "Oracle" -> "DBA Tips".

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  New MySQL Section — (17-December-2002)

I recently added a section to www.iDevelopment.info for the 
MySQL database.  This today includes issue related to 
installation, security, database administration, 
and MySQL resources.

Throughout the next few months (and as time permits), I 
will be adding much more content to this section of the site.

Check it out and let me know of issues, questions, or concerns 
about MySQL or any other issue related to www.iDevelopment.info.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------


  Update to website — (25-November-2002)

This message is being sent to alert all users of the following updates to 
the iDevelopment.info website.

Oracle -> DBA Tips
------------------
  (*) Added detailed instruction guide for installing Oracle9i (9.2.0) on
      RedHat Linux 7.3 - 8.0.
  (*) Added an article that provides a detailed overview on "Deploying Java
      Servlets and JSPs using the Oracle HTTP Server (8i or higher)".

Programming -> Java Programming
-------------------------------
  (*) Added section on using the Regular Expression libraries from
      Sun's SDK 1.4 and Apache's Jakarta RegExp library.
  (*) Added examples in the XML section on using the JAXP APIs using the
      following parsers:
      - Crimson
      - Xerces
      - Oracle
  (*) Started a new section for utilizing the "Java Collections Framework". This
      section is a work in progress. I will continue to provide more examples
      throughout the month.
  (*) Added new section for "Java Coding Conventions".
  (*) Started a new section for utilizing Java's Logging facilities. This 
      section is a work in progress. I will continue to provide more examples
      throughout the month.

----------------------------
Jeffrey M. Hunter
Sr. Database Administrator
jhunter@idevelopment.info
http://www.idevelopment.info
----------------------------