20 Cloning Oracle Fusion Middleware

You can clone a Middleware home and certain Oracle Fusion Middleware components, such as Oracle SOA Suite, Oracle HTTP Server, Oracle Internet Directory and Oracle Virtual Directory.

This chapter includes the following topics:

20.1 Introduction to Cloning

Cloning is the process of copying an existing entity to a different location while preserving its state. Some situations in which cloning Oracle Fusion Middleware is useful are:

  • Creating a Middleware home that is a copy of a production, test, or development environment. Cloning enables you to create a new Middleware home with all patches applied to all of the Oracle homes and the WebLogic Server home in a single step. This is in contrast to separately installing and applying any patches to the WebLogic Server home and separate Oracle homes.

  • Preparing a "gold" image of a patched Middleware home and deploying it to many hosts.

The cloned entity behaves the same as the source entity. For example, a cloned Middleware home can be deinstalled or patched using the installer. It can also be used as the source for another cloning operation.

20.2 What You Can Clone

You can clone the following, on the same host or a different host. The clone must be on the same operating system as the source.

  • Middleware home: You can clone the Middleware home, the Oracle WebLogic Server home, and all of the Oracle homes within the Middleware home. (You can clone a Middleware home that contains no Oracle homes, but you need to have the cloning jar file and cloning scripts that are compatible with the version of the Middleware home you want to clone.)

    You can apply the clone of the Middleware home to the same host or a different host.

  • Java components: You can clone the configuration of a domain containing Java components, such as Oracle SOA Suite and Oracle Business Activity Monitoring to the same or a different Middleware home, on the same host or a different host.

  • System components: You can clone the configuration of a domain containing system components, such as Oracle HTTP Server and Oracle Internet Directory, to the same or a different Oracle instance, to the same or a different Middleware home, on the same host or a different host.

See Section 20.7 for details of considerations and limitations affecting specific components.

20.3 Understanding the Cloning Process

When you clone an entity of Oracle Fusion Middleware, the cloning process takes a snapshot of the information required for cloning. The following topics describe the cloning process:

20.3.1 Understanding Cloning a Middleware Home

When you clone a Middleware home, you create an archive of the source Middleware home and use the archive to create the cloned Middleware home:

  1. At the source, you run the copyBinary script, specifying the Middleware home that you want to clone. The script prepares the source for cloning and creates an archive. It also records the file permissions of the Middleware home and the Oracle homes within the Middleware home.

    The archive contains all of the Oracle homes and Oracle WebLogic Server home in the Middleware home.

  2. At the destination, you run the pasteBinary script, specifying a destination for the Middleware home. The script checks to see that the prerequisites are met at the destination. It extracts the files from the archive file, registers the Oracle homes with the Oracle inventory and registers WebLogic Server home with the Middleware home.

    The clone program then restores the file permissions and relinks any files if that is necessary.

See Section 20.5.1 for detailed information about these steps.

20.3.2 Understanding Cloning Components

You can clone certain Oracle Fusion Middleware components, as described in Section 20.2. You create an archive of the source component's configuration and use the archive to create the cloned component.

For Java components, such as Oracle SOA Suite, you use the copyConfig, extractMovePlan, and pasteConfig scripts to clone the configuration, including the domain, the Administration Server, and the Managed Servers.

For some system components, such as Oracle HTTP Server, you use the copyConfig, extractMovePlan, and pasteConfig scripts to clone the configuration, including the Oracle instance.

Note:

When you clone a component, the scripts replicate the topology of the source. For example, if the source domain contains Managed Servers server_1 and server_2 on Host A and Managed Servers server_3 and server_4 on Host B, you must specify a similar relationship between Managed Servers and hosts at the target. (You specify the hosts for each Managed Server in the move plan.)

To clone components, you take the following steps:

  1. You clone the Middleware home, as described in Section 20.3.1.

  2. At the source, make sure that the Administration Server and all Managed Servers are started.

  3. At the source, you run the copyConfig script, specifying the source component that you want to clone. The script creates a configuration archive file that contains a snapshot of the configuration of an Oracle WebLogic Server domain or system component instance.

  4. You extract a move plan from the source using the extractMovePlan script. A move plan contains configuration settings of the source environment. You can edit the move plan, specifying properties for the target environment.

  5. At the target, you run the pasteConfig script, specifying the destination for the component and the move plan. The script checks to see that the prerequisites are met at the target. It extracts the files from the archive file and uses the information in the move plan to modify the configuration on the target. Then, it restores the file permissions.

    In addition, the pasteConfig scripts starts the Administration Server.

See Section 20.5.2 and Section 20.5.3 for detailed information about these steps.

20.4 Cloning Syntax

Cloning uses the following jar file to execute the scripts necessary to clone binary and configuration files:

(UNIX) ORACLE_COMMON_HOME/jlib/cloningclient.jar
(Windows) ORACLE_COMMON_HOME\jlib\cloningclient.jar

You use the following scripts to clone a Middleware home or component:

  • To copy the binary files of the source Middleware home:

    (UNIX) ORACLE_COMMON_HOME/bin/copyBinary.sh
    (Windows) ORACLE_COMMON_HOME\bin\copyBinary.cmd
    

    See Section 20.4.1.1 for the syntax of the script.

  • To apply the copied Middleware home to the target:

    (UNIX) ORACLE_COMMON_HOME/bin/pasteBinary.sh
    (Windows) ORACLE_COMMON_HOME\bin\pasteBinary.cmd
    

    See Section 20.4.1.2 for the syntax of the script.

  • To copy the source component configuration:

    (UNIX) ORACLE_COMMON_HOME/bin/copyConfig.sh
    (Windows) ORACLE_COMMON_HOME\bin\copyConfig.cmd
    

    See Section 20.4.1.3 and Section 20.4.1.4 for the syntax of the script.

  • To extract a move plan from the source component:

    (UNIX) ORACLE_COMMON_HOME/bin/extractMovePlan.sh
    (Windows) ORACLE_COMMON_HOME\bin\extractMovePlan.cmd
    

    See Section 20.4.1.5 for the syntax of the script.

  • To apply the copied component configuration to the target:

    (UNIX) ORACLE_COMMON_HOME/bin/pasteConfig.sh
    (Windows) ORACLE_COMMON_HOME\bin\pasteConfig.cmd
    

    See Section 20.4.1.6 and Section 20.4.1.7 for the syntax of the script.

To view the help on any of these scripts, use the -help option. For example:

./pasteConfig.sh -javaHome /scratch/Oracle/Middleware/jdk160_21 -help

Note that the help shows the UNIX version of the parameter values. For other platforms, such as Windows, change the parameter values for the platform.

To specify additional Java options, define the T2P_JAVA_OPTIONS environment variable and specify the options in the variable definition. The following examples set the value for the Java temp directory:

  • On Linux or UNIX:

    setenv T2P_JAVA_OPTIONS "-Djava.io.tmpdir=/home/t2p/temp"
    export T2P_JAVA_OPTIONS
    
  • On Windows:

    set T2P_JAVA_OPTIONS="-Djava.io.tmpdir=c:\home\t2p\temp"
    

Note:

If you are applying the clone of a Middleware home on a host that does not yet have Oracle Fusion Middleware installed, note the following
  • The host must have JDK 1.6.04 or higher installed. In addition, ensure that the PATH, CLASSPATH, and JAVA_HOME environment variables point to the JDK.

  • Copy the pasteBinary script from the following location in the source host to the target host:

    (UNIX) ORACLE_COMMON_HOME/bin/pasteBinary.sh
    (Windows) ORACLE_COMMON_HOME\bin\pasteBinary.cmd
    
  • Copy the following file from the following location in the source host to the target host:

    (UNIX) ORACLE_COMMON_HOME/jlib/cloningclient.jar
    (Windows) ORACLE_COMMON_HOME\jlib\cloningclient.jar
    
  • If you run the pasteBinary script from a different location than ORACLE_COMMON_HOME/bin, then the pasteBinary script and the cloningclient.jar file must be in the same directory.

    If you are running pasteBinary on a host that has no prior Oracle Fusion Middleware installations, ORACLE_COMMON_home/bin will not exist prior to running pasteBinary, and therefore the pasteBinary script and cloningclient.jar must be in the same directory.

  • Ensure that the files have execute permission.

20.4.1 Cloning Scripts

The following topics describe the syntax of the cloning scripts. The options are described in the tables that follow the syntax.

Note:

  • All cloning scripts ask if you want to continue whenever you do not specify the -silent true option. To continue, you must type yes, which is not case sensitive. Any words other than yes causes the script to return an error. Also note that, in silent mode, the scripts generate an error if you do not provide passwords where they are needed.

  • Most options have shortcut names, as described in the tables later in the following sections.

  • The value of options must not contain a space. For example, on Windows, you cannot pass the following as a value to the -javaHome option:

    C:\\Program Files\jdk
    

20.4.1.1 copyBinary Script

Creates an archive file of the source Middleware home, by copying the binary files of that Middleware home, including all of its Oracle homes and its WebLogic Server home, into the archive file. The syntax is:

copyBinary -javaHome path_of_jdk
           -archiveLoc archive_location 
           -sourceMWHomeLoc MW_HOME   
            [-invPtrLoc Oracle_InventoryLocation]
            [-logDirLoc log_dir_path]
            [-silent {true | false}]
            [-ignoreDiskWarning {true | false}]

The following example shows how to create an archive of a Middleware home on Linux:

copyBinary.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
              -archiveLoc /tmp/mw_clone.jar
              -sourceMWHomeLoc /scratch/Oracle/Middleware1 
              -invPtrLoc /scratch/oracle/oraInst.loc

Note:

Before you execute the copyBinary script, ensure that all Oracle homes in the Middleware home are either 32 bit or 64 bit. The operation does not support a mix of 32-bit and 64-bit Oracle homes.

When you execute the command, you must specify a matching Java home. That is, if the Oracle homes are 64 bit, you must specify a 64-bit Java home. If the Oracle homes are 32 bit. you must specify a 32-bit Java home.

Table 20-1 describes the options for the copyBinary script.

Table 20-1 Options for the copyBinary Script

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file to be created with the copyBinary script.

The archive location must not exist, but its parent directory must exist and have write permission.

Ensure that the archive location is not within the Middleware home structure.

Mandatory

-sourceMWHomeLoc

-smw

The absolute path of the Middleware home to be archived. You can only specify one Middleware home.

Mandatory

-invPtrLoc

-ipl

On UNIX and Linux, the absolute path to the Oracle Inventory pointer. Use this option if the inventory location is not in the default location, so that the operation can read the Oracle homes present in the inventory.

You must have write permission to the inventory location.

(On UNIX and Linux, the default location is /etc/oraInst.loc.)

On Windows, if you specify this parameter, the script ignores it.

In previous releases, the shortcut was -invLoc, but that shortcut is now deprecated.

Optional, if the inventory is in the default location. Otherwise, it is mandatory on Linux.

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional

-silent

NA

Specifies whether the operation operates silently. That is, it does not prompt for confirmation. The default is that the operation prompts for confirmation. To specify that it does not prompt for confirmation, specify this option with the value of true.

Optional

-ignoreDiskWarning

-idw

Specifies whether the operation ignores a warning that there is not enough free space available. The default is false.

You may need to use this flag if the target is NFS mounted or is on a different file system, such as Data ONTAP.

Optional


20.4.1.2 pasteBinary Script

Applies the clone to the target destination, by pasting the binary files of the source Middleware home. You can apply the clone to the same host or a different host. The syntax is:

pasteBinary -javaHome path_of_jdk
            -archiveLoc archive_location
            -targetMWHomeLoc target_MW_Home_location
            [-executeSysPrereqs {true | false}]
            [-invPtrLoc Oracle_InventoryLocation]
            [-logDirLoc log_dir_path]
            [-silent {true | false}]
            [-ignoreDiskWarning {true | false}]

The following example shows how to apply the clone to the directory /scratch/oracle/MW_Home_clone, on Linux:

pasteBinary.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
               -archiveLoc  /tmp/mw_clone.jar 
               -targetMWHomeLoc /scratch/oracle/MW_Home_clone 

Table 20-2 describes the options for the pasteBinary script.

Table 20-2 Options for the pasteBinary Script

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the source Middleware home was installed with the JDK and Oracle JRockit outside of the Middleware home, the path you specify is used to configure the Middleware home.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file created with the copyBinary script.

The location must exist.

Ensure that the archive location is not within the Middleware home structure.

In previous releases, this option was named archiveLocation, but that name is now deprecated.

Mandatory

-targetMWHomeLoc

-tmw

The absolute path of the target Middleware home.

Ensure that the Middleware home directory does not exist at that location. If it does exist, the script returns an error message.

The targetMWHomeLoc cannot be inside another Middleware home.

In previous releases, this option was named targetLocation, but that name is now deprecated.

In previous releases, the shortcut was -tl, but that shortcut is now deprecated.

Mandatory

-executeSysPrereqs

-esp

Specifies whether the pasteBinary operation checks the prerequisites of the Oracle homes. The default is that it checks the prerequisites. To specify that it does not check the prerequisites, specify this option with the value false.

In previous releases, the shortcut was -exsysprereqs, but that shortcut is now deprecated.

Optional

-invPtrLoc

-ipl

On UNIX and Linux, the absolute path to the Oracle Inventory pointer. Use this option if the inventory location is not in the default location, so that the operation can read the Oracle homes present in the inventory.

You must have write permission to the inventory location.

(On UNIX and Linux, the default location is /etc/oraInst.loc.)

On Windows, if you specify this parameter, the script ignores it.

In previous releases, the shortcut was -invLoc, but that shortcut is now deprecated.

Optional, if the inventory is in the default location. Otherwise, it is mandatory on Linux.

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional

-silent

NA

Specifies whether the clone operation operates silently. That is, it does not prompt for confirmation. The default is that the operation prompts for confirmation. To specify that it does not prompt for confirmation, specify this option with the value of true.

Optional

-ignoreDiskWarning

-idw

Specifies whether the operation ignores a warning that there is not enough free space available. The default is false.

You may need to use this flag if the target is NFS mounted or is on a different file system, such as Data ONTAP.

Optional


20.4.1.3 copyConfig Script for Java Components

Creates a configuration archive that contains the snapshot of the configuration of an Oracle WebLogic Server domain. The underlying components of an Oracle WebLogic Server domain persist their configuration information in different data stores, such as a file system, Oracle Metadata Service (MDS), LDAP, or a database.

You must run the copyConfig script for each Oracle WebLogic Server domain in the source environment. A configuration archive is created for each source domain.

The Administration Server and all managed servers in the domain must be up and running when you run the script.

The syntax is:

copyConfig  -javaHome path_of_jdk
            -archiveLoc archive_location 
            -sourceDomainLoc domain_location
            -sourceMWHomeLoc Middleware_home_location
            -domainHostName domain_host_name
            -domainPortNum  domain_port_number 
            -domainAdminUserName domain_admin_username
            -domainAdminPassword domain_admin_password_file 
            [-mdsDataImport {true | false}]
            [-logDirLoc log_dir_path]
            [-silent {true | false}]

The following example copies the configuration of a domain containing Java components:

copyConfig.sh -javaHome /scratch/jrockit_160_20_D1.1.0-18 
               -archiveLoc /tmp/a.jar
               -sourceDomainLoc /scratch/mw_home1/user_projects/domains/WLS_SOAWC 
               -sourceMWHomeLoc /scratch/work/mw_home1/
               -domainHostName myhost.example.com 
               -domainPortNum 7001
               -domainAdminUserName weblogic 
               -domainAdminPassword /home/oracle/p.txt 
               -silent true

Note that the Administration Server and Managed Servers must be started when you run the copyConfig script.

Table 20-3 describes the options for the copyConfig script for Java components.

Table 20-3 Options for the copyConfig Script for Java Components

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file to be created by the copyConfig script.

Mandatory

-sourceDomainLoc

-sdl

The absolute path of the source domain containing the Java component.

Mandatory

-sourceMWHomeLoc

-smw

The absolute path of the source Middleware home.

Mandatory

-domainHostName

-dhn

The name of the host on which the domain is configured.

Mandatory

-domainPortNum

-dpn

The port number of the Administration Server for the domain.

In previous releases, this option was named domainPortNo, but that name is now deprecated.

In previous releases, the shortcut was -domainport, but that shortcut is now deprecated.

Mandatory

-domainAdminUserName

-dau

The name of the administrative user for the domain.

In previous releases, the shortcut was -domainuser, but that shortcut is now deprecated.

Mandatory

-domainAdminPassword

-dap

The absolute path of a secure file containing the password for the administrative user for the domain on the target environment. You must provide a password file, even if you are not changing the configuration.

In previous releases, the shortcut was -domainpass, but that shortcut is now deprecated.

Mandatory

-mdsDataImport

-mdi

Specifies whether to export the application MDS metadata to the archive so that it can be imported into the target. The default is true.

Specify false if you do not want to export the application MDS metadata.

If this option is set to true, the subsequent pasteConfig script that clones the component to the target imports the application MDS metadata to the target.

Optional

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional

-silent

NA

Specifies whether the operation operates silently. That is, it does not prompt for confirmation. The default is that the operation prompts for confirmation. To specify that it does not prompt for confirmation, specify this option with the value of true.

Optional


20.4.1.4 copyConfig Script for System Components

Creates a configuration archive that contains the snapshot of the configuration of an Oracle instance. The underlying components of the Oracle instance, such as Oracle HTTP Server or Oracle Internet Directory, persist their configuration information in different data stores, such as a file system, Oracle Metadata Service (MDS), LDAP, or a database.

You must run the copyConfig script for Oracle instance in the source environment. A configuration archive is created for each Oracle instance.

The syntax is:

copyConfig  -javaHome path_of_jdk
            -archiveLoc archive_location 
            -sourceInstanceHomeLoc src_instance_path
            -sourceComponentName src_component_name
            [-logDirLoc log_dir_path]
            [-silent {true | false}]

The following example shows how to create an archive of the Oracle Virtual Directory instance named ovd1 in the Oracle instance located in /scratch/Oracle/Middleware/im_1 on Linux:

copyConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
               -archiveLoc /tmp/ovd1.jar
               -sourceInstanceHomeLoc /scratch/Oracle/Middleware1/im_1
               -sourceComponentName ovd1

Note that the Administration Server and Managed Servers must be started when you run the copyConfig script.

Table 20-4 describes the options for the copyConfig script for system components.

Table 20-4 Options for the copyConfig Script for System Components

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file to be created by the copyConfig script.

In previous releases, this option was named archiveLocation, but that name is now deprecated.

Mandatory

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional

-silent

NA

Specifies whether the operation operates silently. That is, it does not prompt for confirmation. The default is that the operation prompts for confirmation. To specify that it does not prompt for confirmation, specify this option with the value of true.

Optional

-sourceComponentName

-scn

The name of the component to be cloned. For example, if your Oracle Internet Directory component is named oid1, specify oid1.

Mandatory

-sourceInstanceHomeLoc

-sih

The absolute path of the Oracle instance for the source component.

Mandatory


20.4.1.5 extractMovePlan Script

Extracts configuration information from the archive into a move plan. It also extracts any needed configuration plans. Then, you edit the move plan, specifying properties for the target environment. The syntax is:

extractMovePlan -javaHome path_of_jdk
                -archiveLoc archive_location
                -planDirLoc move_plan_directory
               [-logDirLoc log_dir_path]

The following example extracts the plans from the archive j2ee.jar:

extractMovePlan.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                  -archiveLoc /tmp/j2ee.jar
                  -planDirLoc /scratch/Oracle/t2p_plans

The extractMovePlan script extracts the move plan to the specified directory. Depending on the type of component that you are cloning, the extractMovePlan script may also extract other configuration plans.

For Java components, such as Oracle SOA Suite, it may extract the following:

/scratch/Oracle/t2p_plans/moveplan.xml
/scratch/Oracle/t2p_plans/composites
/scratch/Oracle/t2p_plans/composites/configplan1.xml
/scratch/Oracle/t2p_plans/composites/configplan2.xml
/scratch/Oracle/t2p_plans/adapters
/scratch/Oracle/t2p_plans/adapters/deploymentplan1.xml
/scratch/Oracle/t2p_plans/adapters/deploymentplan2.xml

For system components, such as Oracle Internet Directory and Oracle Virtual Directory, it may extract the following:

/scratch/Oracle/t2p_plans/moveplan.xml

Table 20-5 describes the options for the extractMovePlan script:

Table 20-5 Options for the extractMovePlan Script

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file created by the copyConfig script.

Mandatory

-planDirLoc

-pdl

The absolute path to a directory to which the move plan, along with any needed configuration plans, is to be extracted.

The directory must not exist.

Mandatory

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional


For information about the properties in the move plans, and which properties you should edit, see Section 20.5.4.

20.4.1.6 pasteConfig Script for Java Components

Applies the copied configurations from the source environment to the target environment. Inputs for the script include the location of the configuration archive created with the copyConfig script for the Oracle WebLogic Server domain and the modified move plan. The pasteConfig script recreates the configuration information for the Oracle WebLogic Server domain in the target environment. It also merges the move plan property values for the target environment.

The syntax is:

pasteConfig  -javaHome path_of_jdk 
             -archiveLoc archive_location
             -targetDomainLoc trgt_domain_path 
             -targetMWHomeLoc trgt_Middleware_Home_path
             -movePlanLoc move_plan_path 
             -domainAdminPassword domain_admin_password_file 
             [-appDir WLS_application_directory] 
             [-logDirLoc log_dir_path]
             [-silent {true | false}]

The following example shows how to apply the clone of the domain to the Middleware home MW_home1:

pasteConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
            -archiveLoc /tmp/java_ee_cl.jar
            -targetDomainLoc /scratch/oracle/MW_home1/user/projects/domains/dom_cl
            -targetMWHomeLoc /scratch/oracle/MW_home1 
            -movePlanLoc /scratch/oracle/java_ee/move_plan.xml
            -domainAdminPassword /scratch/pwd_dir/pass.txt 
            -logDirLoc /tmp/log

Table 20-7 describes the options for the pasteConfig script for Java components.

Table 20-6 Options for the pasteConfig Script for Java Components

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file created by the copyConfig script.

Mandatory

-targetDomainLoc

-tdl

The absolute path of the target domain. The domain location must not exist for the specified Middleware home.

The domain directory may be located outside of the directory structure of the Middleware home.

Mandatory

-targetMWHomeLoc

-tmw

The absolute path of the target Middleware home in which the domain is to be cloned.

Mandatory

-movePlanLoc

-mpl

The absolute path of the move plan extracted from the source.

Mandatory

-domainAdminPassword

-dap

The absolute path of a secure file containing the password for the administrative user for the domain on target environment. You must provide a password file, even if you are not changing the configuration.

Note that the password is based on the authentication provider for the domain. For example, the authenticator can be an embedded LDAP or an external LDAP.

In previous releases, the shortcut was -domainpass, but that shortcut is now deprecated.

Mandatory.

-appDir

-ad

The absolute path of the Oracle WebLogic Server application directory on the target.

Optional

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional

-silent

NA

Specifies whether the operation operates silently. That is, it does not prompt for confirmation. The default is that the operation prompts for confirmation. To specify that it does not prompt for confirmation, specify this option with the value of true.

Optional


20.4.1.7 pasteConfig Script for System Components

Applies the copied configurations from the source environment into target environment. Inputs for the script include the location of the configuration archive created with the copyConfig script for the Oracle instance and the modified move plan. The pasteConfig script iterates and recreates the configuration information for the Oracle instance in the target environment. It also merges the move plan property values for the target environment.

The syntax is:

pasteConfig  -javaHome path_of_jdk 
             -archiveLoc archive_location
             -movePlanLoc move_plan_path 
             -targetComponentName trgt_component_name 
             -targetInstanceHomeLoc trgt_Instance_path 
             [-targetInstanceName trgt_Instance_name] 
             [-targetOracleHomeLoc trgt_ORACLE_HOME_path] 
             [-logDirLoc log_dir_path]
             [-silent {true | false}]
             [ <Domain Detail> ]

<Domain Detail> =
         -domainHostName domain_host_name
         -domainPortNum  domain_port_number 
         -domainAdminUserName domain_admin_username
         -domainAdminPassword domain_admin_password_file 

The following example shows how to apply the clone to the Oracle instance im_2 and to name the cloned Oracle Virtual Directory instance ovd_cl:

pasteConfig.sh -javaHome /scratch/Oracle/Middleware/jrockit_160_20_D1.1.0-18
            -archiveLoc /tmp/ovd1.jar
            -movePlanLoc /scratch/oracle/ovd/move_plan.xml
            -targetOracleHomeLoc /scratch/Oracle/Middleware/Oracle_IM2 
            -targetInstanceHomeLoc /scratch/Oracle/Middleware/im_2 
            -targetInstanceName im_2 
            -targetComponentName ovd_cl 
            -domainHostName myhost 
            -domainPortNum 7001
            -domainAdminUserName domain_admin_username
            -domainAdminPassword domain_admin_password_file 

Table 20-7 describes the options for the pasteConfig script for system components.

Table 20-7 Options for the pasteConfig Script for System Components

Options Shortcut Description Mandatory or Optional

-javaHome

NA

The absolute path of the Java Developer's Kit.

If the operating system is SunOS, HP-UX, or Linux 64 bit, pass the -d64 option to the scripts in the command line.

To set the runtime property, you can specify the -d64 option in the T2P_JAVA_OPTIONS environment variable. For example:

setenv T2P_JAVA_OPTIONS "-d64 -Djava.io.tmpdir=/home/t2p/temp"

Mandatory

-archiveLoc

-al

The absolute path of the archive location. Use this option to specify the location of the archive file created by the copyConfig script.

In previous releases, this option was named archiveLocation, but that name is now deprecated.

Mandatory

-movePlanLoc

-mpl

The absolute path of the move plan extracted from the source.

Mandatory

-targetComponentName

-tcn

The name of the target component to be cloned. The name must be unique in the instance.

Mandatory

-targetInstanceHomeLoc

-tih

The absolute path of the target Oracle instance.

If the Oracle instance directory does not exist at that location, the script creates the directory.

Mandatory

-targetInstanceName

-tin

The name of the target Oracle instance.

The name must be unique in the domain.

Optional, if the targetInstanceHomeLoc directory exists. In this case, the operation retrieves the name from the configuration.

-targetOracleHomeLoc

-toh

The absolute path of the target Oracle home.

The target Oracle home must exist and it must contain the binaries for the component you are cloning.

Optional, if the targetInstanceHomeLoc exists. In this case, the operation retrieves the value from the configuration.

-logDirLoc

-ldl

The location of an existing directory. A new log file is created in the directory. The default is the system Temp location.

Optional

-silent

NA

Specifies whether the operation operates silently. That is, it does not prompt for confirmation. The default is that the operation prompts for confirmation. To specify that it not prompt for confirmation, specify this option with the value of true.

Optional

Domain-Detail Options

     

-domainHostName

-dhn

The name of the host on which the domain is configured.

Use this option if you want to register the component with the domain.

In previous releases, the shortcut was -domainhost, but that shortcut is now deprecated.

Optional, if you do not want to register the component with the domain.

-domainPortNum

-dpn

The port number of the domain.

Use this option if you want to register the component with the domain.

The domain port number is listed in the following file as the adminPort:

ORACLE_INSTANCE/config/OPMN/opmn/instance.properties

For example: adminPort=7001

In previous releases, this option was named domainPortNo, but that name is now deprecated.

In previous releases, the shortcut was -domainport, but that shortcut is now deprecated.

Optional, if you do not want to register the component with the domain.

-domainAdminUserName

-dau

The name of the administrative user for the domain.

Use this option if you want to register the component with the domain.

In previous releases, the shortcut was -domainuser, but that shortcut is now deprecated.

Optional, if you do not want to register the component with the domain.

-domainAdminPassword

-dap

The absolute path of a secure file containing the password for the administrative user for the domain. You must provide a password file, even if you are not changing the configuration.

Use this option if you want to register the component with the domain.

In previous releases, the shortcut was -domainpass, but that shortcut is now deprecated.

Optional, if you do not want to register the component with the domain.


20.5 Cloning Oracle Fusion Middleware Entities

The general steps for cloning, whether you are cloning Middleware home or a component, are similar. The general steps are described in Section 20.3.

The following topics describe how to clone Oracle Fusion Middleware entities and how to customize move plans for components:

20.5.1 Cloning a Middleware Home

You can clone a Middleware home, which can contain one or more Oracle homes and an Oracle WebLogic Server home. (You can also clone a Middleware home that contains zero Oracle homes, but you need to have the cloning jar file and cloning scripts that are compatible with the version of the Middleware home you want to clone.)

Note:

  • The cloning operation archives only those Oracle homes that lie within a Middleware home. It does not clone Oracle homes that are located outside of the Middleware home.

  • You can clone only one Middleware home at a time.

  • If Oracle WebLogic Server is not located in the Middleware home, the Oracle WebLogic Server home is not archived and cloned, but any Oracle homes in the Middleware home are archived and cloned.

  • On Windows, ensure that no Oracle WebLogic Server processes are running in the source Middleware home.

  • On UNIX, if the target host does not contain the file oraInst.loc, you must create the file (you must have Super User or root privileges). By default, the clone operation looks for the file in the /etc directory. If you create it in another location, use the -invPtrLoc option to the pasteBinary script to specify the location.

    The file must contain the following:

    inventory_loc=oraInventory_location
    inst_group=user_group
    

To clone a Middleware home:

  1. On Windows, at the source Middleware home, stop the Administration Server and any Managed Servers running in the Middleware home.

  2. At the source Middleware home, execute the copyBinary script, which copies the WebLogic Server home and the Oracle homes contained within the Middleware home. If there are no Oracle homes in the source Middleware home, no Oracle homes are present in the archive.

    For example, to clone a Middleware home that is located at /scratch/Oracle /Middleware1, use the following command:

    copyBinary.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                  -archiveLoc /tmp/mw_clone.jar
                  -sourceMWHomeLoc /scratch/Oracle/Middleware1 
                  -invPtrLoc /scratch/oracle/oraInst.loc
    
  3. If you are cloning the Middleware home to a different host, copy the archive file to that system.

  4. Copy the pasteBinary scripts and the cloningclient.jar file to the target system and ensure that they have execute permission. See Section 20.4 for the locations of the files.

    Do not copy the other scripts, such as pasteConfig. Those scripts are generated when you extract the files, as in step 5.

  5. At the target, extract the files from the archive using the pasteBinary script.

    For example, to apply the clone to the directory /scratch/oracle/MW_Home_clone, use the following command:

    pasteBinary.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
                   -archiveLoc  /tmp/mw_clone.jar 
                   -targetMWHomeLoc  /scratch/oracle/MW_Home_clone 
    

    The Middleware home is extracted to /scratch/oracle/MW_Home_clone and the WebLogic Server home and all of the Oracle homes are extracted under it with the same names as that of the source Oracle home names.

20.5.2 Cloning Java Components

You can clone some types of Oracle Fusion Middleware Java components, such as Oracle SOA Suite. When you do, you copy the configuration of the source domain.

When you clone Java components, you customize the properties in the Java components move plan, as described in Table 20-9. If you are using Oracle ADF, you modify the properties shown in Table 20-10.

To clone a Java component:

  1. At the source Middleware home, make sure that the Administration Server and all Managed Servers are started.

  2. At the source Middleware home, execute the copyConfig script to copy the domain.

    For example, to clone the Oracle SOA Suite domain named SOA_domain1 in the in the Middleware home /scratch/Oracle/Middleware1, use the following command:

    copyConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
                  -archiveLoc /tmp/soa.jar
                  -sourceDomainLoc /scratch/Oracle/Middleware1/user_projects/domains/SOA_domain1
                  -sourceMWHomeLoc /scratch/Oracle/Middleware1
                  -domainHostName example.com
                  -domainPortNum 8001
                  -domainAdminUserName admin_username
                  -domainAdminPassword /scratch/admin/passwd.txt
                  -logDirLoc /tmp/logs
    
  3. If you are cloning the component to a different host, copy the archive file to that system.

  4. Extract the move plan from the archive, using the extractMovePlan script. For example:

    extractMovePlan.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                     -archiveLoc /tmp/soa.jar
                     -planDirLoc /tmp/Oracle/t2p_plans/soa
    
  5. Edit the move plan, modifying the properties listed in Table 20-9 to reflect the values for the target environment. In addition, you may need to modify additional properties, depending on the component. For example, for Oracle SOA Suite, you modify the properties in Table 20-11. In addition, you may need to edit Oracle B2B channel properties, as described in the text following Section 20.5.2.1.

  6. At the target, extract the files from the archive using the pasteConfig script. For example, to apply the clone to the Middleware home /scratch/Oracle/Middleware1, use the following command:

    pasteConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                -archiveLoc /tmp/soa.jar
                -movePlanLoc /tmp/Oracle/t2p_plans/soa/moveplan.xml
                -targetDomainLoc /scratch/Oracle/Middleware1/user_projects/domains/SOA_domain1
                -targetMWHomeLoc /scratch/Oracle/Middleware1/
                -domainAdminPassword /scratch/pwd_dir/pass.txt 
    

For considerations about cloning Oracle SOA Suite, see Section 20.5.2.1.

20.5.2.1 Considerations for Cloning Oracle SOA Suite

You can clone the domain containing Oracle SOA Suite to the same or a different Middleware home, on the same host or a different host.

To clone Oracle SOA Suite, use the procedure described in Section 20.5.2. When you run the extractMovePlan script, you modify the move plan properties described in Table 20-9 and Table 20-11.

The Oracle SOA Suite domain can be configured with multiple components. When you clone Oracle SOA Suite, the following components are also cloned along with the SOA Service Infrastructure:

  • Oracle BPEL Process Manager

  • Oracle B2B

  • Oracle Business Activity Monitoring

  • Oracle Mediator

  • Oracle Adapters

  • Oracle Business Rules

  • Oracle Web Services Manager Policy Manager

  • Oracle User Messaging Service

  • Fusion Middleware Control

  • Any Java EE application deployed to the Oracle SOA Suite domain

  • Any SOA Composites deployed to the Oracle SOA Suite domain

Along with the domain configuration of the preceding Oracle SOA Suite components, the component metadata of the following components is also cloned:

  • Oracle Web Services Manager Policy Manager

  • Oracle Human Workflow

  • Oracle B2B

  • Composites and applications that host their metadata in the MDS Repository

When you clone Oracle SOA Suite, you edit the properties in the move plan for Java components and the move plan for Oracle SOA Suite. The move plan properties for Java components are described in Table 20-9. The move plan properties for Oracle SOA Suite are described in Table 20-11.

In addition to the properties listed in Table 20-9 and Table 20-11, the properties for Oracle B2B channels are in the B2B Channels group. However, because B2B channels can be in various forms, there are no standard properties for a channel. When you extract a move plan, that move plan contains the properties for the current channels in the source environment. Edit the properties to specify values for the target environment.

The following example shows a portion of a move plan for B2B channels:

<movableComponent>
    <componentType>B2B</componentType>
    <moveDescriptor>
        <configGroup>
            <type>B2B Channels</type>
            <configProperty id="Channel1">
                <configProperty>
                    <name>file-param-is_binary</name>
                    <value></value>
                    <itemMetadata>
                        <dataType>STRING</dataType>
                        <scope>READ_WRITE</scope>
                    </itemMetadata>
                </configProperty>
                <configProperty>
                    <name>file-param-marker</name>
                    <value></value>
                    <itemMetadata>
                        <dataType>STRING</dataType>
                        <scope>READ_WRITE</scope>
                    </itemMetadata>
                </configProperty>

20.5.3 Cloning System Components

You can clone the system components, such as Oracle HTTP Server or Oracle Virtual Directory.

To clone a system component:

  1. At the source Middleware home, make sure that the Administration Server and all Managed Servers are started.

  2. At the source Middleware home, execute the copyConfig script.

    For example, to clone the Oracle HTTP Server instance named ohs1 in the Oracle instance located in /scratch/Oracle/Middleware1/webtier_1, use the following command:

    copyConfig.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18 
                  -archiveLoc /tmp/ohs1.jar
                  -sourceInstanceHomeLoc /scratch/Oracle/Middleware1/webtier_1
                  -sourceComponentName ohs1
    
  3. If you are cloning the component to a different host, copy the archive file to that system.

  4. Extract the move plan from the archive, using the extractMovePlan script. For example:

    extractMovePlan.sh -javaHome /scratch/Oracle/Middleware1/jrockit_160_20_D1.1.0-18
                     -archiveLoc /tmp/ohs1.jar
                     -planDirLoc /tmp/Oracle/t2p_plans/ohs
    
  5. Edit the move plan, modifying the properties for the particular component to reflect the values for the target environment:

    Note that the Oracle instance name must be unique in the domain and the component name must be unique in the Oracle instance. If you are cloning the Oracle instance to the same domain, use the -targetInstanceName and -targetComponentName properties in the move plan to specify a different name for the instance and component.

  6. At the target, extract the files from the archive using the pasteConfig script. For example, to apply the clone to the Oracle instance webtier_2 and name the cloned Oracle HTTP Server instance ohs_cl, use the following command:

    pasteConfig.sh -javaHome /scratch/Oracle/Middleware/jrockit_160_20_D1.1.0-18
                -archiveLoc /tmp/ohs1.jar
                -movePlanLoc /tmp/Oracle/t2p_plans/ohs/moveplan.xml
                -targetOracleHomeLoc /scratch/Oracle/Middleware/Oracle_WebTier 
                -targetInstanceHomeLoc /scratch/Oracle/Middleware/webtier_2 
                -targetInstanceName webtier_2 
                -targetComponentName ohs_cl 
                -domainHostName myhost
                -domainPortNum 7001 
                -domainAdminUserName domain_admin_username
                -domainAdminPassword domain_admin_password_file 
    

The following topics provide information specific to the types of system components you can clone:

20.5.3.1 Cloning Oracle HTTP Server

You can clone Oracle HTTP Server to the same or a different Oracle instance, to the same or a different Middleware home, on the same host or a different host.

You must apply the clone to an Oracle home that contains the binaries for Oracle HTTP Server.

To clone Oracle HTTP Server, use the procedure described in Section 20.5.3.

If Oracle HTTP Server is configured with WebGate, note the following

  • The WebGateInstalldir property and references to this path are updated in the webgate.conf file.

  • The WebGate directory must be in the following directory:

    Oracle_Instance/config/OHS/ohs_component_name
    

Modify the properties of the move plan listed in Table 20-12.

For Oracle HTTP Server, there are many configGroup elements in the move plan. Each configGroup element is associated with one Oracle HTTP Server configuration file. As a result, there may be more than one instance of a particular property, such as User.

20.5.3.2 Cloning Oracle Internet Directory

You can clone Oracle Internet Directory to the same or a different Oracle instance, to the same or a different Middleware home, on the same host or a different host.

You must apply the clone to an Oracle home that contains the binaries for Identity Management.

To clone Oracle Internet Directory, use the procedure described in Section 20.5.3.

Table 20-13 describes the properties that you can change for the move plan for Oracle Internet Directory.

Note that under certain conditions, you may see the following errors when you clone Oracle Internet Directory:

OID Cloning: Error cleaning replication agreements
OID Cloning: Error deleting replication dn
OID Cloning: Error updating orclreplicaid

If you do, take the following steps:

  1. Run the following command:

    ORACLE_HOME/ldap/bin/remtool -pcleanup
    

    When prompted, enter the OID host, non-SSL port, and the ODS schema password.

  2. Perform an ldapsearch on the root dn for the orclreplicaid value. Use the following command:

    ORACLE_HOME/bin/ldapsearch -p port -h host 
       -b "" -s base "(objectclass=*)" orclreplicaid
    
  3. Using the value in obtained in Step 2, perform an ldapdelete, deleting the following dns from Oracle Internet Directory:

    cn=replication dn, orclreplicaid=<replicaid>, cn=replication configuration
    orclreplicaid=<replicaid>, cn=replication configuration
    

    For example:

    ldapdelete -p port -h host "cn=replication dn,
       orclreplicaid=replicaid, cn=replication configuration"
    
  4. Set the orclreplicaid value in the root entry to 0. For example:

    ORACLE_HOME/bin/ldapmodify -p port -h host -f file.ldif
    

    The ldif file contains the following:

    dn:
    changetype: modify
    replace: orclreplicaid
    orclreplicaid: 0
    
  5. Restart Oracle Internet Directory.

20.5.3.3 Cloning Oracle Virtual Directory

You can clone Oracle Virtual Directory to the same or a different Oracle instance, to the same or a different Middleware home, on the same host or a different host.

You must apply the clone to an Oracle home that contains the binaries for Identity Management.

To clone Oracle Virtual Directory, use the procedure described in Section 20.5.3.

Table 20-14 describes the properties that you can change for the move plan for Oracle Virtual Directory.

20.5.4 Customizing Move Plans When Cloning Components

When you clone Oracle Fusion Middleware components, you run the extractMovePlan script to create a move plan for the component that you are cloning. The extractMovePlan script extracts configuration information from the archive into a move plan. It also extracts any needed configuration plans. Before you apply the clone to the target, you must edit the move plan to reflect the values of the target environment.

The following shows an excerpt of a move plan for Java components:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<movePlan>
    <movableComponent>
        <componentType>J2EEDomain</componentType>
        <moveDescriptor>
            <configProperty>
                <name>Startup Mode</name>
                <value>PRODUCTION</value>
                <itemMetadata>
                    <dataType>STRING</dataType>
                    <scope>READ_WRITE</scope>
                </itemMetadata>
            </configProperty>
            <configGroup>
                <type>SERVER_CONFIG</type>
                <configProperty id="Server1">
                    <configProperty>
                        <name>Server Name</name>
                        <value>AdminServer</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_ONLY</scope>
                        </itemMetadata>
                    </configProperty>
                    <configProperty>
                        <name>Listen Address</name>
                        <value>example.com</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_WRITE</scope>
                        </itemMetadata>
                    </configProperty>

You can modify properties with the scope of READ_WRITE. Do not modify the properties with the scope of READ_ONLY.

20.5.4.1 Locating ConfigGroup Elements

Most move plans contain multiple configGroup elements. When a property is associated with a particular configGroup element, the tables listing the properties group the properties by configGroup element. For example Table 20-9, which shows the properties for the move plan for Java components, shows multiple configGroup elements, such as SERVER_CONFIG and MACHINE_CONFIG.

The following example shows a portion of the move plan for Java components, with portions of the SERVER_CONFIG and MACHINE_CONFIG configGroup elements:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<movePlan>
    <movableComponent>
        <componentType>J2EEDomain</componentType>
        <moveDescriptor>
            <StartupMode>PRODUCTION</StartupMode>
            <configGroup>
                <type>SERVER_CONFIG</type>
                <configProperty id="Server1">
                    <configProperty>
                        <name>Server Name</name>
                        <value>AdminServer</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_ONLY</scope>
                        </itemMetadata>
                    </configProperty>
 .
 .
 .
            </configGroup>
            <configGroup>
                <type>MACHINE_CONFIG</type>
                <configProperty id="Machine1">
                    <configProperty>
                        <name>Machine Name</name>
                        <value>LocalMachine</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_WRITE</scope>
                        </itemMetadata>
                    </configProperty>
                    <configProperty>
                        <name>Node Manager Listen Address</name>
                        <value>example.com</value>
                        <itemMetadata>
                            <dataType>STRING</dataType>
                            <scope>READ_WRITE</scope>
                        </itemMetadata>
                    </configProperty>
 .
 .
 
            </configGroup>

20.5.4.2 Move Plans for Components

The tables in this section describe the move plan properties you can customize for Oracle Fusion Middleware components.

The properties that you edit differ depending on the type of component. Table 20-8 provides pointers to the appropriate list of properties for each component.

Table 20-8 Move Plan Properties for Components

Component Where to find the list of properties

Java components

Table 20-9

Oracle ADF connections

Table 20-10

Oracle SOA Suite

Table 20-9 and Table 20-11

Oracle HTTP Server

Table 20-12

Oracle Internet Directory

Table 20-13

Oracle Virtual Directory

Table 20-14


Table 20-9 describes the properties you can customize for Java components.

Table 20-9 Common Move Plan Properties for Java Components

Properties Description Sample Value

Startup Mode

The startup mode of an Oracle WebLogic Server domain.

Valid values are:

  • DEVELOPMENT. Use this mode while you are developing your applications. Development mode uses a relaxed security configuration and enables you to auto-deploy applications.

  • PRODUCTION. Use this mode when your application is running in its final form. A production domain uses full security and may use clusters or other advanced features.

The default is PRODUCTION.

PRODUCTION

Common Java Properties

The following properties are in the SERVER_CONFIG group.

 

Listen Address

The Listen address of the WebLogic Server. Set it to the host name or set it to all local addresses to listen on all addresses on the host.

All Local Addresses

Listen Port

The number of the Listen port.

If you do not provide a port number or if the port number you provide is not available, the operation returns an error.

8001

Oracle WebLogic Server Cluster Configuration Properties

The following properties are in the CLUSTER_CONFIG group.

 

Messaging Mode

The cluster messaging mode. Acceptable values are unicast and multicast.

multicast

Cluster Address

The cluster address

localhost

Unicast Channel

The name of the unicast channel

MyMulticastChannel

Multicast Address

The multicast address

239.192.0.0

Multicast Port

The port number of the multicast address

8899

Frontend Host

The name or IP address of the front-end host for the cluster

example.com

Frontend HTTP Port

The HTTP port number for the front-end host for the cluster

7008

Machine Configuration Properties

The following properties are in the MACHINE_CONFIG group.

 

Machine Name

The name of the machine

example.com

Node Manager Listen Address

The Listen address of the machine running the Node Manager

examplehost

Node Manager Listen Port

The port number of the Listen address of the machine running Node Manager

5556

Deployment Plans

The following properties are in the DEPLOYMENT_PLAN_CONFIG group.

 

Deployment Plan

The location where an application's deployment plan will be extracted. The location is relative to the location of the move plan.

deployment_plans/helloWorldEar_plan.xml

Authenticators

The following properties are in the AUTHENTICATORS group.

 

Host Name

The LDAP server host name

example.com

Port

The LDAP server port number

3060

Principal

The Admin user for the LDAP server

cn=orcladmin

Password File

The absolute path of a secure file containing the password for the LDAP user. You must provide a password file, even if you are not changing the configuration.

/scratch/p.txt

User Base DN

The user base distinguished name (DN)

cn=users,dc=us,dc=oracle,dc=com 

User Object Class

The user object class

person

Group Base DN

The group base distinguished name (DN)

cn=groups,dc=us,dc=oracle,dc=com 

GUID Attribute

The global unique identifier

orclguid

Data Source Configuration

The following properties are in the DATASOURCE group.

 

Driver Class

The driver class of the data source. Refer to "Selecting a JDBC Driver" in the Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server to choose the appropriate class.

oracle.jdbc.OracleDriver

Url

The URL of the database for the data source. It contains the host name, database service name or SID, and the database port number.

jdbc:oracle:thin:@orcl.examplecom:1521/orcl.example.com

User

The schema name of the data source.

OFM_MDS

Password File

The absolute path to the secure file containing the password of the database schema. You must provide a password file, even if you are not changing the configuration of the data source.

/scratch/oracle/pass_ds.txt

LDAP-Based Policy and Credential Store Configuration

The following properties are in the OPSS_SECURITY group. They are in the configProperty with the ID of LDAP.

If the source is a file-based store, these properties, as well as the LDAP-based and Database-Based Policy and Credential Store properties are exposed. When you configure the move plan, you can change from a file-based to an LDAP or database-based store.

If the source is LDAP-based, only the LDAP properties are exposed. You cannot change it to a different type, but you can change the LDAP endpoints.

If the source is database-based, only the database properties are exposed. You cannot change it to a different type, but you can change the database-based endpoints.

You can only use one type of store, LDAP-Based or Database-Based. To use one, uncomment the section in the move plan and ensure the other is commented.

 

Password File

The absolute path to the secure file containing the password of the LDAP Server Administrative user. You must provide a password file, even if you are not changing the configuration of the LDAP Server.

/scratch/oracle/pass_ldap.txt

LDAP User

The LDAP Server Administrative user name

cn=orcladmin

Jps Root

The LDAP Server context root

cn=jpsRoot

Domain

The name of the domain

SOA_domain

Server Type

The type of server. Valid values are OID (Oracle Internet Directory) or OVD (Oracle Virtual Directory).

OID

LDAP Url

The URL of the LDAP connection. It contains the host name and port number of the LDAP store.

ldap://example.com:3060

Database-Based Policy and Credential Store Configuration

The following properties are in the OPSS_SECURITY group. They are in the configProperty with the id of DB.

If the source is a database-based store, these properties are exposed in the move plan. (The LDAP-based store is not exposed and you cannot move from a database-based to an LDAP-based store.)

 

Password File

The absolute path to the secure file containing the password of the OPSS schema owner. You must provide a password file, even if you are not changing the configuration.

/scratch/oracle/pass_ldap.txt

DataSource Jndi Name

The name of the data source

opssds

Jps Root

The LDAP Server context root

cn=jpsRoot

Domain

The name of the domain

SOA_domain

Driver Class

The driver class of the data source. Refer to "Selecting a JDBC Driver" in the Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server to choose the appropriate class.

oracle.jdbc.OracleDriver

Url

The database URL of the data source. It contains the host name, the database port number, and the database service name or SID.

jdbc:oracle:thin:@hostname.com:1521:orcl

User

The name of the OPSS schema owner of the data source.

DEV_OPSS

RDBMS Security Store

The following properties are in the RDBMS Security Store group.

 

URL

The database URL of the security store connection. It contains the host name, the database port number, and the database service name or SID.

jdbc:oracle:thin:@hostname.com:1521/orcl.us.oracle.com

Driver Class

The driver class of the RDBMS Security Store connection. Refer to "Selecting a JDBC Driver" in the Oracle Fusion Middleware Configuring and Managing JDBC for Oracle WebLogic Server to choose the appropriate class.

oracle.jdbc.OracleDriver

User

The name of the schema owner

admin

Password File

The absolute path to the secure file containing the password of the security store schema owner. You must provide a password file, even if you are not changing the configuration.

/scratch/oracle/pass_rbms.txt

Resource Adapter Configuration

The following property is in the ADAPTER group.

 

Deployment Plan

The path to the deployment plan to be used during cloning to the target. The path can be absolute, or relative to the location of the move plan.

The deployment plan is extracted by the extractMovePlan script.

/scratch/adapters/adapters.xml

Table 20-10 describes the properties you can customize if you are using Oracle ADF connections.

Table 20-10 Move Plan Properties for Oracle ADF Connections

Properties Description Sample Value

Oracle Application Development Framework: Application

   

Port

The port number used for the URL connections

7000

URL

The URL used for the connection

example.com

Oracle Application Development Framework Business Components

 

ServiceEndpointProvider

Business Components service endpoint provider

ADFBC

JndiFactoryInitial

JNDI initial factory class

com.sun.java.jndi.InitialFactory

JndiProviderUrl

The URL of the JNDI provider

t3://example.com:7101

JndiSecurityPrincipal

JNDI security principal name

weblogic

FabricAddress

Fabric address string

http://example.com

WebServiceConnectionName

The Web Service connection name

test

Oracle Enterprise Scheduler

 

NotificationServiceURL

The Oracle Enterprise Scheduler notification service URL

http://localhost:8001

BAM Connection Properties

   

WEBTIER_SERVER

The Oracle BAM web server host

example.com

USER_NAME

The BAM user name

user

PASSWORD

The password for the BAM user name

password

WEBTIER_SERVER_PORT

The port number for the web server

9001

BAM_SERVER_PORT

The JNDI port number

8001

BAM_WEBTIER_PROTOCOL

The network protocol. The valid values are HTTP and HTTPS.

HTTP

Oracle Essbase

 

SET_PROXY_HOST_DESCRIPTION

The host name for the Oracle Essbase server

example.com

SET_PROXY_PORT_DESCRIPTION

The listening port number of the Oracle Essbase server

1423

SET_USERNAME_DESCRIPTION

The user name

user3

SET_PASSWORD_DESCRIPTION

The password for the user

password

SET_CLUSTER_DESCRIPTION

The name of the cluster of which the Oracle Essbase server is a member

esbCluster

Oracle WebCenter Content Repository

 

ServerHost

The host name of the machine where Content Server is running

example.com

ServerPort

The port number on which the Content Server listens

4444

ServerWebUrl

The Web server URL for the Oracle Content Server

http://example.com/cms/idcplg

Oracle WebCenter Announcements and Discussions

 

AdminUser

The name of the Discussions server administrator. This account is used by the Discussions and Announcements services to perform administrative operations on behalf of WebCenter users.

admin

Url

The URL of the Discussions server hosting Discussion forums and Announcements

http://example.com:8890/owc_discussions

Oracle WebCenter External Applications

 

Url

The login URL for the external application

https://example.com/config/login?

Oracle WebCenter Instant Messaging and Presence

 

BaseConnectionURL

The URL of the sever hosting instant messaging and presence services

http://example.com:8888

ExternalAppId

The external application ID associated with the Presence server connection. If specified, external application credential information is used to authenticate users against the Microsoft Live Communications Server, Microsoft Office Communications Server, or Oracle WebLogic Communications Server. This property is mandatory for Microsoft Live Communications Server and Microsoft Office Communications Server connections.

extApp

Oracle WebCenter Mail Server

 

ExternalAppId

The external application ID associated with the mail server.

extApp_Mail

ImapHost

The host name of the IMAP server

example.com

ImapPort

The port number of the IMAP server

993

ImapSecured

Specifies whether the mail server connection to the IMAP server is SSL-enabled. Valid values are true and false. The default is false.

true

SmtpHost

The the host name of the computer where the SMTP (Simple Mail Transfer Protocol) service is running

example.com

SmtpPort

The port number of the SMTP host

587

SmtpSecured

Specifies whether the SMTP server is secured. Valid values are true and false. The default is false.

true

Oracle WebCenter Personal Events

 

ExternalAppId

The external application associated with the Microsoft Exchange Server providing personal events services. If specified, external application credential information is used to authenticate users against the Microsoft Exchange Server.

ExtPEApp

WebServiceURL

The URL of the Web service exposing the event application

http://example.com:80/ExchangeWS/PersonalEventsWebService.asmx

Oracle WebCenter Producers

 

ProxyHost

The host name or IP address of the proxy server

example.com

ProxyPort

The port number of the proxy server

80

Oracle WebCenter URL Connection

 

Host

The host name of the proxy server to be used for the Web Producers connection

example.com

Port

The port number to be used for the Web Producers connection

80

URL

The URL for the Web Producers connection

http:/example.com:port

Oracle Secure Enterprise Search in Oracle WebCenter

 

SoapURL

The Web Services URL that Oracle SES exposes to enable search requests

http:/example.com:port/search/query/OracleSearch

Oracle WebCenter Worklists

 

URL

The URL required to access the BPEL server. The BPEL server URL must be unique within the WebCenter application.

protocol://example:port

Oracle Web Services

 

WsdlUrl

The URL for the WSDL

http://example.com:port/MyWebService1?WSDL

AddressUrl

The service endpoint URL

http://example.com:port/MyWebService1

ProxyHost

The name of the host on which the proxy server is running

example.com

ProxyPort

The port number to which the proxy server is listening

80

Table 20-11 describes the properties you can customize for Oracle SOA Suite.

Table 20-11 Move Plan Properties for Oracle SOA Suite

Properties Description Sample Value

SOA Composites Configuration

The following property is in the Composite group:

 

Config Plan Location

The location of the configuration plan to be used during cloning to the target to redeploy the composite application. The path can be absolute, or relative to the location of the move plan.

The plan is extracted during the extractMovePlan script.

/scratch/app/config_plan.xml


Table 20-12 describes the properties you can customize for Oracle HTTP Server.

Table 20-12 Move Plan Properties for Oracle HTTP Server

Properties Description Sample Value

Listen

The Listen address. It can include the host name and port or just the port.

8888 or orcl3.example.com:8888

User

The Oracle HTTP Server administration user

admin_user

Group

The group for the user

admin_group1

ServerAdmin

The administrator's email address

Webmaster@example.com

ServerName

The name of the server for Oracle HTTP Server. If the host does not have a registered DNS name, use the IP address.

orcl1.example.com

WebLogicHost

The name of the host on which Oracle WebLogic Server is listening for requests

orcl2.example.com

WebLogicPort

The port number that Oracle WebLogic Server uses to listen for requests

9002

WebLogicCluster

The name of the host on which an Oracle WebLogic Server cluster is running and its port number

orcl3.example.com:9003

VirtualHost

The name of the virtual host. The port number listed should also be listed in the Listen directive.

*.8888

PlsqlDatabasePassword

Specific to the PLSQL module, the name of a secure file containing the password. You must provide a password file, even if you are not changing the configuration.

/scratch/orcl/pass.txt

PlsqlDatabaseConnectString

Specific to the PLSQL module, the service name of the database

orcl.example.com:1521:orcl1

PlsqlNLSLanguage

Specific to the PLSQL module, the NLS_LANG variable for the database access descriptor (DAD)

America_America.UTF8

ORAConnectSN

Specific to the oradav module, the Oracle database to which to connect

db_host:db_port:db_service_name

ORAUser

Specific to the oradav module, the database user (schema) to use when connecting to the service specified by the ORAConnectSN property

db6175_PORTAL

ORACRYPTPASSWORD

Specific to the oradav module, the absolute path to the secure file containing the password for oradav. You must provide a password file, even if you are not changing the configuration

/scratch/oracle/password.txt

SSLWallet

The location of the SSL wallet, if the wallet is not in the default location

/scratch/oracle/mw_home/ORACLE_INSTANCE/config/OHS/ohs1/keystores/mywallets

DocumentRoot

The directory that stores the main content for the Web site.

/scratch/oracle/mw_home/ORACLE_INSTANCE/config/ohs/ohs1/htdocs

Alias

The location of the alias, if it is not in the default location. Note that you change the value within the double quotation marks.

/icons/"/scratch/orcl/icons/"

ScriptAlias

The location of the script alias, if it is not in the default location. Note that you change the value within the double quotation marks.

/cgi-bin/"/scratch/oraclcgi-bin/"

WebGateInstalldir

The location of the WebGate installation directory, as specified in the webgate.conf file

/scratch/oracle/mw_home/Oracle_OAMWebGate1/webgate/ohs

Table 20-13 describes the properties that you can change for the move plan for Oracle Internet Directory.

Table 20-13 Move Plan Properties for Oracle Internet Directory

Properties Description Sample Value

OID Non SSL Port

The non-SSL port for Oracle Internet Directory.

If you do not provide a port number or if the port number you provide is not available, the operation uses an available port.

3060

OID SSL Port

The SSL port for Oracle Internet Directory.

If you do not provide a port number or if the port number you provide is not available, the operation uses an available port.

3131

Namespace

The Oracle Internet Directory namespace

dc=us,dc=oracle,dc=com

OID Admin Password

The absolute path of a secure file containing the password for the Oracle Internet Directory administrator. You must provide a password file, even if you are not changing the configuration.

/scratch/oracle/pass_oid.txt

ODS Schema Password

The absolute path of a secure file containing the password for the ODS schema, which is the schema that contains metadata for Oracle Internet Directory. You must provide a password file, even if you are not changing the configuration.

/scratch/oracle/pass_ods.txt

ODSSM Schema Password

The absolute path of a secure file containing the password for the ODSSM schema, which is used to access server manageability information for Oracle Internet Directory from the database. You must provide a password file, even if you are not changing the configuration.

/scratch/oracle/pass_odssm.txt

DB Host Name

The host name on which the database is running, which can be found in the tnsnames.ora file

example.com

DB Port

The port number of the database listener, which can be found in the tnsnames.ora file

1521

DB Service Name

The service name for the database, which can be found in the tnsnames.ora file

orcl.example.com


Table 20-14 describes the properties that you can change for the move plan for Oracle Virtual Directory.

Table 20-14 Move Plan Properties for Oracle Virtual Directory

Properties Description Sample Value

OVD Non SSL Port

The LDAP non-SSL port number for Oracle Virtual Directory.

If you do not provide a port number or if the port number you provide is not available, the operation uses the next available port.

6501

OVD SSL Port

The LDAP SSL port number for Oracle Virtual Directory.

If you do not provide a port number or if the port number you provide is not available, the operation uses the next available port.

7501

OVD Admin Port

The administration port number for Oracle Virtual Directory.

If you do not provide a port number or if the port number you provide is not available, the operation uses the next available port.

8899

OVD Http Port

The HTTP listener port number for Oracle Virtual Directory.

8080


20.6 Recovering from Cloning Errors

When you execute the pasteBinary or pasteConfig scripts and enter incorrect information in the move plan, the scripts return an error. In some cases, the scripts may have partially completed the paste operation. To recover, take the following actions, depending on the script that returned the error:

  • If the pasteBinary script returns an error during cloning the Middleware home directory at the target:

    1. Delete the target Middleware home.

    2. Remove the Oracle home entry from the Oracle inventory, if it is present.

    3. For Windows, remove the shortcut for the Middleware home and Oracle home.

  • If the pasteConfig script returns an error during cloning Java components:

    1. Stop all processes related to the domain.

    2. Delete the following directories:

      MW_HOME/user_projects/domains/domain_home
      MW_HOME/user_projects/applications/domain_name
      
    3. Drop the schemas and recreate them using RCU.

    In addition, if the Oracle Platform Security reassociation failed:

    • For an LDAP store, delete the domain node or specify a different value in the move plan.

    • For a database-based store, drop the schema and recreate it using RCU.

  • If the pasteConfig script returns an error during cloning system components:

    1. Deinstall the instance.

    2. If you cannot deinstall the instance, stop all processes related to that instance and delete the Oracle instance.

20.7 Considerations and Limitations for Cloning

Note the following important additional considerations about cloning:

  • Cloning does not carry over all the dependencies of the source Middleware home, WebLogic Server home, and Oracle homes, such as loadable modules or application-specific libraries to the cloned home, because cloning proceeds by copying the Middleware home and the entire source WebLogic Server home and Oracle homes to the destination Middleware home. Any files outside the source WebLogic Server or Oracle home are not automatically copied. Hence, any applications that refer to files outside the source WebLogic Server or Oracle home may not work properly in the cloned home.

    The Oracle home cloned as a part of the Middleware home contains only the binary files.

  • When you clone a Middleware home, only the read-only portions of the Middleware home are cloned. Any user configuration files, such a the user_projects directory, are excluded from the cloned image. The WebLogic Server domain is not cloned.

  • You must ensure that components, such as Oracle WebLogic Server and Oracle Coherence, are installed in the directory structure of the source Middleware home.

  • You cannot clone a Middleware Home if its path is a symbolic link.

  • If you created symbolic links to files or applications outside the source WebLogic Server or Oracle home, you must re-create the link manually in the cloned home for your applications to work properly.

  • If you are applying the clone of a Middleware home on a host that does not yet have Oracle Fusion Middleware installed, the host must have JDK 1.6.04 or higher installed. In addition, the PATH, CLASSPATH, and JAVA_HOME environment variables must point to the JDK.

  • If a custom application uses an internal data source (for example, the application was created and deployed with an internal data source using JDeveloper), the internal data source is not migrated during the clone operation.

    To work around this, create an external data source in the domain, modify the application to use that data source, and deploy the application again.

  • If an Oracle Internet Directory component is cloned with the same database credentials as the source component, the name of the cloned OID component should be different than the source component to avoid conflicts in the OID schema.

  • If an Oracle Internet Directory component is cloned with different database credentials from the source component, the name of the cloned Oracle Internet Directory component should be the same as the source component to avoid conflicts in the OID schema.

  • You cannot clone Oracle Directory Integration Platform and Oracle Directory Service Manager. You must install them on the target.

  • If there is not enough space in the temporary directory when you are cloning an entity, an error is returned, noting the space needed. To work around this problem, specify a different location for the temporary directory by using the T2P_JAVA_OPTIONS environment variable as described in Section 20.4.