Monday, July 03, 2006
Oracle Services and the Windows Registry
For those of you who have used Oracle on Windows you either think of the Windows registry as a blessing or a curse. The Windows registry is critical for the setup and maintenance of services as well as to maintain parameters relating to Oracle Home, etc. Without the registry, or with an incorrectly configured registry, Oracle on Windows will not function. Thus it is unwise to modify the registry own your own. Let the Oracle installer and DBCA modify the registry.
One of the main differences between Oracle on Windows and other platforms (besides the registry) is the use of services. With the Windows operating system any process started by the login user will exit when the user exits. This would not be good for something like the Oracle database, thus the Oracle instance is started as a Windows Service.
A Microsoft Windows service allows you to create long-running executable applications that run in their own Windows sessions. These services can be automatically started when the computer boots, can be manually started, stopped and paused. Because they run in their own session, they do not contain a user interface, but they can take parameters or use registry parameters. Services are used for long-running functionality that does not interact with other users, thus is good for server applications such as the Oracle Database Server and Oracle Listener. In addition, services can be invoked under the user context of a domain user, local user or the system account. Thus the Oracle service can be started by a user other than the Oracle database owner, but will run under the context of the Oracle user.
By default, the Oracle database server must create a minimum of two services:
- OracleServiceSID is the Oracle bootstrap service that is used as the service that the Oracle instance runs under. The Oracle bootstrap service must be started in order for the Oracle instance to start, however, the Oracle instance can be started up or shutdown manually once the bootstrap instance is running.
- OracleHOME_NAMETNSListener is the service that controls the Oracle listener.
These are the only two services that are critical to the Oracle instance (unless you are using ASM). Other services that you might encounter include:
- OracleDBConsoleSID is the Oracle Enterprise manager DB Console service.
- OracleJobSchedulerSID is the Oracle job scheduler process.
- OracleHOME_NAMEiSQL*Plus is obviously the iSQL service.
- OracleServiceASM_SID is the ASM instance service.
As I mentioned earlier, the OracleServiceSID is really just a service to bootstrap the Oracle instance. This service is required before the Oracle instance can be started, but if this service is running, you can still use SQL*Plus to start and stop the Oracle instance. The registry parameters HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_HOME_NAME->ORA_SID_AUTOSTART and ORA_SID_SHUTDOWN controls whether the Oracle instance automatically starts and stops when the OracleServiceSID service does. In addition to these parameters, the registry location HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_HOME_NAME holds some other very useful entries:
- ORACLE_BASE is the location of the Oracle base directory for this Oracle home.
- ORACLE_HOME is the location of the Oracle home directory for this Oracle home.
- ORACLE_SID is the Oracle System Identifier or SID.
- SQLPATH specifies the location of SQL scripts.
- RDBMS_CONTROL specifies the location of control files. This is where Oracle will look for the spfile or the pfile for this instance.
There are other registry parameters, but I have touched on some of the most important. Beware, registry parameters must be exact. Spelling and capitalization are extremely important. If you do not have the parameter exactly right, it will be ignored and you will be debugging an illusive problem.
The registry is very useful in that it centralizes the location of parameters and settings for the Oracle installation. However, if something goes wrong, it can sometimes be very difficult to fix, so be careful.
Services are an important part of Windows 2003 and the entire Windows family. Without services it would be very difficult to implement Oracle without requiring the Oracle user to stay logged in at all times. Oracle on Windows is different from other platforms, and this is what distinguishes it.
I searched a lot but didnt get anything. I am stuck becoz we dont have system admin or storage admin available.
I have 2 Dell 2950 PowerEdgde Servers and 500 GB Buffalo NAS with Windows 2K3 X64 EE, please tell me whether I can install Oracle RAC with this kit.
If yes , how can I configure shared storage and present it to OS so that both nodes can see it.
Please give as much detail as possible, I m ready to read a million pages.
Dissertation Writing Services