Executing the Upgrade

Development Upgrade

UpgRep + IRM Execution

  1. Siebel database upgrade process is started.

  2. UpgRep: Database schema is upgraded.

  3. Take Database backup, gather stats and resume the process to start Repository merge.

  4. Repositories are merged and all conflicts are recorded for conflict resolution using Full Merge for 7.8.2.x and 8.0.x and Incremental Repository Merge (IRM) for 8.1.1.x and later.

Web Tools launch for Conflict Resolution

  1. Siebel Server profile needs to be re-deployed with Web Tools as a part of the profile.

  2. Deploy an AI Profile that includes the Web Tools URL.

  3. Launch the Web Tools application on any browser and override conflicts wherever required and see recommendations from Upgrade Factory Smart Analyzers.

  4. Click on the conflict resolution complete button to confirm the completion.

  5. Resume the process to trigger the FullPublish and UpgPhys processes.

UpgPhys (Upgrade Completion)

  1. FullPublish is triggered post completion of conflict resolution.

  2. UpgPhys: Triggered post completion of FullPublish.

  3. Upgrades the physical schema and performs certain updates and cleanup on the database to prepare the final upgraded database.

  4. Application will be running with upgraded database.

Payload Parameters

Input JSON Sections Input JSON parameters Expected Input Values Mandatory when execution type is
Assess Dev Prod
execution_preferences execution_type "Assess" or "Dev" or "Prod" Y Y Y
degree_of_parallelism <Numeric value> N Y Y
siebel_server_details siebel_home <Siebel Root Path> Y Y Y
server_host <Siebel Server Host> Y Y Y
ai_port <AI Port of Siebel Application> Y Y Y
database_details database_platform ORACLE,MSSQL,DB2UDB Y Y Y
tblo <Table Owner (Schema Owner)> Y Y Y
tblo_user <Table Owner User> Y Y Y
tblo_password <Table Owner Password> Y Y Y
admin_user <Siebel Admin User (Ex. SADMIN)> Y Y Y
admin_password <Siebel Admin Password> Y Y Y
tablespace <Table Space>

Y if dbplatform is

ORACLE / DB2UDB

Y if dbplatform is

ORACLE / DB2UDB

Y if dbplatform is

ORACLE / DB2UDB

index_tablespace <Index Table Space>

Y if dbplatform is

ORACLE / DB2UDB

Y if dbplatform is

ORACLE / DB2UDB

Y if dbplatform is

ORACLE / DB2UDB

tablespace16k <16K Table Space>

Y if dbplatform is

DB2UDB

Y if dbplatform is

DB2UDB

Y if dbplatform is

DB2UDB

tablespace32k <32K Table Space>

Y if dbplatform is

DB2UDB

Y if dbplatform is

DB2UDB

Y if dbplatform is

DB2UDB

odbc_datasource <ODBC DSN> Y Y Y
siebel_details current_siebel_version <Value from Siebel Vesions table> Y Y Y
base_language <Base Lang> Y Y Y
other_languages <Other Lang> N N N
files ancestor_repo_file <Ancestor Repository File> Y Y N
custom_directory <Custom Files (CSS + JS) Directory> N Y N
webtemplate_directory <Webtemplate Directory> N Y N
prod_files_directory <custrep.dat and 10 schema files> N N Y

Accepted Siebel Version

Accepted "current_siebel_version" input values Corresponding Siebel Version details
v7.8.2sia 7.8.2
v8.0sia 8
v8.1.1.10sia 8.1.1.10
v8.1.1.11sia 13
v8.1.1.14sia 14
v8.2.2sia 8.2.2
v8.2.2.3sia 8.2.3
v8.2.2.4sia 13
v8.2.2.14sia 14
v15.0 15
v15.5 15.5
v16.0 16

Sample Input JSON Payload

Trigger Upgrade (API-POST) with Payload

Note: Some of the parameters highlighted may not be relevant for your database platform. Non-required application parameters can be blank but must be included in the request.
{
  "execution_preferences": {
    "execution_type": "dev",
    "degree_of_parallelism": ""
  },
  "siebel_details": {
    "current_siebel_version": "v16.0",
    "base_language": "enu",
    "other_languages": ""
  },
  "siebel_server_details": {
    "siebel_home": "/scratch/home/sblusr/ses",
    "server_host": "siebel.company.com",
    "ai_port": "9001"
  },
  "database_details": {
    "database_platform": "ORACLE",
    "tblo": "SIEBEL",
    "tblo_user": "SIEBEL",
    "tblo_password": "********",
    "admin_user": "SADMIN",
    "admin_password": "********",
    "tablespace": "DATA",
    "index_tablespace": "DATA",
    "tablespace16k": "",
    "tablespace32k": "",
    "odbc_datasource": "siebel_DSN",
    "tnsname": "siebel"
  },
  "files": {
    "ancestor_repo_file": "/scratch/home/sblusr/fs/upgfiles/r160.dat",
    "custom_directory": "/scratch/home/sblusr/fs/custfiles",
    "webtemplate_directory": "/scratch/home/sblusr/fs/webtmpl"
  }
}

To trigger the upgrade with the payload

  1. Prepare the payload as per the pre-defined payload format.

  2. Paste the payload into the input area of the REST API client and POST the request.

  3. Wait for the response.

  4. The response will contain all the steps which will be executed as part of the Upgrade.

Response JSON Payload

{
    "upgrade_status": "Complete",
    "comments": "Execution complete",
    "data": {
        "01_environment_setup": {
            "status": "Complete",
            "comment": "",
            "start_time": "11-07-2024 13:05:42 GMT",
            "end_time": "11-07-2024 13:06:12 GMT"
        },
        "02_upgrep_process": {
            "status": "Complete",
            "comment": "",
            "start_time": "11-07-2024 13:06:12 GMT",
            "end_time": "11-07-2024 14:43:49 GMT"
        },
        "03_database_backup": {
            "status": "Complete",
            "comment": "",
            "start_time": "11-07-2024 14:43:49 GMT",
            "end_time": "11-07-2024 16:26:16 GMT"
        },
        "04_irm_process": {
            "status": "Complete",
            "comment": "",
            "start_time": "11-07-2024 16:28:50 GMT",
            "end_time": "12-07-2024 03:03:46 GMT"
        },
        "05_webtool_preparation": {
            "status": "Complete",
            "comment": "Please wait while we prepare the environment for webtool deployment.",
            "start_time": "12-07-2024 03:03:46 GMT",
            "end_time": ""
        },
        "06_conflict_resolution": {
            "status": "Complete",
            "comment": "",
            "start_time": "12-07-2024 00:24:40 GMT",
            "end_time": "12-07-2024 06:24:40 GMT"
        },
        "07_fullpublish": {
            "status": "Complete",
            "comment": "",
            "start_time": "12-07-2024 06:26:09 GMT",
            "end_time": "12-07-2024 09:49:15 GMT"
        },
        "08_upgphys_process": {
            "status": "Complete",
            "comment": "",
            "start_time": "12-07-2024 09:49:15 GMT",
            "end_time": "12-07-2024 16:28:56 GMT"
        }
    },
    "references": {
        "upgrade_factory_logs": "...ses/siebsrvr/log/UpgradeFactory",
        "upgrade_logs": "...ses/siebsrvr/log"
    }
}

Status Check and Actions

Checking the Execution Status

To get upgrade status

  1. Trigger a REST API - GET request with no input payload.

  2. Wait for the Response.

  3. Response payload will have status completed for all the steps which are complete and InProgress status for the step which is currently in progress.

Here is what you see in the response payload:

  • Element upgrade_status of InProgress indicates that the Upgrade Factory is running without any issues.

  • Element comments provided the current step, status or action related information.

  • Important URLs are shared under references element in the response payload.

  • If upgrade_status is failed, then the execution has encountered an issue and has failed.