How to change oc4jadmin password for Application Server 10gR3
Scenario:
We have a fresh installation of Oracle Application Server 10gR3 (10.1.3.x). We perform following tasks:
1. Create new OC4J instances
2. Deploy Applications on these instances
3. Change password for oc4jadmin user using setup link in Application server console
Problem:
After performing above tasks, when we try to access any OC4J instances other than HOME, the Application Server will deny the access and gives following error on the screen:
Unable to make a connection to OC4J instance instance_name on Application
Server application_server_name. A common cause for this failure is an
authentication error. The administrator password for each OC4J instance in the
Cluster must be the same as the administrator password for the OC4J instance on
which Application Server Control is running.
Reason:
The administrator password for all OC4J instances in the Cluster must be the same as the administrator password for the OC4J instance on which Application Server Control (by default it is HOME instance) is running.
Changing the password through the Setup link does not change the oc4jadmin password used by any remote OC4J instances. A remote OC4J instance is any OC4J instance in a cluster topology that is not hosting the active Application Server Control.
This means that all the OC4J instances should have same oc4jadmin password.
Solution:
You will have to change the oc4jadmin password for a remote account without using Application Server Control:
- Log in to the computer where the remote OC4J is installed and running.
- Locate the following configuration file in the Oracle home of the OC4J instance:
ORACLE_HOME/j2ee/oc4j_instance_name/config/system-jazn-data.xml
- Use a text editor to open the system-jazn-data.xml file and locate the following entry for the oc4jadmin user:
<user> <name>oc4jadmin</name> <display-name>OC4J Administrator</display-name> <guid>41A2E560C96711DABFD08D3BF8B780C4</guid> <description>OC4J Administrator</description> <credentials>{903}4nlfYYDwaqMJipVbGXuS2ce8e**BPqp</credentials> </user>
- Replace the value of the <credentials> element with the new password. Be sure to include an exclamation point character (!) before the password.For example:
<credentials>!welcome123</credentials>
In this example, replace “welcome123” with the actual password you want to use. The exclamation point ensures that the password will be encrypted in the configuration file.
- Save your changes and exit the system-jazn-data.xml file.
- Restart the OC4J instance.For example, use the following Oracle Process Manager and Notification Server (OPMN) commands to stop and then start the Oracle Application Server instance:
ORACLE_HOME/opmn/bin/opmnctl stopall ORACLE_HOME/opmn/bin/opmnctl startall
Precautions:
Before changing the oc4jadmin password for HOME instance, we must change the oc4jadmin password for remote instances using the following steps:
1. Click on OC4J instance
2. Click on Administration tab
3. Edit sub-task Security Providers under Security task
4. Edit any application name under Application Level Security
5. Click on Realms tab
6. For realm name – jazn.com, click the value under column Users
7. Click on oc4jadmin under User Name column
8. Provide the old Password for oc4jadmin and new password for oc4jadmin and click Apply
Repeat these steps for all the OC4J instances except HOME instance.
After changing the administrator passwords for all OC4J instances, we can then change the oc4jadmin password for HOME instance using setup link on Application server console.
Now all the oc4jadmin passwords are in sync and the application server will be functioning fine.
Please refer to the documentation: http://url-zip.com/h3m
转至:https://oraclefunda.wordpress.com/2008/05/16/how-to-change-oc4jadmin-password-for-application-server-10gr3/