The following steps describe exporting a solution from one database and importing it to another database.

  1. Create the database users for both databases. For example:

    Existing Database Users

    New Database Users

    com_svcadmin

    new_com_svcadmin

    com_svcagent

    new_com_svcagent

  2. Review the data source information for the existing database account.

    The following example shows the JNDI Name, the Connection URL, the driver class, the user name and passwords, as well as the minimum and maximum pool sizes:

    <?xml version="1.0" encoding="UTF-8"?>
    <datasources>
       <local-tx-datasource>
          <jndi-name>ATGServiceSS</jndi-name>
          <connection-url>jdbc:oracle:thin:@servserver:1521:utf81020
          </connection-url>
          <driver-class>oracle.jdbc.OracleDriver</driver-class>
          <user-name>com_svcadmin</user-name>
          <password>com_svcadmin</password>
          <min-pool-size>10</min-pool-size>
          <max-pool-size>20</max-pool-size>
      </local-tx-datasource>

    <local-tx-datasource>
          <jndi-name>ATGServiceAgent</jndi-name>
          <connection-url>jdbc:oracle:thin:@servserver:1521:utf81020
          </connection-url>
          <driver-class>oracle.jdbc.OracleDriver</driver-class>
          <user-name>com_svcagent</user-name>
          <password>com_svcagent</password>
          <min-pool-size>10</min-pool-size>
          <max-pool-size>20</max-pool-size>
    </local-tx-datasource>
    </datasources>

  3. Set the charset environment variable. If moving between servers, set the environment variable on both servers. For example:

    setenv NLS_LANG AMERICAN_AMERICA.UTF8

  4. Export the data using the following command:

    exp impexpuser/newimpexpuser@tns_alias owner=user_whose_data
    file=dump_file_name log=log_file_name rows=y consistent=y

    Using the information from the previous example:

    exp impexpuser/newimpexpuser@servserver-utf81020.atg.com
    owner=sym_svcagent file=com_svcagent.sql log=com_svcagent.log rows=y
    consistent=y

    [impexpuser@qa-db ~]$ exp impexpuser/fooimpexpuser@servserver-
    utf81020.atg.com owner=com_svcadmin file=com_svcadmin.sql
    log=com_svcadmin.log
    rows=y consistent=y

  5. Verify that the table space exists.

  6. Verify the version between databases is the same.

  7. Import the data using the following command:

    imp impexpuser/newimpexpuser@tns_alias fromuser=user_whose_data
    touser=user_who_will_own_data file=dump_file_name log=log_file_name
    rows=y ignore=y grants=n commit=y

    Using the example from the previous steps:

    imp impexpuser/fooimpexpuser@servserver-utf81020.atg.com
    fromuser=com_svcagent touser=new_com_svcagent file=com_svcagent.sql
    log=new_com_svcagent.log rows=y ignore=y grants=n commit=y

    imp impexpuser/fooimpexpuser@servserver-utf81020.atg.com
    fromuser=com_svcadmin touser=new_com_svcadmin file=com_svcadmin.sql
    log=new_com_svcadmin.log rows=y ignore=y grants=n commit=y

  8. Set the data sources on the destination server.

    The following example shows the modifications made to the new server data sources.

    <?xml version="1.0" encoding="UTF-8"?>
    <datasources>
        <local-tx-datasource>
          <jndi-name>ATGServiceSS</jndi-name>
          <connection-url>jdbc:oracle:thin:@Servserver:1521:utf81020
          </connection-url>
          <driver-class>oracle.jdbc.OracleDriver</driver-class>
          <user-name>new_com_svcadmin</user-name>
          <password>foonew_com_svcadmin</password>
          <min-pool-size>10</min-pool-size>
          <max-pool-size>20</max-pool-size>
        </local-tx-datasource>

        <local-tx-datasource>
          <jndi-name>ATGServiceAgent</jndi-name>
          <connection-url>jdbc:oracle:thin:@Servserver:1521:utf81020
          </connection-url>
          <driver-class>oracle.jdbc.OracleDriver</driver-class>
          <user-name>new_com_svcagent</user-name>
          <password>foonew_com_svcagent</password>
          <min-pool-size>10</min-pool-size>
          <max-pool-size>20</max-pool-size>
        </local-tx-datasource>
    </datasources>

  9. Set the Server Name in the /atg/dynamo/service/ServerName.properties file.

    Using the continuing example, the server name is set as follows:

    serverName=dcr1e1b5:10150

  10. If not already set, set the Internal Scenario Manager by accessing the /atg/scenario/internalScenarioManager.xml file.

    The following example notes the modification to the Internal Scenario Manager:

    <process-manager-configuration>
      <process-editor-server>
        <server-name>dcr1e1b5:10150</server-name>
      </process-editor-server>
        <action-registry>
          <action>
            <action-name>MyCompany Link Event</action-name>
            <action-class>com.mycompany.scenario.action.TitanCRMAction
                </action-class>
            <description>Interfaces with Mycompany system on a 
                link/unlink event</description>
            <action-execution-policy>individual</action-execution-policy>
            <action-error-response>continue</action-error-response>
          </action>
        </action-registry>
    </process-manager-configuration>

  11. Set the Workflow Process Manager located by accessing the /atg/epub/workflow/
    process/workflowProcessManager.xml
    file. Modify the process-editor-server parameter to identify the new server, if necessary.

    Using the above example the server name would be set as follows:

    <process-manager-configuration>
      <process-editor-server>
        <server-name>dcr1e1b5:10150</server-name>
      </process-editor-server>
    </process-manager-configuration>

  12. Start the application accessing the new database. If an application does not already exist, assemble it according to the instructions of the ATG Installation and Configuration Guide for your application server. Deploy the application, and start it.