IBM Database Conversion Workbench 3.5

35
IBM Analytics IBM Database Conversion Workbench 3.5 Oracle to IBM dashDB Conversion Guide Version: 3.5 Last Updated: June 12th, 2015

Transcript of IBM Database Conversion Workbench 3.5

Page 1: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench 3.5

Oracle to IBM dashDB Conversion Guide

Version: 3.5

Last Updated: June 12th, 2015

Page 2: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 2 of 35

Table of Contents

1. Introduction .................................................................................................................................................................... 4

2. Prerequisites................................................................................................................................................................... 5

3. Overview of the Conversion Process .......................................................................................................................... 6

4. Set Up Your DCW Environment .................................................................................................................................... 7

4.1. Create a new DCW Conversion Project ................................................................................................................. 7

4.2. Create a new connection profile to the source database ....................................................................................... 8

5. The Oracle to IBM dashDB Task Launcher ................................................................................................................. 9

6. DDL Extraction ............................................................................................................................................................. 10

6.1. Overview of the process ....................................................................................................................................... 10

6.2. Extract DDL by generating a custom extraction script ......................................................................................... 10

6.2.1. Generate a custom DDL extraction script .......................................................................................... 10 6.2.2. Run the custom extraction script on your source Oracle database ................................................ 11

6.3. Extract DDL using a Connection .......................................................................................................................... 11

6.3.1. Prerequisites .......................................................................................................................................... 11 6.3.2. Extract DDL through a Connection ..................................................................................................... 11

6.4. Import DDL ........................................................................................................................................................... 14

6.4.1. Import an existing DDL file ................................................................................................................... 14

7. Compatibility Evaluation ............................................................................................................................................. 15

7.1. Format of the Compatibility Evaluation Report ..................................................................................................... 15

7.2. Generate the Compatibility Evaluation Report ..................................................................................................... 15

7.2.1. Prerequisites .......................................................................................................................................... 15

7.2.2. Evaluate Compatibility .......................................................................................................................... 15

7.2.3. Support for large DDL files ................................................................................................................... 16

7.2.4. Submitting your Compatibility Evaluation Report to IBM ................................................................. 16

7.3. Using the Compatibility Evaluation Report ........................................................................................................... 17

7.3.1. Prerequisites .......................................................................................................................................... 17 7.3.2. View through your web browser .......................................................................................................... 17 7.3.3. Overall Summary ................................................................................................................................... 17 7.3.4. PL/SQL Code Evaluation ...................................................................................................................... 18 7.3.5. DDL Code Evaluation ............................................................................................................................ 19 7.3.6. Unrecognized lines of code .................................................................................................................. 20 7.3.7. Support for BLU Acceleration .............................................................................................................. 20

8. Visualize Object Dependencies .................................................................................................................................. 21

8.1. Load object dependencies from a connection ................................................................................................ 21

8.1.1. Prerequisites .......................................................................................................................................... 21 8.1.2. Selecting your connection ................................................................................................................... 21

8.2. Load object dependencies from DDL extraction script output ..................................................................... 21

8.2.1. Prerequisites .......................................................................................................................................... 21 8.2.2. Specify CSV files ................................................................................................................................... 21

8.3. Using the DB Objects Explorer view to Visualize objects ............................................................................. 22

8.3.2. Using the DB Objects Explorer ............................................................................................................ 22 8.3.3. Visualizing object dependencies ......................................................................................................... 23

Page 3: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 3 of 35

8.4. Setting Visualizer preferences .......................................................................................................................... 23

9. Code Conversion ......................................................................................................................................................... 24

9.1. Auto-convert Oracle syntax to dashDB compatible syntax .................................................................................. 24

9.1.1. Pre-requisites ........................................................................................................................................ 24 9.1.2. Run the auto-conversion ...................................................................................................................... 24

9.2. Split DDL Function ............................................................................................................................................... 24

9.2.1. Pre-requisites ........................................................................................................................................ 25 9.2.2. Run the Split DDL Function .................................................................................................................. 25

9.3. Reviewing the converted code ............................................................................................................................. 25

10. Prepare the Target Database for Data Movement ..................................................................................................... 28

10.1. Deploy Objects for Data Movement ..................................................................................................................... 28

10.1.1. Pre-requisites ................................................................................................................................... 28 10.1.2. Execute the DDL statements to create table spaces and tables ................................................. 28

10.2. Executing the Converted DDL from the dashDB Console ................................................................................... 29

11. Data Movement ............................................................................................................................................................. 31

11.1. Data-Type Conversion Table ............................................................................................................................... 31

11.2. Extract Oracle Data to Flat Files .......................................................................................................................... 31

11.2.1. Pre-requisites ................................................................................................................................... 31 11.2.2. Extract data to flat files ................................................................................................................... 32 11.2.3. Load data from flat files .................................................................................................................. 33

12. Deploy Remaining Objects .......................................................................................................................................... 34

Page 4: IBM Database Conversion Workbench 3.5

1. Introduction The IBM® Database Conversion Workbench (DCW) integrates many of the tools used for converting from different database vendors to IBM database products, while providing an easy to use framework to take you through all the steps of the conversion process. DCW is provided as a plug-in to IBM Data Studio, a no-charge graphical tool based on an Eclipse® platform. IBM Data Studio helps database developers and administrators manage, administer, and develop heterogeneous database environments for increased productivity and collaboration. For more information, visit: http://www.ibm.com/software/data/optim/data-studio/ As an integrated workbench, DCW provides the following benefits to the user:

- Common graphical interface with uniform look and feel for all phases of the conversion - A consolidated process with well-defined steps based on best practices - Faster enablement for client and partner teams in conversion methodology - Wizards that guide users through all steps of the conversion

DCW offers the following step-by-step functions to facilitate the process.

1. DCW Task Launcher - An integrated help guide, which provides step by step instructions through the conversion process.

2. DDL Extraction - Extracts objects in the source database, used by DCW to analyze the source database and provide compatibility assessment and work effort.

3. Compatibility Evaluation – Provides a report of the estimated compatibility ratio of Oracle SQL and PL/SQL statements with dashDB, outlining the major issues of the conversion, code that was auto-converted, as well as code that must be fixed manually.

4. Code Conversion - Auto-converts Oracle syntax to dashDB compatible syntax. This streamlines a time consuming process.

5. Split DDL – splits a single DDL file into multiple files, organized by object types, which can then be executed against the target database to create the required objects.

6. Package Visualizer - Generates a dependency graph of packages in the source database. This provides a visual representation of package relationships, which helps identify objects that might be impacted if a package requires manual conversion.

7. Data Extraction - Extracts data from the source Oracle database to CSV files.

Page 5: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 5 of 35

2. Prerequisites The IBM Database Conversion Workbench is a plug-in for IBM Data Studio. IBM Data Studio must first be installed on your machine before installing DCW. For the DCW 3.5 plug-in, the following requirements must be met:

IBM Data Studio 4.1.1 full client o Available for download at: http://www.ibm.com/developerworks/downloads/im/data/

Oracle JDBC® driver (required for access to Oracle databases only) o Needs to be downloaded separately and installed on the same machine where DCW is installed o Required to connect to Oracle databases

For installation requirements and instructions, download the IBM DCW Plug-In Installation Guide: http://www.ibm.com/developerworks/data/ibmdcw.

Page 6: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 6 of 35

3. Overview of the Conversion Process

A standard conversion consists of the following steps:

1. Extract DDL from source database 2. Generate Compatibility Evaluation report from extracted DDL

a. Estimate efforts based on incompatible syntax occurrences in the report 3. Automatically convert extracted DDL to the target database’s compatible syntax 4. Manually fix any additional incompatible syntax based on evaluation report 5. (Optional) Split converted DDL to ease deployment of database objects 6. Create target database 7. Execute converted DDL to recreate database schema(s) 8. Extract data from source database 9. Deploy data into target database

The Database Conversion Workbench provides an integrated environment with many functions to help take the user through the conversion steps described above. It is highly recommended for novice users to follow the process from beginning to end. While DCW supports the use of the various conversion functions separately, this approach is beyond the scope of this guide and recommended only for more advanced users.

Page 7: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 7 of 35

4. Set Up Your DCW Environment

4.1. Create a new DCW Conversion Project

In order to access the functions of the Database Conversion Workbench, you need to create a new DCW project.

i. From Data Studio, navigate to menu File > New > Project… then select the DCW Project wizard.

ii. Enter the Project Name, select “Oracle” as the Source Database and “dashDB” as the Target

Database.

iii. Click Finish. You might be asked to switch to the Database Conversion perspective. Click Yes to confirm the switch, and note that the following views are available:

Project Explorer view – lists all projects and relevant files.

Data Source Explorer view – lists all existing database connection profiles.

Administration Explorer view – lists all existing database connection profiles and provides access to database administration functions.

DCW Oracle to dashDB Task Launcher – launches the various wizards and help topics.

Page 8: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 8 of 35

4.2. Create a new connection profile to the source database

If you can directly connect to the source database from your local machine, you can set up a connection profile for the source database. This information is stored by Data Studio and provides quick and easy access to the source database.

i. In the Data Source Explorer view, right click on Database Connections and select New. The New

Connection wizard opens. ii. Select “Oracle” as the database manager and choose the appropriate JDBC driver. If this is the first

time that you connect to an Oracle source, you must edit the location of the Oracle JDBC driver JAR files.

iii. Enter the connection information for the source database then select Finish. You will see the new

database connection listed in the Data Source Explorer view.

Page 9: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 9 of 35

5. The Oracle to IBM dashDB Task Launcher

The Database Conversion Workbench comes with a built in “Task Launcher”, which acts as an assistant to launch the various steps of the conversion process.

The Task Launcher is available after a DCW project has been created, and can be accessed at any time through the

‘Help’ menu. Included with the task launcher are the DCW Help Topics which offer directions on how to access the

various functions through your Project Explorer view, as well as helpful hints and step-by-step guidelines to follow for your conversion project. These help topics are automatically displayed when a process step is selected in the task launcher.

Page 10: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 10 of 35

6. DDL Extraction

6.1. Overview of the process

The Database Conversion Workbench can extract the DDL for the source Oracle database objects through an online connection, or by generating a custom DDL extraction script that can be manually executed by the user.

The DDL extraction process can be accessed using the DDL Extraction wizard.

i. In the Project Explorer view, right-click on your DCW Project and navigate to Database

Conversion > Extract DDL. The DDL Extraction Wizard opens.

6.2. Extract DDL by generating a custom extraction script

6.2.1. Generate a custom DDL extraction script If a connection to the source Oracle database is unavailable, DCW can still help you extract the DDL from the source Oracle database. This is done by using DCW to generate a custom DDL extraction script, which can then

be manually run on your source Oracle database. Note that the Generate Custom DDL Extraction Script wizard

can also be accessed through the Task Launcher.

i. From the DDL Extraction wizard, select Generate DDL extraction script. Click Finish. The

Generate Custom DDL Extraction Script wizard opens.

Page 11: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 11 of 35

ii. Complete the steps of the wizard.

On the first page, specify the name of the DDL files that are to be generated as a result of the extraction script. Specify the name of the script file and the directory to which you want to save. It

is recommended that you select Exclude all system schemas, so that the script extracts all the

user generated schemas except for the Oracle default system schemas. Click Finish. iii. The custom extraction script can be found in the directory that you specified.

6.2.2. Run the custom extraction script on your source Oracle database You can execute the custom extraction script through Oracle SQL*Plus from a machine that has access to the source Oracle database server. Manually running the script is outside of the scope of this guide.

Tip: This can be done by running the script through Oracle SQL*Plus, which should be started on the command line, under the same directory where the script was saved. This way the output files are saved on the same folder where the script is located.

The extracted DDL is generated as a .out file. Ensure that the DDL and associated files (allobj.txt and

alldep.txt) can be accessed from the system on which DCW is installed. You can import the files into your

DCW Project by following the steps outlined in section 6.4.

6.3. Extract DDL using a Connection

This is the recommended method if it is possible to directly connect to the source database through Data Studio.

6.3.1. Prerequisites

Ensure that you have a connection profile of the source database as outlined in section 4.2

6.3.2. Extract DDL through a Connection The Database Conversion Workbench can extract the objects from an entire database or select schemas.

i. From the DDL Extraction wizard, select Extract DDL using a connection. Click Finish. The Extract

DDL through a connection wizard opens.

Page 12: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 12 of 35

ii. On the first page, select the connection profile of your source Oracle database. Click Next.

iii. On the second page, select the schemas that you want to extract. Click Next.

Note: The DDL Extraction creates a single file for all extracted objects. You might want to run the process separately for batches of schemas.

Page 13: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 13 of 35

iv. On the third and final page, select the objects types that you want to extract and specify the

name of the DDL script file. Optionally, select the checkboxes for extracting storage and table space clauses, and opening the DDL script for editing. After all selections and changes are

complete, click Finish.

v. The DDL file is saved under the selected DCW Project in the Project Explorer view.

Note: The DDL for invalid objects is also extracted but saved to a separate file with the suffix _INVALID.sql.

Page 14: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 14 of 35

6.4. Import DDL

6.4.1. Import an existing DDL file If you already have a DDL file of your source Oracle database (from the custom script or other sources), you can import the file into your DCW project.

i. In the Project Explorer view, right-click on your DCW Project and navigate to Database

Conversion > Import a DDL file. The Import wizard opens. ii. Specify the directory of the DDL file and select the DDL file you want to import. Select the folder (DCW

project) into which you want to import the DDL file. Click Finish.

iii. The DDL file is imported into your DCW Project, and automatically converted to a .sql extension.

Note: You might want to also import the .allobj.txt and .alldep.txt files into your DCW Project, because

they can be used in section 8.

Page 15: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 15 of 35

7. Compatibility Evaluation With a simple click of a button, the IBM Database Conversion Workbench can analyze Oracle DDL and PL/SQL statements and create an assessment report which outlines the compatibility of the Oracle syntax in use with the syntax of dashDB. The compatibility evaluation report includes an executive summary and a detailed list of DDL and PL/SQL incompatibilities, as well as some suggested workarounds to fix the incompatible code. These issues can be addressed after the code conversion has been run in section 9.

7.1. Format of the Compatibility Evaluation Report

By default, the report is saved in an encrypted format in a file with a .xmle extension. Section 7.3 explains how to decrypt and visualize the report.

7.2. Generate the Compatibility Evaluation Report

The Compatibility Evaluation Report is generated by analyzing the DDL file of the source Oracle database.

7.2.1. Prerequisites

Ensure that you have a DDL file of the source Oracle database as outlined in section 6.

7.2.2. Evaluate Compatibility

i. Right-click on the .sql file containing the Oracle DDL. Navigate to Database Conversion > Evaluate

Compatibility. The Compatibility Evaluation wizard opens.

Hint: You can run the compatibility evaluation on multiple DDL files at once. This generates a separate report for each DDL file.

Note: DCW automatically splits DDL files larger than 5 MB into separate files for processing. This process generates a single merged report. See section 7.2.3 Support for large DDL files for more information.

Note: DCW has a 100 MB size restriction on the input DDL file. See section 7.2.3 Support for large DDL files for more information.

ii. Select the Source SQL dialect as Oracle and the Target SQL dialect as dashDB then click Finish.

iii. The Compatibility Evaluation Report (.xmle file) is saved to your project folder.

Page 16: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 16 of 35

7.2.3. Support for large DDL files

For DDL files that are larger than 5 MB, DCW pre-processes the file by splitting the large DDL file into smaller more manageable components.

DCW splits the large file into separate files, each of which is about 5 MB in size. The split files are created in a

folder named <original_DDL_filename>_parts, which can be located within your DCW Project.

To reduce the chance of error, DCW parses and processes each file separately and sequentially.

Note: The progress of each file is displayed by DCW. Part 1 of 9 indicates that DCW split the original DDL file into 9 component files and is currently processing the 1st file.

Although processed separately, DCW generates a single and merged Compatibility Evaluation Report for the original large DDL file. At the end of the process, you receive a result message, which details any component files that were missed due to issues. You can rerun the Compatibility Evaluation on the missed files, which can be found in your DCW Project.

7.2.4. Submitting your Compatibility Evaluation Report to IBM

The Compatibility Evaluation generates an encrypted .xmle report as <file_name>-

<timestamp>_report.xmle. This encrypted report must be sent to IBM, and the decrypted report is emailed

back to you.

Page 17: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 17 of 35

NOTE: The .xmle file does not contain any source code. It only contains the list of incompatibilities found and the number of occurrences in the original source code.

Using your desired email client, submit the .xmle file to [email protected]

NOTE: Emails sent by using gmail or hotmail accounts are not accepted.

An email response is sent back containing the HTML version of the Compatibility Evaluation Report, which can be viewed through your web browser.

7.3. Using the Compatibility Evaluation Report

The Evaluation Report is a key part of the conversion process, and outlines the various compatibility issues in the syntax between Oracle and dashDB. This section outlines how to use the Evaluation Report to correctly address any issues that are reported, after the code conversion has been run.

7.3.1. Prerequisites

Ensure that you have the HTML version of the Evaluation Report. See section 7.2 Generate the Compatibility Evaluation Report for more details.

7.3.2. View through your web browser You can open the Evaluation Report using your preferred browser by double clicking on the file. You can also import the Evaluation Report into Data Studio, and use the native browser in Data Studio.

i. Right-click on your DCW Project and select Import. The Import wizard opens.

ii. Expand the General folder and select File System. Click Next.

iii. Select Browse, and navigate to the directory in which the HTML Evaluation Report is located. After

the folder is open, select the HTML Evaluation Report. Click Finish.

iv. The report is now in your DCW Project.

v. In your DCW Project, right-click on the HTML Evaluation Report and select Open With > Web

Browser. The Evaluation Report opens.

7.3.3. Overall Summary This section of the report shows the compatibility percentage of all PL/SQL and DDL statements that can run natively on a dashDB database, which has been enabled for Oracle compatibility.

PL/SQL – Statistics by Object Type shows a breakdown and count of objects that were detected, as well as the number of object types that require attention.

Page 18: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 18 of 35

DDL – Statistics by Statement Type shows the number of DDL statements that were detected, as well as the number of statements that require attention.

Total Number is the total count of statements and objects that was detected.

The Number that Require Attention is the count of Oracle statements/objects that are not immediately transferrable to dashDB and require attention.

NOTE: Statements and objects that can be auto-converted by DCW are not included in the count of “Number

that Require Attention”.

7.3.4. PL/SQL Code Evaluation This section outlines the PL/SQL features that are not supported on dashDB. These statements must be altered to comply with the syntax of dashDB or removed. This can be done after the code conversion has been run in

section 9 Code Conversion.

Page 19: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 19 of 35

You can expand or collapse each incompatible feature by clicking on the featured text. For each issue identified,

the report provides a list of all occurrences with the corresponding line number of the statement in the original

code, the portion of the syntax that contains the error, and a recommended solution.

7.3.5. DDL Code Evaluation This section outlines the DDL features that are not supported on dashDB. These statements must be altered or removed before execution on dashDB. This can be done after the code conversion has been run in section 9

Code Conversion.

You can expand or collapse each incompatible feature by clicking on the statement. For each issue identified, the

report provides a list of all occurrences with the corresponding line number of the statement in the original DDL

code, the portion of the syntax that contains the error, and a recommended solution.

In addition to the features that are not supported, the report provides a DDL Features – Informational section. These are statements that were automatically converted by DCW to the most appropriate dashDB compatible syntax, so no further actions are required. The list is provided to help consultants identify specific cases where the conversion applied might not be ideal.

Page 20: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 20 of 35

7.3.6. Unrecognized lines of code

The very last section of the report contains lines of code that the Compatibility Evaluation was not able to recognize. These statements might or might not be compatible with dashDB.

You can check the code by referring to the line number that is listed.

7.3.7. Support for BLU Acceleration

Since dashDB takes advantage of BLU Acceleration technology, the Compatibility Evaluation report contains two extra sections that list the BLU specific issues. The two BLU specific sections are:

BLU Incompatibilities: Lists features that are not supported by column-organized tables. Look at the proposed solution in the report to learn how to fix it.

BLU Stats: Contains the number of tables (CREATE TABLE statements) in the DDL file that can be created as column-organized tables.

Note, in the Overall Summary section, the compatibility ratio does NOT account for BLU specific issues found.

Page 21: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 21 of 35

8. Visualize Object Dependencies

The DCW Object Dependencies Visualizer provides a user the ability to graphically explore the dependencies between database objects. This ability gives a clearer perspective on how the database is modeled, which can aid in defining the scope of the conversion project. Object dependencies can be visualized by connecting directly to the source Oracle database, or by using the output files generated from section 6.2 - Extract DDL by generating a custom extraction script.

8.1. Load object dependencies from a connection Use this option when a connection to the source Oracle database is available, and if the source DDL was extracted through a connection, as outlined in section 6.3 Extract DDL using a Connection.

8.1.1. Prerequisites

Ensure that you have a connection profile of the source database as outlined in section 4.2

8.1.2. Selecting your connection

i. Right-click on your DCW Project and navigate to Database Conversion > Visualize Object

Dependencies… The Visualize Object Dependencies Wizard opens.

ii. In the wizard, select Load from a connection. Click Next.

iii. On the second page of the wizard, select the connection profile of the source Oracle database. Click

Finish.

iv. All schemas that exist in the source Oracle database are shown in the DB Objects Explorer view.

8.2. Load object dependencies from DDL extraction script output Use this option if the source DDL was extracted using the custom extraction script as outlined in section 6.2 Extract DDL by generating a custom extraction script.

8.2.1. Prerequisites

Ensure that you have the output files from section 6.2 Extract DDL by generating a custom extraction script.

8.2.2. Specify CSV files

i. Right-click on your DCW Project and navigate to Database Conversion > Visualize Object

Dependencies… The Visualize Object Dependencies Wizard opens.

ii. Select Load from CSV files. Click Next.

iii. On the second page of the wizard, specify the location of the .allobj.txt and .alldep.txt files by clicking

Browse…These files were generated when the custom extraction script was run against your

source Oracle database. Click Finish.

Page 22: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 22 of 35

iv. Only schemas that were extracted by the custom extraction script from your source Oracle

database are shown in the DB Objects Explorer view.

8.3. Using the DB Objects Explorer view to Visualize objects DCW generates dependency graphs of objects in the source Oracle database by using two views:

i. DB Objects Explorer view – Lists the schemas in the source Oracle database (or extracted schemas), and the schema objects.

ii. Visualizer view – Generates the dependency graph of the database object selected.

8.3.2. Using the DB Objects Explorer

The DB Objects Explorer view displays the schemas that were loaded, depending on the method that was selected earlier (through a connection or using the output files generated by the custom extraction script).

Object dependencies can be visualized by expanding the schema and object type folders, then selecting the desired object. Double-click on the object to open the dependency graph in the visualizer view.

Page 23: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 23 of 35

8.3.3. Visualizing object dependencies

The Object Dependencies Visualizer provides a graphical representation of the dependencies of the selected object.

Navigate the graph by:

i. Using the Search in the graph function ii. Double clicking on a dependent object to open its corresponding dependencies graph iii. Right-click on the visualizer view to navigate forward and backwards iv. Use the filter options on the right hand side

NOTE: Synonyms are not displayed in the graph, instead they are replaced by the actual target objects referenced by them.

8.4. Setting Visualizer preferences i. Navigate to Window > Preferences. The Data Studio Preferences window opens.

ii. Expand Database Conversion Workbench and select Object Dependencies Graph.

iii. Customize the color scheme of your graph. Click Apply.

Page 24: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 24 of 35

9. Code Conversion

The IBM Database Conversion Workbench offers a powerful tool that can auto-convert well known Oracle syntax to dashDB compatible syntax.

9.1. Auto-convert Oracle syntax to dashDB compatible syntax

9.1.1. Pre-requisites

Ensure that you have a DDL file of the source Oracle database as outlined in section 6 - DDL Extraction.

9.1.2. Run the auto-conversion

i. Right-click on the DDL file of your source Oracle database in your DCW Project. Navigate to

Database Conversion > Convert Code… The Code Conversion wizard opens.

ii. Select the Source SQL dialect and Target SQL dialect. Click Finish.

iii. The converted DDL file is located in your DCW Project folder, named <originalfilename>-

<timestamp>_converted.sql.

Note: The code conversion automatically changes all statement terminators to ‘@’

9.2. Split DDL Function

After the Code Conversion has been run, DCW has an optional, yet useful, function to convert a single DDL file into multiple files organized by object type. This function helps to stream-line your Oracle to dashDB conversion process by providing a much more intuitive code organization. Furthermore, it breaks down a large DDL file into smaller and more manageable components, which provides multiple team members the ability to work on various files.

*NOTE: Subsequent sections of this guide assumes that the Split DDL function has been run.

Page 25: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 25 of 35

9.2.1. Pre-requisites

Ensure that you have a DDL file of the source Oracle database as outlined in section 6.

Ensure that you have run the Code Conversion as outlined in section 9.1.

9.2.2. Run the Split DDL Function

i. Right-click on the converted DDL File of your source Oracle database in your DCW Project.

Navigate to Database Conversion > Split DDL Files… The Split SQL Files wizard opens.

ii. Select the appropriate Statement terminator. It is recommended that you use “@” since the code

conversion has automatically changed all terminators to ‘@’. Click Next.

iii. View the list of objects. Click Next.

iv. View the summary. Click Finish.

v. A new folder is created in your DCW Project that contains the split code.

9.3. Reviewing the converted code

You can review the converted code in Data Studio by double clicking on the SQL file.

DCW does one of the following five things:

Page 26: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 26 of 35

i. Remove code fragment – DCW comments out fragments of code that are not required on dashDB. These are tagged in the converted code with “Code Fragment”.

ii. Auto-convert code – DCW automatically makes updates to code to make it compatible with dashDB while maintaining the semantics of the original code. These statements are not tagged.

iii. Requires Attention – Code is marked as “requires attention” and is converted to dashDB compatible syntax so that the statement can compile and execute successfully. Although due to differences in behavior between dashDB and Oracle, it might raise issues during runtime in very specific scenarios. For instance, DCW converts any NUMBER(N) where N is greater than 31 (max precision in dashDB) to NUMBER(31) which works for a great majority of scenarios.

iv. Evaluation Issue – DCW highlights statements that were identified in the Evaluation Report as being a potential issue. These are tagged in the converted code as “DCW Evaluation Issue”

v. DCW adds the ORGANIZE BY clause to all CREATE TABLE statements as follows:

ORGANIZE BY COLUMN is added to those statements that do NOT have any issues preventing the table to be created as column-organized.

ORGANIZE BY ROW is added to those statements that contain one or more issues preventing the table to be created as column-organized.

Whenever possible, DCW modifies DDL statements in order to make them compatible with column-

organized tables. These cases are listed in the Compatibility Evaluation report as Informational only.

All BLU specific issues are tagged in the converted code with the comment “DCW BLU Evaluation

Issue”. At this point, you must manually edit the converted code to be fully compatible with dashDB.

1. Review code that requires attention. a. You can search the string “requires attention” by using CTRL+F. b. In the following example, the MAXVALUE statement was auto-converted from 28 digits to 27

digits, since dashDB only accepts up to 27 digits. In most cases, this is not a problem. However, DCW has identified it as requiring attention so that the user is aware that this change has been made, and might become an issue if 28 digits are required.

c. You can search the remaining converted code for the next statement that “requires

attention” and review it appropriately.

2. Review code with Evaluation Issue a. You can search the string “DCW Evaluation Issue” by using CTRL+F. b. In the following example, the BEFORE trigger must be invoked with a FOR EACH ROW

statement.

Page 27: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 27 of 35

This was also outlined in the Compatibility Evaluation Report.

You can add the FOR EACH ROW statement to the converted code, so that it can run on dashDB.

Page 28: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 28 of 35

10. Prepare the Target Database for Data Movement This step involves executing the extracted DDL statements against the target dashDB database to re-create the Oracle database objects.

10.1. Deploy Objects for Data Movement

Before transferring data from the source Oracle database, the target tables and other required objects must first be created.

In this step, you use the DDL files from the Split DDL function to create table spaces and tables on the target dashDB database.

10.1.1. Pre-requisites

Ensure that you have extracted the DDL statements from the source Oracle database.

Ensure that the Split DDL function has been executed on the extracted DDL file.

If applicable, ensure that you reviewed and fixed any incompatibilities highlighted in the Compatibility Evaluation Report and Code Conversion.

Ensure that the target database has been created and it is set up properly.

10.1.2. Execute the DDL statements to create table spaces and tables

i. Using the Project Explorer view, navigate to DCW_project > folder_with_split_DDL_files > Base

Objects.

ii. Execute the DDL statements in DDL_tablespace.sql and DDL_table.sql. This can be done by using

the SQL Editor in Data Studio, accessible by double clicking on any SQL file to open it. 1. Use the “Click here to connect to a database” link at the top of the editor and

select the target database. 2. Switch to the “Validation” tab at the bottom of the SQL Editor and change the

statement terminator to ‘@’. 3. Go back to the “Editor” tab and click on the green play button on the top right

corner to run the DDL.

4. The results and status are displayed below the SQL Editor in the SQL Results tab.

Page 29: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 29 of 35

Alternatively, you can use the DCW Run SQL Files… command to execute multiple files at once.

1. Select the SQL file(s) that you want to run. You can also select the folder to run all of the SQL files in a folder.

2. Right-click and navigate to Database Conversion > Run SQL Files…

3. Set your Statement delimiter to ‘@’. Click Finish.

4. Select the Connection profile of your target database. Click Finish. 5. The scripts execute.

Note: The listed files are only examples. Some of these files might not be present in your project because the objects were not extracted, or they do not exist in the source database.

Note: You might also need to execute DDL statements to create objects required by your table definitions, such as user-defined types.

10.2. Executing the Converted DDL from the dashDB Console

You also have the option to execute the converted DDL directly from the dashDB web interface.

i. From the dashDB Console, select the option Run SQL.

ii. Copy and paste the converted DDL into the text field area, or click on Open to upload a file from your local desktop.

iii. Click the Options button and change the statement terminator to ‘@’.

iv. Click on Run to execute the DDL. The results are displayed at the bottom of the pane.

Page 30: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 30 of 35

Page 31: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 31 of 35

11. Data Movement After the target dashDB database has been created and properly set up, you are now ready to move your data from the source Oracle database to the target dashDB database.

11.1. Data-Type Conversion Table

The following table summarizes the Oracle data types that are supported on dashDB, as well as the data types that are automatically converted by DCW. The table further details which data types are supported when moving data through flat files (CSV files). Data types that are not supported must be manually converted to a dashDB supported type before data movement can be done.

Oracle Data Type IBM dashDB Equivalent Flat Files

BFILE Not Supported Not Supported

BINARY_DOUBLE Converted to DECFLOAT Supported

BINARY_FLOAT Converted to DECFLOAT Supported

BLOB Supported Supported

BOOLEAN Converted to CHAR Supported

CHAR(arg1) arg1 < 254 Supported Supported

CHAR(arg1) 255 < arg1 < 32672 Converted to VARCHAR Supported

CHAR(arg1) arg1 > 32672 Converted to VARCHAR, precision 32672 Supported

CHAR Supported Supported

CHARACTER Converted to CHAR Supported

CLOB Supported Supported

DATE Supported Supported

DEC Supported Supported

DECIMAL Supported Supported

DOUBLE_PRECISION Supported Supported

FLOAT Supported Supported

INTEGER Supported Supported

INTERVAL_YEAR_TO_MONTH Not Supported Not Supported

INTERVAL_DAY_TO_SECOND Not Supported Not Supported

LONG Converted to CLOB Supported

LONG_RAW Converted to BLOB Supported

NCHAR(arg1) arg1 < 254 Supported Supported

NCHAR(arg1) 255 < arg1 < 16336 Converted to NVARCHAR Supported

NCHAR(arg1) arg1 > 16336 Converted to NVARCHAR, precision 16336 Supported

NCLOB Supported Supported

NUMBER(arg) Supported Supported

NUMBER(arg) arg >31 Converted to precision 31 Supported

NUMERIC (arg) Supported Supported

NUMERIC (arg) arg >31 Converted to precision 31 Supported

NVARCHAR2 Supported Supported

RAW Converted to CARCHAR Supported

REAL Supported Supported

ROWID Converted to VARCHAR Supported

SYS.XMLTYPE Converted to XML Supported

TIMESTAMP Supported Supported

TIMESTAMP WITH LOCAL TIME ZONE Converted to TIMESTAMP Supported

TIMESTAMP WITH TIME ZONE Converted to TIMESTAMP Supported

UROWID Not Supported Not Supported

VARCHAR2 Supported Supported

XMLTYPE Converted to XML Supported

11.2. Extract Oracle Data to Flat Files

11.2.1. Pre-requisites

Ensure that a connection to the source Oracle database exists

You might need the appropriate database administrator privileges (DATAACCESS)

You might need the appropriate OS administrator privileges

Page 32: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 32 of 35

11.2.2. Extract data to flat files

Note that this wizard is also accessible from the Oracle Task Launcher.

i. Right-click on the DCW Project and navigate to Database Conversion > Extract Data... The Extract

Data to Flat Files wizard opens.

ii. Complete the steps of the wizard.

a. Select the source Oracle database. Click Next. b. Select the schema that you want to move. Enter the output directory for the flat files and logs.

Click Next.

c. Select the tables you want to move. Click Next.

Page 33: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 33 of 35

d. Specify the data movement configuration parameters. For novice users, this can be left as

default. Click Next.

You can choose to create LOAD scripts that make use of exception tables by selecting the

“LOAD EXCEPTION TABLES” option. If you do, you must select YES to the option “Add

ORGANIZE BY ROW clause to exception tables DDL”. Exception tables use a CLOB column which is a data type not supported in column-organized tables. By selecting YES, the exception tables are created as row-organized regardless of the default settings in your dashDB database.

e. View the summary. Click Finish. f. The extraction log is automatically displayed in Data Studio. The data is extracted to the

directory specified in step c with the file extension “.tables”. g. You can copy the specified directory to a desired storage medium and transfer it to a different

computer.

11.2.3. Load data from flat files You can load your data into IBM dashDB using different options such as data file on a local network, an object store, and other locations. Consult the IBM dashDB Knowledge Center for the latest information available:

http://www.ibm.com/support/knowledgecenter/SS6NHC/com.ibm.swg.im.dashdb.doc/learn_how/loaddata_

overview.html

Page 34: IBM Database Conversion Workbench 3.5

IBM Analytics

IBM Database Conversion Workbench © Copyright IBM Corp. 2015. All rights reserved Page 34 of 35

12. Deploy Remaining Objects After moving data from the source Oracle database to dashDB, execute any remaining DDL scripts against the target database to complete the creation of all database objects.

Note: Ensure that you have completed the data transfer from all tables in the scope of your project.

i. Using the Project Explorer view, navigate to DCW_project > folder_with_split_DDL_files> Base

Objects and execute all of the DDL files.

You can open each individual file using the SQL Editor then press the Run SQL button to execute the DDL statements.

Alternatively, right-click on the .sql file and select Database Conversion > Run SQL files...

ii. Repeat the previous steps for all folders inside DCW_project > folder_with_split_DDL_files.

Note: Depending on the order that DDL statements are executed and the dependencies between the database objects, you might have to execute the DDL statements more than once until all of the dependencies are satisfied.

Page 35: IBM Database Conversion Workbench 3.5

© Copyright IBM Corporation 2015 All Rights Reserved. IBM Canada 8200 Warden Avenue Markham, ON L6G 1C7 Canada IBM, the IBM logo, ibm.com and Tivoli are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at ibm.com/legal/copytrade.shtml Other company, product and service names may be trademarks or service marks of others. References in this publication to IBM products and services do not imply that IBM intends to make them available in all countries in which IBM operates. No part of this document may be reproduced or transmitted in any form without written permission from IBM Corporation. Product data has been reviewed for accuracy as of the date of initial publication. Product data is subject to change without notice. Any statements regarding IBM’s future direction and intent are subject to change or withdrawal without notice, and represent goals and objectives only. THE INFORMATION PROVIDED IN THIS DOCUMENT IS DISTRIBUTED “AS IS” WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IBM EXPRESSLY DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. IBM products are warranted according to the terms and conditions of the agreements (e.g. IBM Customer Agreement, Statement of Limited Warranty, International Program License Agreement, etc.) under which they are provided.