About LongDataTypeMigration
The Column datatypes "LONG" on Oracle and the equivalent "TEXT" on Microsoft SQL Server have been deprecated for years. The LongDataTypeMigration library is provided to convert any remaining LONG/TEXT columns in your database to the modern CLOB/VARCHAR(max) datatypes.
This allows for better interoperability between databases and improves performance. If either database vendor elects to completely deprecate (remove) those data types, Siebel CRM customers will not be without a solution.
Basic Usage of LongDataTypeMigration
The purpose of LongDataTypeMigration is to remove obsolete column types from the logical definition in the Repository and the physical copy as defined in the database. Examples of this include:
- Executes solely in Development ("DR") environments.
- Migration will migrate the changes downstream
- Leverages DDLIMP, so changes will be applied without a requirement for downtime.
- Executes on customer demand – expected to be a one-time task.
LongDataTypeMigration is implemented as compiled java inside the file LongDataTypeMigration.jar in the Siebel Server bin folder, and is executed as follows: java LongDataTypeMigration.jar /u Username /p Password...
This table shows the full list of the parameters available for the utility:
| Flag | Parameter | Required | Default | Description |
|---|---|---|---|---|
| ⁄u | Table owner Username | Yes | N/A | Because this utility changes the schema, it requires the table owner user name and credentials |
| /p | Table owner Password | Yes | N/A | The table owner's password. |
| /s | Siebel root | Yes | N/A | The root of the Siebel Server installation, such as C:\Siebel\ses\siebsrvr. |
| /c | ODBC Data Source | Yes | N/A | The ODBC Data Source Name (DSN) to connect to the Siebel DB. |
| /t | Table owner | Yes | N/A | In the event that Table owner and Table owner's username do not match, such as in MSSQL where the Table owner might be "dbo", but the Table owner user is "SIEBEL" |
| /l | Log directory | No | <Siebel root>\log | Where the log files should be saved.If not passed, by default logs will be created in "<Siebel root>\log" directory. |
| /d | Database Platform | Yes | N/A | ORACLE or MSSQL |
| /a | Apply Alter | Yes | N/A | Whether the utility should execute the DDL to modify the LONGs to CLOBs or stop after generating the SQL, allowing the DBA to run it asynchronously. |
| /r | Repository Name | No | Siebel Repository | The name of the Siebel Repository to inspect and update. If there are spaces, you must put the name in quotes, such as "Siebel Repository" |
| /~ | Online clause | (Oracle only) | N/A | Instructs LongDataTypeMigration to attempt to use "online" conversion. |
| /x | Index tablespace | (Oracle only) | N/A | The default index table space |
| /y | Siebel User | (Oracle only) | N/A | Any Siebel user defined in the application--typically, "SADMIN" |
| /z | Siebel password | (Oracle only) | N/A | Password for the Siebel User. |
| /b | Tablespace | (Oracle only) | N/A | The default data table space |
| /g | SSE_ROLE | Yes | N/A | The SSE_ROLE grantee |
| /w | LANG_CD | No | ENU | The Primary language code |
| /UNICODEDB | UNICODEDB | No | Y | Y. Drives Oracle /w and MSSQL /z behavior |
Examples
java -jar LongDataTypeMigration.jar /s $SIEBEL_ROOT\siebsrvr /u
SIEBEL /p ********* /t dbo /c siebelInstall_DSN /d MSSQL /l $SIEBSRVR_ROOT\log /a
Y /r "Siebel Repository" /g SSE_ROLE /w FRA /UNICODEDB Y java -jar LongDataTypeMigration.jar /s $SIEBEL_ROOT\siebsrvr /u
SIEBEL /p ******** /t SIEBEL /c siebelInstall_DSN /d ORACLE /l $SIEBEL_ROOT\siebsrvr\log /a Y /r "Siebel Repository" /~ Y /x INDX /y
SADMIN /i ******** /b DATA /g SSE_ROLE /w FRA /UNICODEDB Y