Oracle Application Server 10g administration handbook: Distributed Configuration Management

John Garmany and Don Burleson

The following is the final part of a six-part series on Oracle Application Server 10g administration. Each tip is excerpted from the Osborne Oracle Press book, "Oracle Application Server 10g administration handbook,"

    Requires Free Membership to View

by John Garmany and Don Burleson. Check back frequently for the next installment, or go to the main series page for all installments.
John Garmany and Don Burleson

John Garmany is the SearchOracle.com Oracle Application Server expert. John is senior Oracle trainer with Burleson Consulting, and a respected Oracle expert and author, chosen by Oracle Press to write the "officially authorized edition" of the "Oracle Application Server 10g administration handbook."

To view John's expert responses or to ask him a question, click here.

Don Burleson is a SearchOracle.com Oracle Internals experts. Don is founder of Burleson Consulting, and he is one of the world's top Oracle database experts with more than 20 years of full-time DBA experience.

To view Don's expert responses or to ask him a question, click here.

Distributed Configuration Management

The Distributed Configuration Management utility can be used instead of EM for some management activities, but not all. The dcmctl utility only manages the OHS/OC4J portion of the instance. It can be used within scripts to automate maintenance functions. If you are working with one instance, you will either need to pass dcmctl, the instance's ORACLE_HOME variable, or set it before executing the command. To avoid confusion, it is good practice to always set environmental variables in the script before executing either opmnctl or dcmctl. In a cluster environment, failure to set the appropriate ORACLE_HOME could result in making changes to the wrong instance. You can also use the environment variable ORACLE_DCM_JVM_ARGS to pass arguments to the Java Virtual Machine.

The dcmctl utility can be started so that commands can be directly entered using the command shell.

$ dcmctl shell
dcmctl> createcomponent -ct oc4j -co OC4J_T2
dcmctl> exit
Dcmctl also has an extensive help listing obtained with the help argument.
$ dcmctl help
Dcmctl arguments are made up of a one-word command and a set of options, all of which are case insensitive. Options start with a dash, followed by the option in short or long format, followed by the option's arguments. In the previous example, the command is createcomponent and the options are –ct and –co. First, let's discuss the options available and then introduce the commands. Options have a long and short format:

Short Format Long Format Description
-a -application Application name
-cl -cluster Cluster name
-co -component Component name
-ct -componenttype Component type
-i -instance Instance name (Oracle9iAS Instance)
-d -debug Print stack trace on exception
-l -logdir Location for the error log log.xml
-o -oraclehome ORACLE_HOME for that command
-t -timeout Max time to complete command (default: 45sec)
-v -verbose Verbose listing of state and error messages

Now that we have defined the options, you can begin using the commands. Since dcmctl is used mostly within scripts, you need to be able to start and stop the instances/components. The following command starts the porta904 instance. Notice that we use the fully qualified instance name.

$ dcmctl start -i porta904.appsvr.localdomain.com

Current State for Instance:porta904.appsvr.localdomain.com

    Component               Type          Up Status     In Sync Status
1   HTTP_Server             HTTP_Server   Up            True
2   OC4J_Demos              OC4J          Up            True
3   OC4J_Portal             OC4J          Up            True
4   OC4J_Testing            OC4J          Up            True
5   OC4J_Wireless           OC4J          Up            True
6   home                    OC4J          Up            True
The dcmctl utility starts the instance and then provides a list of the current state. To stop the instance, you have two options, the stop command or the shutdown command. The shutdown command is used to stop the instance and OPMN/DCM, and is used to shut everything down before restarting or shutting down the server. The restart command will start an already down system, or shut down and restart a running system. Lastly, the getstate command returns the state of the instance/component.
$ dcmctl stop -co OC4J_Testing

Current State for Instance:porta904.appsvr.localdomain.com

    Component               Type          Up Status     In Sync Status 
1   OC4J_Testing            OC4J          Down          True
Here, we stop the OC4J_Testing container using dcmctl. One dcmctl command has already been introduced a number of times in previous chapters and at the beginning of this chapter. If you manually change a configuration file, you must update the repository using the updateConfig command.
$dcmctl updateConfig
This command reads the configuration files and updates the repository data. You can specify the container as OHS or OC4J with the –co option. The default is both.

Go to the main series page.

About the authors

A senior Oracle trainer with Burleson Consulting, John Garmany is also a respected Oracle expert and author and chosen by Oracle Press to write the "officially authorized edition" for the "Oracle Application Server 10g administration handbook." John also serves as a writer for DBAZine, "Oracle Internals" and has authored several popular Oracle books.

Don Burleson is one of the world's top Oracle database experts with more than 20 years of full-time DBA experience. He specializes in creating database architectures for very large online databases and he has worked with some of the world's most powerful and complex systems. Don's professional Web sites include www.dba-oracle.com and www.remote-dba.net.

This was first published in July 2004

There are Comments. Add yours.

TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.