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 better interoperability between databases and improved performance. If either database vendor elects to completely deprecate (remove) those datatypes, Siebel CRM customers will not be without a solution.
Basic Usage of LongDataTypeMigration
The purpose of LongDataTypeMigration is to remove obsoletely 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 is a full list of the parameters available for the utility:
| Flag | Parameter | Required | Default | Description |
|---|---|---|---|---|
| ⁄u | Table owner Username | Yes | N/A | Since this utility makes changes to the schema, it requires the Table owner username 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 | Yes | N/A | Where the log files should be saved. |
| /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 | (Oracle only) | N/A | The SSE_ROLE grantee |
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"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