7.2 Changing the Hostname, Domain Name, or IP Address
You may want to change the hostname, domain name, or IP address of the host after you have installed Oracle Application Server.
Table 7-1 summarizes the installation types that support hostname, domain name, and IP address changes, and provides pointers to the appropriate procedures.
Many of the procedures in this section use the chgiphost command. See Section 7.2.1 for more information about the command.
7.2.1 Understanding the chgiphost Command
The chgiphost command-line utility changes the hostname, domain name, or IP address of a middle-tier instance, Infrastructure, or Identity Management installation.
The utility is located at:
- On UNIX systems: ORACLE_HOME/chgip/scripts/chgiphost.sh
- On Windows systems: ORACLE_HOME\chgip\scripts\chgiphost.bat
Table 7-2 shows the options for the command.
Note that if you use chgiphost to change the hostname or domain name, it does not update the instance name. For example, assume that the original instance name, with the hostname and domain name appended, is:
1013mid.myhost1.mydomain.com
If you change the hostname to myhost2, the instance name remains the same.
7.2.2 Changing the Hostname or Domain Name of a Middle-Tier Installation
This section describes how to change the hostname, domain name, or both, of a host that contains any of the middle-tier installation types.
The following sections describe the procedure:
Before You Begin
Review the following items before you start:
- If the middle-tier instance is registered with Oracle Internet Directory, you must supply the cn=orcladmin password during the procedure.
- Consider changing the log level before running the chgiphost command so you can view more detailed information. See Section 7.2.5.1 for more information.
- If your old hostname is a string that is likely to appear in a configuration file, the chgiphost command may encounter problems when trying to update the configuration files. Refer to Section 7.2.5.2 for information on how to avoid this problem.
- Write down the old hostname and IP address before you begin. You will be prompted for these values.
- Oracle recommends that you perform a backup of your environment before you start this procedure. Refer to Part V, "Backup and Recovery" for more information.
Task 1: Prepare Your Host
Prepare your host for the change by stopping all processes:
- Shut down each middle-tier instance on the host by running the following commands in each Oracle home:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl stopall
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl stopall
- To make sure Oracle Application Server processes will not start automatically after a restart of the host, disable any automated startup scripts you may have set up, such as /etc/init.d scripts.
- Make sure that the Oracle Internet Directory that is used by the middle tier is started.
Task 2: Change the Hostname
Update your operating system with the new hostname, domain name, or both. Consult your operating system documentation for information on how to perform the following steps. You can also change the IP address, if desired.
- Make the updates to your operating system to properly change the hostname, domain name, or both.
- Restart the host, if necessary for your operating system.
- Verify that you can ping the host from another host in your network. Be sure to ping using the new hostname to make sure everything is resolving properly.
Task 3: Run the chgiphost Command
Follow these steps for each middle-tier instance on your host. Be sure to complete the steps entirely for one middle-tier instance before you move on to the next.
- Log in to the host as the user that installed the middle-tier instance.
- Make sure the ORACLE_HOME environment variable is set to the middle-tier Oracle home. Do not use a trailing slash (UNIX) or backslash (Windows) when specifying the variable.
- On UNIX systems, set the LD_LIBRARY_PATH, LD_LIBRARY_PATH_64, LIB_PATH, or SHLIB_PATH environment variables to the proper values, as shown in Table 1-1. The actual environment variables and values that you must set depend on the type of your UNIX operating system.
- Run the following commands in the middle-tier Oracle home:
- On UNIX systems: cd ORACLE_HOME/chgip/scripts ./chgiphost.sh -mid
- On Windows systems: cd ORACLE_HOME\chgip\scripts cmd /c chgiphost.bat -mid
The chgiphost command prompts for information, as shown in Table 7-3. Note that the prompts may provide values in parentheses. You can enter a different value, or press the return key to accept the suggested value.
- Verify that the tool ran successfully by checking for errors in the files in the following directory:
- On UNIX systems: ORACLE_HOME/chgip/log
- On Windows systems: ORACLE_HOME\chgip\log
Task 4: Re-enable SSO Authentication
If the middle-tier instance was enabled for SSO authentication, you must enable it again. Follow the steps in "Task 1: Enable SSO Authentication (Optional)" in Section 6.6.
Task 5: Update Host Information for Other Members of Cluster
If the middle-tier instance is a member of a topology cluster, you may need to update the topology information in the opmn.xml file for the other members of the cluster.
If the middle-tier instance is part of a dynamic discovery cluster, you do not need to make any changes to the opmn.xml file.
However, if the cluster is one of the following types, you must update the opmn.xml file:
- Static hubs as discovery servers: You must change the host name or domain name in the <discover> element. The following example shows an example of the element: <topology> <discover list="node1.com:6201,node2.com:6202"/> </topology>
- Cross-topology gateways: You must change the host name or domain name in the <gateway> element. The following example shows an example of the element: <topology> <gateway list="node1.com:6201&node2.com:6202&node3.com:6203"/> <discover list="*224.0.1.37:8205"/> </topology>
- Static node-to-node: You must change the host name or domain name in the <nodes> element. The following example shows an example of the element: <topology> <nodes list="node1-sun:6201,node2-sun:6202"/> </topology>
Task 6: Manually Update the Hostname in Files
In some circumstances, you need to manually update the hostname in files:
- If you edited a file and entered the hostname as part of a user-defined parameter such as the Oracle home path, the hostname is not automatically updated by running the chgiphost command. To update the hostname in such cases, you must edit the files manually. For example on UNIX, the plsql.conf file may contain an NFS path including the hostname, such as: /net/dsun1/private/....
- It is common that WebCenter applications use portlets that are running on the same host. For example, a WebCenter application running in OC4J instance OC4J_Apps can consume a portlet running in the OC4J instance OC4J_WebCenter.
If you change the hostname, domain name, or both, of a WebCenter application, you must manually update the internal references to these portlets. WebCenter applications store the portlet producer connection information in the file connections.xml, located in the following directory:
ORACLE_HOME/j2ee/OC4J_instance/applications/application_name/adf/META-INF
Using a text editor, search for the hostname and replace all occurrences with the appropriate new value. The information will look like that marked in bold in the following example:
<urlconnection name="PdkPortletProducer1_115996420445613411da8-010e-1000-8002-8c5707c5e057-urlconn" url="http://apphost1.mycompany.com:8890/jpdk/providers"/> . . . <wsconnection description="http://apphost1.mycompany.com:6688/richtextportlet/portlets/wsrp2?WSDL"> <soap addressUrl="http://apphost1.mycompany.com:6688/richtextportlet/portlets/WSRP_v2_PortletManagement_Service" xmlns="http://schemas.xmlsoap.org/wsdl/soap/" />
Similarly, if you are using Oracle Content DB and your connection information has changed, you can update connections.xml as follows:
<StringRefAddr addrType="jcr_oracle.ifs.jcr.configuration.serverUrl"> <Contents>https://ctdbhost1.mycompany.com:4444/content/ws</Contents></StringRefAddr>
- The chgiphost command also does not edit the hostname references in the documentation files. You must manually edit these files to update the hostname. Examples of such files are the index.html.* files in the ORACLE_HOME/Apache/Apache/htdocs directory.
Task 7: Restart Your Environment
Restart the middle-tier instances and restore your configuration to the way it was before you started the procedure:
- Start each middle-tier instance on your host by running the following command in each Oracle home: (Unix) ORACLE_HOME/opmn/bin/opmnctl startall (Windows) ORACLE_HOME\opmn\bin\opmnctl startall
- If you disabled any processes for automatically starting Oracle Application Server at the beginning of this procedure, enable them.
7.2.3 Changing the Hostname, Domain Name, or IP Address of a 10.1.4 or 10.1.2 Identity Management Installation
You may have a 10g Release 3 (10.1.3.2.0) middle-tier instance associated with a 10.1.4 or 10.1.2 Identity Management installation.
This section describes how to change the hostname, domain name, or IP address on a host that contains an Identity Management installation. This procedure applies to any Identity Management-only installation, including the following:
- Identity Management with only Oracle Internet Directory configured
- Identity Management with OracleAS Single Sign-On, Oracle Delegated Administration Services, Oracle Directory Integration and Provisioning configured
- Identity Management with Oracle Internet Directory, OracleAS Single Sign-On, Oracle Delegated Administration Services, Oracle Directory Integration and Provisioning configured
The following sections describe the procedure:
Before You Begin
Review the following items before you start the procedure:
- Consider changing the log level before running the chgiphost command so you can view more detailed information. See Section 7.2.5.1 for more information.
- If your old hostname is a string that is likely to appear in a configuration file, the chgiphost command may encounter problems when trying to update the configuration files. Refer to Section 7.2.5.2 for information on how to avoid this problem.
- Write down the old hostname and IP address before you begin. You will be prompted for these values.
- Oracle recommends that you perform a backup of your environment before you start this procedure. Refer to Part V, "Backup and Recovery" for more information.
Task 1: Shut Down Middle-Tier Instances
For each 10g Release 3 (10.1.3.2.0) middle-tier instance that uses Identity Management, stop the Application Server Control Console and the middle-tier instance using the following command:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl stopall
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl stopall
Task 2: Prepare Your Host
Prepare your host for the hostname change by stopping all processes on the Release 2 (10.1.2) Identity Management instance:
- Set the ORACLE_HOME environment variable.
- Shut down the Identity Management installation, including the servers, such as Oracle Directory Server, Directory Integration and Provisioning Data server (if it is configured), and Replication Server, as well as Application Server Control Console. For example, on UNIX, use the following commands: ORACLE_HOME/bin/emctl stop iasconsole ORACLE_HOME/bin/oidctl server=odisrv instance=instance_number stop ORACLE_HOME/bin/oidctl connect=global_db_name server=oidrepld instance=instance_number stop ORACLE_HOME/bin/oidctl server=oidldapd instance=instance_number stop ORACLE_HOME/opmn/bin/opmnctl stopall
- To make sure Oracle Application Server processes will not start automatically after a restart of the host, disable any automated startup scripts you may have set up, such as /etc/init.d scripts.
Task 3: Change the Hostname or IP Address
Update your operating system with the new hostname, domain name, or IP address. Consult your operating system documentation for information on how to perform the following steps:
- Make the updates to your operating system to properly change hostname, domain name, or both.
- Restart the host, if necessary for your operating system.
- Verify that you can ping the host from another host in your network. Be sure to ping using the new hostname to make sure everything is resolving properly.
Task 4: Run the chgiphost Command
Perform these steps in the Identity Management instance:
- Log in to the host as the user that installed Identity Management.
- Set the ORACLE_HOME environment variable. Do not use a trailing slash (UNIX) or backslash (Windows) when specifying the ORACLE_HOME variable.
- On UNIX systems, set the LD_LIBRARY_PATH, LD_LIBRARY_PATH_64, LIB_PATH, or SHLIB_PATH environment variables to the proper values, as shown in Table 1-1. The actual environment variables and values that you must set depend on the type of your UNIX operating system.
- Run the following commands in the Identity Management Oracle home:
- On UNIX systems: cd ORACLE_HOME/chgip/scripts ./chgiphost.sh -idm
- On Windows systems: cd ORACLE_HOME\chgip\scripts cmd /c chgiphost.bat -idm
The chgiphost command prompts for information, as shown in Table 7-4. Note that the prompts may provide values in parentheses. You can enter a different value, or press the return key to accept the suggested value.
- Verify that the tool ran successfully by checking for errors in the files in the following directory: (UNIX) ORACLE_HOME/chgip/log (Windows) ORACLE_HOME\chgip\log
Task 5: Restart Your Environment
Restart the Identity Management installation and any other Infrastructure instances that you stopped during this procedure:
- Restart the Identity Management instance, using the following commands:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl stopall ORACLE_HOME/opmn/bin/opmnctl startall ORACLE_HOME/bin/emctl start iasconsole
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl stopall ORACLE_HOME\opmn\bin\opmnctl startall ORACLE_HOME\bin\emctl start iasconsole
- If you disabled any processes for automatically starting Oracle Application Server at the beginning of this procedure, enable them.
Task 6: Update Your Environment
This task contains the steps to update your environment for the new hostname, domain name, or IP address. The steps you need to take depend on how your environment is configured. If you changed the hostname or IP address of the host containing:
If your environment uses LDAP-based replication of Oracle Internet Directory and Oracle Internet Directory is on a different host than OracleAS Metadata Repository, you can change the hostname, domain name, or IP address of the host containing the Master (supplier) or Replica (consumer) Oracle Internet Directory. See "Task 7: Update Oracle Internet Directory If LDAP-Based Replication Is Used" for information.
Configuration 1: Oracle Internet Directory Only In this case, Oracle Internet Directory is installed on one host and the other Identity Management components are installed on another host and you changed the host that contains Oracle Internet Directory. Take the following steps:
- In the OracleAS Single Sign-On installation, stop the Infrastructure processes and the Application Server Control Console:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl stopall ORACLE_HOME/bin/emctl stop iasconsole
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl stopall ORACLE_HOME\bin\emctl stop iasconsole
- Update the ias.properties file in every OracleAS Infrastructure instance that uses Oracle Internet Directory. This includes other Identity Management instances (OracleAS Single Sign-On, Oracle Delegated Administration Services, and Oracle Directory Integration and Provisioning, if it is configured).
In each Oracle home, update the following file:
(UNIX) ORACLE_HOME/config/ias.properties (Windows) ORACLE_HOME\config\ias.properties
In the file, update the OIDhost parameter in with the new hostname:
OIDhost=newhost.us.oracle.com
- Update the ldap.ora file in every OracleAS Infrastructure instance that uses Oracle Internet Directory. This includes other Identity Management instances (OracleAS Single Sign-On, Oracle Delegated Administration Services, and Oracle Directory Integration and Provisioning, if it is configured).
In each Oracle home, edit the following file:
(UNIX) ORACLE_HOME/ldap/admin/ldap.ora (Windows) ORACLE_HOME\ldap\admin\ldap.ora
In the file, update the DIRECTORY_SERVERS parameter with the new fully qualified hostname.
- In the Oracle homes for the other Identity Management components, start OPMN and Application Server Control Console:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl start ORACLE_HOME/bin/emctl start iasconsole
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl start ORACLE_HOME\bin\emctl start iasconsole
- In the Oracle homes for the middle-tier instances, start OPMN and Application Server Control Console. To start Application Server Control Console, you start the default OC4J instance, because Application Server Control Console runs as an application with the default OC4J instance.
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl start ORACLE_HOME/opmn/bin/opmnctl startproc process-type=home
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl start ORACLE_HOME\opmn\bin\opmnctl startproc process-type=home
- If any middle-tier instance was enabled for SSO authentication, you must enable it again. Follow the steps in "Task 1: Enable SSO Authentication (Optional)" in Section 6.6 for each middle-tier instance that uses this Oracle Internet Directory instance.
- In the Oracle homes for the other Identity Management components and each middle tier, run the Change Identity Management Services wizard and supply the new Oracle Internet Directory information. For example, for the 10.1.3 middle tier, take the following steps:
- Using the Application Server Control Console, navigate to the OC4J Home page for the middle-tier instance.
- Click Administration.
- In the Task Name column of the table, expand Security if it is not already expanded. Then, in the Identity Management row, click the Go to Task icon.
- On the Identity Management page, click Change.
- Follow the steps in the wizard for supplying the new Identity Management information. See Section 6.6 for more information.
- When the operation completes, you need to restart the OC4J instance. Do not click Restart on the Confirmation page. Instead, navigate to the Cluster Topology page, select the OC4J instance, and click Restart.
Note that although you may see the new Internet Directory host and port on the page, you still need to perform this step. For Release 2 (10.1.2), the Application Server Control Console displays the virtual hostname only because it read it from the updated ias.properties file.
- If OracleAS Certificate Authority is installed, take the following steps:
- Stop OracleAS Certificate Authority, the OC4J oca process, and the Oracle HTTP Server on the host running OracleAS Certificate Authority. For example, on UNIX, execute the following commands: ORACLE_HOME/oca/bin/ocactl stop ORACLE_HOME/opmn/bin/opmnctl stopproc process-type=oca ORACLE_HOME/opmn/bin/opmnctl stopproc ias-component=HTTP_Server
- Edit the following file and change the name of the host listed in the file: (UNIX) ORACLE_HOME/oca/conf/oca.conf (Windows) ORACLE_HOME\oca\conf\oca.conf
- Reassociate with OracleAS Single Sign-On and Oracle Internet Directory. For example, on UNIX: ORACLE_HOME/oca/bin/ocactl changesecurity -server_auth_port OcaSslPort
- Start Oracle HTTP Server, the OC4J oca process, and OracleAS Certificate Authority. For example, on UNIX: ORACLE_HOME/opmn/bin/opmnctl startproc ias-component=HTTP_Server ORACLE_HOME/opmn/bin/opmnctl startproc process-type=oca ORACLE_HOME/oca/bin/ocactl start
Configuration 2: OracleAS Single Sign-On, Oracle Delegated Administration Services, and Oracle Directory Integration and Provisioning In this case, Oracle Internet Directory is installed on one host and the other Identity Management components are installed on another host and you changed the host that contains the other Identity Management components.
In each middle-tier installation, take the following steps:
- Start OPMN and Application Server Control Console. To start Application Server Control Console, you start the default OC4J instance, because Application Server Control Console runs as an application with the default OC4J instance.
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl start ORACLE_HOME/opmn/bin/opmnctl startproc process-type=home
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl start ORACLE_HOME\opmn\bin\opmnctl startproc process-type=home
- In the Oracle home for each middle tier, run the Change Identity Management Services wizard and supply the new Oracle Internet Directory information:
- Using the Application Server Control Console, navigate to the OC4J Home page for the middle-tier instance.
- Click Administration.
- In the Task Name column of the table, expand Security if it is not already expanded. Then, in the Identity Management row, click the Go to Task icon.
- On the Identity Management page, click Change.
- Follow the steps in the wizard for supplying the new Identity Management information. See Section 6.6 for more information.
- When the operation completes, you need to restart the OC4J instance. Do not click Restart on the Confirmation page. Instead, navigate to the Cluster Topology page, select the OC4J instance, and click Restart.
Note that although you see the correct Internet Directory host and port on the page, you still need to perform this step.
- Restart the affected components. Run the following commands in each Oracle home:
-
On UNIX systems:
ORACLE_HOME/opmn/bin/opmnctl stopall ORACLE_HOME/opmn/bin/opmnctl startall
-
On Windows systems:
ORACLE_HOME\opmn\bin\opmnctl stopall ORACLE_HOME\opmn\bin\opmnctl startall
Configuration 3: Oracle Internet Directory, OracleAS Single Sign-On, Oracle Delegated Administration Services, and Oracle Directory Integration and Provisioning In this case, Oracle Internet Directory and the other Identity Management components are installed on the same host and this is the host you changed. Take the following steps:
In each middle-tier installation, take the following steps:
- Start OPMN and Application Server Control Console. To start Application Server Control Console, you start the default OC4J instance, because Application Server Control Console runs as an application with the default OC4J instance.
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl start ORACLE_HOME/opmn/bin/opmnctl startproc process-type=home
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl start ORACLE_HOME\opmn\bin\opmnctl startproc process-type=home
- If any middle-tier instance was enabled for SSO authentication, you must enable it again. Follow the steps in "Task 1: Enable SSO Authentication (Optional)" in Section 6.6 for each middle-tier instance.
- In each middle-tier installation, run the Change Identity Management Services wizard:
- Using the Application Server Control Console, navigate to the OC4J Home page for the middle-tier instance.
- Click Administration.
- In the Task Name column of the table, expand Security if it is not already expanded. Then, in the Identity Management row, click the Go to Task icon.
- On the Identity Management page, click Change.
- Follow the steps in the wizard for supplying the new Identity Management information. See Section 6.6 for more information.
- When the operation completes, you need to restart the OC4J instance. Do not click Restart on the Confirmation page. Instead, navigate to the Cluster Topology page, select the OC4J instance, and click Restart.
- Restart the affected components. Run the following commands in each Oracle home:
-
On UNIX systems:
ORACLE_HOME/opmn/bin/opmnctl stopall ORACLE_HOME/opmn/bin/opmnctl startall
-
On Windows systems:
ORACLE_HOME\opmn\bin\opmnctl stopall ORACLE_HOME\opmn\bin\opmnctl startall
Task 7: Update Oracle Internet Directory If LDAP-Based Replication Is Used
If your environment uses LDAP-based replication of Oracle Internet Directory and Oracle Internet Directory is on a different host than OracleAS Metadata Repository, you can change the hostname, domain name, or IP address of the host containing the Master (supplier) or Replica (consumer) Oracle Internet Directory:
Configuration A: Host with Master Oracle Internet Directory Is Changed
If you change the hostname, domain name, or IP address of the host containing the Master Oracle Internet Directory, take the following steps:
- Obtain the replica ID of the Master Oracle Internet Directory: ldapsearch -p master_port -h master_host -b "" -s base "objectclass=*" orclreplicaid
- On both the Master and the Replica, update either orclreplicauri or orclreplicasecondaryuri or both, if they exist, in the replica entry of the Master Oracle Internet Directory. Take the following steps:
- Create a file named mod.ldif and enter the following lines in the file: dn: orclreplicaid=master_replicaID,cn=replication configuration changetype:modify replace: orclreplicauri orclreplicauri: ldap://new_master_host:new_master_port/
In the example, master_replicaID is the ID obtained in Step a, new_master_host is the new hostname of the Master Oracle Internet Directory, and new_master_port is the port number for the Master Oracle Internet Directory.
- Run the following command on the Master: ldapmodify -p master_port -h master_host -f mod.ldif
- Run the following command on the Replica: ldapmodify -p replica_port -h replica_host -f mod.ldif
- Restart the Replication server at the Replica: oidctl server=oidrepld inst=inst_num connect=connect_string flags="-h replica_host -p replica_port -m false" stop oidctl server=oidrepld inst=inst_num connect=connect_string flags="-h replica_host -p replica_port -m false" start
In the example, replica_host is the hostname of the Replica Oracle Internet Directory and replica_port is the port of the Replica Oracle Internet Directory.
Configuration B: Host with Replica Oracle Internet Directory Is Changed
If you change the hostname, domain name, or IP address of the host containing the Replica Oracle Internet Directory, take the following steps:
- Obtain the replica ID of the Replica Oracle Internet Directory: ldapsearch -p replica_port -h replica_host -b "" -s base "objectclass=*" orclreplicaid
- On both the Master and the Replica, update either orclreplicauri or orclreplicasecondaryuri or both, if they exist, in the replica entry of the Replica Oracle Internet Directory. Take the following steps:
- Create a file named mod.ldif and enter the following lines in the file: dn: orclreplicaid=replica_replicaID,cn=replication configuration changetype:modify replace: orclreplicauri orclreplicauri: ldap://new_replica_host:new_replica_port/
In the example, replica_replicaID is the ID obtained in Step a, new_replica_host is the new hostname of the Replica Oracle Internet Directory, and new_replica_port is the port number for the Replica Oracle Internet Directory.
- Run the following command on the Master: ldapmodify -p master_port -h master_host -f mod.ldif
- Run the following command on the Replica: ldapmodify -p replica_port -h replica_host -f mod.ldif
- Restart the Replication server at the Replica: oidctl server=oidrepld inst=inst_num connect=connect_string flags="-h new_replica_host -p new_replica_port -m false" stop oidctl server=oidrepld inst=inst_num connect=connect_string flags="-h new_replica_host -p new_replica_port -m false" start
In the example, new_replica_host is the new hostname of the Replica Oracle Internet Directory and new_replica_port is the port of the Replica Oracle Internet Directory.
7.2.4 Changing the IP Address of a 10.1.4 or 10.1.2 Infrastructure Containing a Metadata Repository
This section describes how to change the IP address of a host that contains either of the following Infrastructure installation types:
- Metadata Repository only
- Identity Management and Metadata Repository
The following sections describe the procedure:
Before You Begin
Review the following items before you start the procedure:
- Write down the old IP address before you begin. You will be prompted for this during the procedure.
- Oracle recommends that you perform a backup of your environment before you start this procedure. Refer to Part V, "Backup and Recovery" for more information.
Task 1: Shut Down Middle-Tier Instances
Shut down all middle-tier instances that use the Infrastructure installation, even if they are on other hosts:
(UNIX)
ORACLE_HOME/opmn/bin/opmnctl stopall (Windows)
ORACLE_HOME\opmn\bin\opmnctl stopall
Task 2: Prepare Your Host
Prepare your host for the change by stopping all processes:
- Set the ORACLE_HOME and ORACLE_SID environment variables.
- Shut down the Infrastructure:
- Stop all Application Server Control Console and all processes:
-
On UNIX systems:
ORACLE_HOME/bin/emctl stop iasconsole ORACLE_HOME/opmn/bin/opmnctl stopall
-
On Windows systems:
ORACLE_HOME\bin\emctl stop iasconsole ORACLE_HOME\opmn\bin\opmnctl stopall
- Change directory to the bin subdirectory of Oracle home. Then, shut down the listener and database: lsnrctl stop sqlplus /nolog SQL> connect SYS as SYSDBA SQL> shutdown SQL> quit
- Verify that all Oracle Application Server processes have stopped.
- To make sure Oracle Application Server processes will not start automatically after a restart of the host, disable any automated startup scripts you may have set up, such as /etc/init.d scripts.
Task 3: Change the IP Address
Update your operating system with the new IP address, restart the host, and verify that the host is functioning properly on your network. Consult your operating system documentation for information on how to perform the following steps:
- Make the updates to your operating system to properly change the IP address.
- Restart the host, if required by your operating system.
- Verify that you can ping the host from another host in your network. Be sure to ping using the new IP address to make sure everything is resolving properly.
Task 4: Update the Infrastructure
Update the Infrastructure on your host with the new IP address:
- Log in to the host as the user that installed the Infrastructure.
- Set the ORACLE_HOME and ORACLE_SID environment variables. Do not use a trailing slash (UNIX) or backslash (Windows) when specifying the ORACLE_HOME variable.
- On UNIX systems, set the LD_LIBRARY_PATH, LD_LIBRARY_PATH_64, LIB_PATH, or SHLIB_PATH environment variables to the proper values, as shown in Table 1-1. The actual environment variables and values that you must set depend on the type of your UNIX operating system.
- Change directory to the bin subdirectory of Oracle home. Then, start the database and listener: sqlplus /nolog SQL> connect SYS as SYSDBA SQL> startup SQL> quit lsnrctl start
- Start OPMN: (UNIX) ORACLE_HOME/opmn/bin/opmnctl start (Windows) ORACLE_HOME\opmn\bin\opmnctl start
- Start Oracle Internet Directory: (UNIX) ORACLE_HOME/opmn/bin/opmnctl startproc ias-component=OID process-type=OID (Windows) ORACLE_HOME\opmn\bin\opmnctl startproc ias-component=OID process-type=OID
- Run the following commands in the Infrastructure Oracle home:
- On UNIX systems: cd ORACLE_HOME/chgip/scripts ./chgiphost.sh -infra
- On Windows systems: cd ORACLE_HOME\chgip\scripts cmd /c chgiphost.bat -infra
The chgiphost command prompts for the old and new IP address.
- Verify that the tool ran successfully by checking for errors in the files in the following directory: (UNIX) ORACLE_HOME/chgip/log (Windows) ORACLE_HOME\chgip\log
Task 5: Restart Your Environment
Start the remaining components of the Infrastructure and start any middle-tier instances that use it:
- Start the Infrastructure:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl startall ORACLE_HOME/bin/emctl start iasconsole
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl startall ORACLE_HOME\bin\emctl start iasconsole
- If a middle-tier instance is on the same host as the Infrastructure, then you need to run the chgiphost command on the middle-tier instance before restarting the middle-tier instances.
- Start the middle-tier instances:
- On UNIX systems: ORACLE_HOME/opmn/bin/opmnctl startall
- On Windows systems: ORACLE_HOME\opmn\bin\opmnctl startall
- If you disabled any processes for automatically starting Oracle Application Server at the beginning of this procedure, enable them.
7.2.5 Special Topics for Changing a Hostname or Domain Name
This section contains the following special topics that apply to changing the hostname or domain name of an Oracle Application Server host:
7.2.5.1 Setting the Log Level for chgiphost
By default, the console log level for the chgiphost command is SEVERE. This causes only critical information to be printed while running chgiphost. To view additional progress information, set the console log level to CONFIG as follows:
- Edit the following file: (UNIX) ORACLE_HOME/chgip/config/chgip.log.properties (Windows) ORACLE_HOME\chgip\config\chgip.log.properties
- Change the java.util.logging.ConsoleHandler.level parameter to CONFIG: java.util.logging.ConsoleHandler.level = CONFIG
7.2.5.2 Customizing the chgiphost Command
By default, the chgiphost command updates key configuration files in the Oracle home with the new hostname. If any of the following cases apply to your installation, you may want to consider customizing the behavior of the chgiphost command:
- You have created additional configuration files that contain the hostname and want the chgiphost command to update those files.
To update these files, add their full path name to the following file before running chgiphost:
(UNIX) ORACLE_HOME/chgip/config/hostname.lst (Windows) ORACLE_HOME\chgip\config\hostname.lst
- The old hostname is very short (one or two letters) or is a string that is likely to appear in a configuration file.
Before running chgiphost, examine each of the files listed in hostname.lst to determine if the old hostname exists in any settings in those files. If you find a match, you can correct those settings after you run chgiphost.
- Your Oracle home contains the hostname in its full path.
In this case, the chgiphost command may not update your configuration files properly. You can avoid this problem by using a Java utility called FileFixer, which searches for specific text strings in a file by matching regular expressions, and updates them to their new values. Note that FileFixer searches for patterns one line at a time. It cannot match patterns across lines.
To use FileFixer:
- Make a copy of the following file: (UNIX) ORACLE_HOME/chgip/config/hostname_short_sample.lst.xml (Windows) ORACLE_HOME\chgip\config\hostname_short_sample.lst.xml
- Edit your copy of the file to specify the regular expression matching required for your old and new hostnames. The file contains an example of how to do this.
- Specify the file when running the chgiphost command: ./chgiphost option -hostnameShortXml full_path_to_your_xml_file
For example, if you named your file /mydir/my_sample.lst.xml, and you are updating a middle-tier installation on UNIX, run chgiphost as follows:
./chgiphost -mid -hostnameShortXml /mydir/my_sample.lst.xml
7.2.5.3 Changing a Hostname After Upgrading from Windows 2000 to Windows 2003
When you upgrade from Windows 2000 to Windows 2003, lowercase letters in the hostname may be changed to uppercase letters. For example, if the hostname is myhost before the upgrade, it may be changed to MYHOST. If this occurs, some Oracle Application Server processes may not function properly.
To resolve this problem, you do not need to run the chgiphost command to update Oracle Application Server. You can simply add an entry with the lowercase hostname to the hosts file:
OS_path\system32\drivers\etc\hosts
For example, if the fully qualified hostname was myhost.mydomain before the upgrade, and the IP address is 1.2.3.4, add the following line:
1.2.3.4 myhost.mydomain myhost
7.2.5.4 Recovering from Errors When Changing a Hostname
This section describes how to recover from typical errors you might encounter when using the chgiphost command. It contains the following scenarios:
Scenario 1: You Specified the Wrong Destination Name
Suppose you ran the chgiphost command but specified the wrong destination name. In this case, you can remedy the error by running chgiphost again. Here are the details.
Suppose the current source hostname is loire985, the incorrect destination hostname you specified is mqa985, and the correct destination hostname is sqb985. Initially, you ran chgiphost with source = loire985 and destination = mqa985.
To recover from this error:
- Run chgiphost with source = mqa985 and destination = sqb985.
- Run chgiphost again with source = loire985 and destination = sqb985.
Scenario 2: You Encountered an Error When Running chgiphost
For example, you will get an error message if you enter the wrong password for Oracle Internet Directory. In this case, you should stop all processes in the instance using the opmnctl stopall command and run chgiphost again, with the same source and destination hostnames as before, and make sure to supply the correct password when prompted.
If you encounter an error when running chgiphost, you should fix the error, and run chgiphost again.