Oracle to DB2 Conversion Guide: Compatibility Made Easy

Total Page:16

File Type:pdf, Size:1020Kb

Oracle to DB2 Conversion Guide: Compatibility Made Easy Front cover IBM® Information Management Software Oracle to DB2 Conversion Guide: Compatibility Made Easy Move Oracle to DB2 efficiently and effectively Learn about DB2 10.5 Oracle Database compatibility features Use Oracle PL/SQL skills directly with DB2 10.5 Yvonne Chan Nick Ivanov Olaf Mueller ibm.com/redbooks International Technical Support Organization Oracle to DB2 Conversion Guide: Compatibility Made Easy September 2013 SG24-7736-02 Note: Before using this information and the product it supports, read the information in “Notices” on page ix. Third Edition (September 2013) This edition applies to IBM DB2 for Linux, UNIX, and Windows Version 10.5. © Copyright International Business Machines Corporation 2009, 2013. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . ix Trademarks . x Preface . xi Authors . xii Acknowledgements . xiii Now you can become a published author, too! . xiv Comments welcome. xiv Stay connected to IBM Redbooks publications . xv Summary of changes . xvii September 2013, Third Edition. xvii Chapter 1. Introduction. 1 1.1 DB2 family of products . 2 1.1.1 DB2 editions . 2 1.1.2 IBM DB2 10.5 Advanced Enterprise Edition features . 6 1.1.3 DB2 10 autonomic computing features . 7 1.1.4 Introduction to PureData . 9 1.2 DB2 Oracle database compatibility features overview . 9 1.2.1 Concurrency control . 10 1.2.2 Data types . 11 1.2.3 Implicit casting. 11 1.2.4 SQL Standard . 12 1.2.5 PL/SQL . 12 1.2.6 Built-in packages. 15 1.2.7 Oracle specific JDBC extensions . 15 1.2.8 SQL*Plus scripts . 15 1.2.9 Oracle Call Interface and Pro*C . 16 1.3 DB2 educational resources . 16 1.3.1 IBM professional certification . 18 1.3.2 Other resources . 18 1.3.3 DB2 10 videos and topics . 19 Chapter 2. Language compatibility features. 21 2.1 DB2 compatibility features references. 22 2.1.1 SQL compatibility setup . 22 2.1.2 PL/SQL record and collection types . 27 2.1.3 Subtypes . 45 © Copyright IBM Corp. 2009, 2013. All rights reserved. iii 2.1.4 Basic procedural statements. 47 2.1.5 Control of flow statements. 53 2.1.6 Condition (exceptions) handling . 59 2.1.7 Cursor data type . 63 2.1.8 Static and dynamic SQL support. 69 2.1.9 Support for built-in scalar functions. 73 2.1.10 Routines, procedures, and functions compatibility . 84 2.1.11 PL/SQL packages . 96 2.1.12 Triggers . 100 2.1.13 SQL statements . 103 2.2 Schema compatibility features . 113 2.2.1 Extended data type support . 113 2.2.2 Flexible schema changes in DB2 . 114 2.2.3 Sequences . 115 2.2.4 Index enablement . 117 2.2.5 Constraints enablement . 118 2.2.6 Created global temporary tables . 120 2.2.7 Synonyms . 121 2.2.8 Views and Materialized Views. 122 2.2.9 Object types . 123 2.2.10 Partitioning and MDC . 126 2.2.11 Oracle database links . 137 2.2.12 Oracle Data Dictionary compatible views . 140 2.3 DB2 command-line utilities . 145 2.3.1 The command line processor plus user interface . 145 2.3.2 Using the DB2 command line processor. 153 Chapter 3. Conversion process and enablement tools . 159 3.1 The conversion process . 160 3.2 Enablement tools. 162 3.2.1 IBM Data Studio . 162 3.2.2 IBM Database Conversion Workbench . 165 3.3 Getting started with DCW . 169 3.3.1 Creating a DCW project . 169 3.3.2 DCW Task Launcher. 171 3.4 DDL extraction using DCW . 171 3.4.1 DDL extraction using a connection . 172 3.4.2 DDL extraction using a custom script . 177 3.4.3 Importing the DDL file . 178 3.5 Assessment and conversion using DCW . 178 3.5.1 Evaluating an Oracle DDL. 179 3.5.2 Converting Oracle DDL to DB2 compatible syntax . 185 3.5.3 The Split DDL function . 189 iv Oracle to DB2 Conversion Guide: Compatibility Made Easy 3.6 Preparing your DB2 database for data movement . 190 3.6.1 Creating the target DB2 database. 191 3.6.2 Deploying the DDL objects that are required for data movement . 191 3.7 Data movement using DCW . 194 3.7.1 Data movement using flat files . 194 3.7.2 Data movement using pipes . 197 3.7.3 Data movement using IBM InfoSphere Federation Server . 200 3.7.4 Data movement using IBM InfoSphere Change Data Capture . 203 3.7.5 Manual data deployment. 209 3.7.6 Selecting the appropriate data movement method . 210 3.7.7 Verifying data movement . 211 3.8 Deploying remaining objects on the target DB2 database . 211 3.9 Conclusion. 212 Chapter 4. Enablement scenario . 213 4.1 Installing DB2 and creating an instance . 214 4.2 Enabling SQL compatibility . ..
Recommended publications
  • Perl DBI API Reference
    H Perl DBI API Reference This appendix describes the Perl DBI application programming interface. The API consists of a set of methods and attributes for communicating with database servers and accessing databases from Perl scripts. The appendix also describes MySQL-specific extensions to DBI provided by DBD::mysql, the MySQL database driver. I assume here a minimum version of DBI 1.50, although most of the material applies to earlier versions as well. DBI 1.50 requires at least Perl 5.6.0 (with 5.6.1 preferred). As of DBI 1.611, the minimum Perl version is 5.8.1. I also assume a minimum version of DBD::mysql 4.00. To determine your versions of DBI and DBD::mysql (assuming that they are installed), run this program: #!/usr/bin/perl # dbi-version.pl - display DBI and DBD::mysql versions use DBI; print "DBI::VERSION: $DBI::VERSION\n"; use DBD::mysql; print "DBD::mysql::VERSION: $DBD::mysql::VERSION\n"; If you need to install the DBI software, see Appendix A , “Software Required to Use This Book.” Some DBI methods and attributes are not discussed here, either because they do not apply to MySQL or because they are experimental methods that may change as they are developed or may even be dropped. Some MySQL-specific DBD methods are not discussed because they are obsolete. For more information about new or obsolete methods, see the DBI or DBD::mysql documentation, available at http://dbi.perl.org or by running the following commands: % perldoc DBI % perldoc DBI::FAQ % perldoc DBD::mysql The examples in this appendix are only brief code fragments.
    [Show full text]
  • Accessing DB from Programming Languages
    Accessing DB from programming languages JDBCJDBC andand ODBCODBC • API (application-program interface) for a program to interact with a database server • Application makes calls to – Connect with the database server – Send SQL commands to the database server – Fetch tuples of result one-by-one into program variables • ODBC (Open Database Connectivity) works with C, C++, C#, and Visual Basic – Other API’s such as ADO.NET sit on top of ODBC • JDBC (Java Database Connectivity) works with Java JDBCJDBC • JDBC is a Java API for communicating with database systems supporting SQL. • JDBC supports a variety of features for querying and updating data, and for retrieving query results. • JDBC also supports metadata retrieval, such as querying about relations present in the database and the names and types of relation attributes. • Model for communicating with the database: – Open a connection – Create a “statement” object – Execute queries using the Statement object to send queries and fetch results – Exception mechanism to handle errors JDBCJDBC CodeCode public static void JDBCexample(String dbid, String userid, String passwd) { try { Class.forName ("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@db.yale.edu:2000:univdb", userid, passwd); Statement stmt = conn.createStatement(); … Do Actual Work …. stmt.close(); conn.close(); } catch (SQLException sqle) { System.out.println("SQLException : " + sqle); } } JDBCJDBC CodeCode (Cont.)(Cont.) • Update to database try { stmt.executeUpdate( "insert
    [Show full text]
  • Delivering Oracle Compatibility
    DELIVERING ORACLE COMPATIBILITY A White Paper by EnterpriseDB www.EnterpriseDB.com TABLE OF CONTENTS Executive Summary 4 Introducing EnterpriseDB Advanced Server 6 SQL Compatibility 6 PL/SQL Compatibility 9 Data Dictionary Views 11 Programming Flexibility and Drivers 12 Transfer Tools 12 Database Replication 13 Enterprise-Class Reliability and Scalability 13 Oracle-Like Tools 14 Conclusion 15 Downloading EnterpriseDB 15 EnterpriseDB EXECUTIVE SUMMARY Enterprises running Oracle® are generally interested in alternative databases for at least three reasons. First, these enterprises are experiencing budget constraints and need to lower their database Total Cost of Ownership (TCO). Second, they are trying to gain greater licensing flexibility to become more agile within the company and in the larger market. Finally, they are actively pursuing vendors who will provide superior technical support and a richer customer experience. And, subsequently, enterprises are looking for a solution that will complement their existing infrastructure and skills. The traditional database vendors have been unable to provide the combination of all three benefits. While Microsoft SQL ServerTM and IBM DB2TM may provide the flexibility and rich customer experience, they cannot significantly reduce TCO. Open source databases, on the other hand, can provide the TCO benefits and the flexibility. However, these open source databases either lack the enterprise-class features that today’s mission critical applications require or they are not equipped to provide the enterprise-class support required by these organizations. Finally, none of the databases mentioned above provide the database compatibility and interoperability that complements their existing applications and staff. The fear of the costs of changing databases, including costs related to application re-coding and personnel re-training, outweigh the expected savings and, therefore, these enterprises remain paralyzed and locked into Oracle.
    [Show full text]
  • Netezza EOL: IBM IAS Is a Flawed Upgrade Path Netezza EOL: IBM IAS Is a Flawed Upgrade Path
    Author: Marc Staimer WHITE PAPER Netezza EOL: What You’re Not Being Told About IBM IAS Is a Flawed Upgrade Path Database as a Service (DBaaS) WHITE PAPER • Netezza EOL: IBM IAS Is a Flawed Upgrade Path Netezza EOL: IBM IAS Is a Flawed Upgrade Path Executive Summary It is a common technology vendor fallacy to compare their systems with their competitors by focusing on the features, functions, and specifications they have, but the other guy doesn’t. Vendors ignore the opposite while touting hardware specs that mean little. It doesn’t matter if those features, functions, and specifications provide anything meaningfully empirical to the business applications that rely on the system. It only matters if it demonstrates an advantage on paper. This is called specsmanship. It’s similar to starting an argument with proof points. The specs, features, and functions are proof points that the system can solve specific operational problems. They are the “what” that solves the problem or problems. They mean nothing by themselves. Specsmanship is defined by Wikipedia as: “inappropriate use of specifications or measurement results to establish supposed superiority of one entity over another, generally when no such superiority exists.” It’s the frequent ineffective sales process utilized by IBM. A textbook example of this is IBM’s attempt to move their Netezza users to the IBM Integrated Analytics System (IIAS). IBM is compelling their users to move away from Netezza. In the fall of 2017, IBM announced to the Enzee community (Netezza users) that they can no longer purchase or upgrade PureData System for Analytics (the most recent IBM name for its Netezza appliances), and it will end-of-life all support next year.
    [Show full text]
  • SAP Database Administration with IBM
    André Faustmann, Michael Greulich, André Siegling, Benjamin Wegner, and Ronny Zimmerman SAP® Database Administration with IBM® DB2® Bonn Boston Contents at a Glance 1 Introduction ............................................................................ 19 2 SAP System Landscapes ......................................................... 25 3 Basics and Architecture of the IBM DB2 for LUW Database ................................................................................. 71 4 Lifecycle ................................................................................. 233 5 Administration Tools Inside and Outside the SAP System .... 327 6 Backup, Restore, and Recovery .............................................. 463 7 Monitoring DB2 SAP Systems with SAP Solution Manager .................................................................................. 575 8 SAP NetWeaver Business Warehouse and IBM DB2 for LUW .................................................................................. 647 9 Common Problems and Their Solutions for DB2 Administrators ........................................................................ 697 Contents Foreword .................................................................................... 15 Acknowledgments ....................................................................... 17 1 Introduction ................................................................. 19 1.1 Who This Book Is For .................................................... 21 1.2 Focus of This Book .......................................................
    [Show full text]
  • Fortran Reference Guide
    FORTRAN REFERENCE GUIDE Version 2018 TABLE OF CONTENTS Preface............................................................................................................ xv Audience Description......................................................................................... xv Compatibility and Conformance to Standards............................................................ xv Organization................................................................................................... xvi Hardware and Software Constraints...................................................................... xvii Conventions................................................................................................... xvii Related Publications........................................................................................ xviii Chapter 1. Language Overview............................................................................... 1 1.1. Elements of a Fortran Program Unit.................................................................. 1 1.1.1. Fortran Statements................................................................................. 1 1.1.2. Free and Fixed Source............................................................................. 2 1.1.3. Statement Ordering................................................................................. 2 1.2. The Fortran Character Set.............................................................................. 3 1.3. Free Form Formatting..................................................................................
    [Show full text]
  • SPSS to Orthosim File Conversion Utility Helpfile V.1.4
    SPSS to Orthosim File Conversion Utility Helpfile v.1.4 Paul Barrett Advanced Projects R&D Ltd. Auckland New Zealand email: [email protected] Web: www.pbarrett.net 30th December, 2019 Contents 3 Table of Contents Part I Introduction 5 1 Installation Details ................................................................................................................................... 7 2 Extracting Matrices from SPSS - Cut and Paste ................................................................................................................................... 8 3 Extracting Matrices from SPSS: Orthogonal Factors - E.x..c..e..l. .E..x..p..o..r.t................................................................................................................. 17 4 Extracting Matrices from SPSS: Oblique Factors - Exce.l. .E..x..p..o..r..t...................................................................................................................... 24 5 Creating Orthogonal Factor Orthosim Files ................................................................................................................................... 32 6 Creating Oblique Factor Orthosim Files ................................................................................................................................... 41 3 Paul Barrett Part I 6 SPSS to Orthosim File Conversion Utility Helpfile v.1.4 1 Introduction SPSS-to-Orthosim converts SPSS 11/12/13/14 factor loading and factor correlation matrices into the fixed-format .vf (simple ASCII text) files
    [Show full text]
  • Xquery in IBM DB2 10 for Z/OS
    ® XQuery in IBM DB2 10 for z/OS Introduction In November 2011, support was added for XQuery in IBM® DB2® 10 for z/OS® through APARs PM47617 and PM47618. XQuery extends XPath with new language constructs, adding expressiveness to the IBM pureXML® features of DB2. Many XQuery queries can be rewritten using a combination of XPath and SQL/XML, but often XQuery is the preferred tool, as it is an easier to code and more readable alternative. Like XPath, XQuery is a W3C standard, and its addition is a further step in ensuring compatibility within the DB2 family of products. XQuery has been available in DB2 for Linux, UNIX, and Windows since 2006. Constructs of XQuery XQuery introduces new types of expressions that can be used in XMLQUERY, XMLTABLE, and XMLEXISTS function calls. The XMLQUERY function is used in the SELECT clause of an SQL query to specify which XML data to retrieve. The XMLTABLE function is used in the FROM clause to extract XML data in a table format. The XMLEXISTS function is used in the WHERE clause to specify under which conditions to retrieve the data. XQuery expressions are most applicable with XMLQUERY, because arguments to XMLEXISTS can be specified by XPath expressions, which are indexable, while XQuery expressions are not. XMLQUERY is not indexable. XQuery can be used in XMLTABLE as the row expression or column expressions, but is usually not needed for the relational result. XQuery could be used to construct new XML values for the XML column results. There are three types of expressions that can be used alone or in combination: FLWOR expressions A FLWOR expression is a loop construct for manipulating XML documents in an application-like manner.
    [Show full text]
  • Relational Database Design Chapter 7
    Chapter 7: Relational Database Design Chapter 7: Relational Database Design First Normal Form Pitfalls in Relational Database Design Functional Dependencies Decomposition Boyce-Codd Normal Form Third Normal Form Multivalued Dependencies and Fourth Normal Form Overall Database Design Process Database System Concepts 7.2 ©Silberschatz, Korth and Sudarshan 1 First Normal Form Domain is atomic if its elements are considered to be indivisible units + Examples of non-atomic domains: Set of names, composite attributes Identification numbers like CS101 that can be broken up into parts A relational schema R is in first normal form if the domains of all attributes of R are atomic Non-atomic values complicate storage and encourage redundant (repeated) storage of data + E.g. Set of accounts stored with each customer, and set of owners stored with each account + We assume all relations are in first normal form (revisit this in Chapter 9 on Object Relational Databases) Database System Concepts 7.3 ©Silberschatz, Korth and Sudarshan First Normal Form (Contd.) Atomicity is actually a property of how the elements of the domain are used. + E.g. Strings would normally be considered indivisible + Suppose that students are given roll numbers which are strings of the form CS0012 or EE1127 + If the first two characters are extracted to find the department, the domain of roll numbers is not atomic. + Doing so is a bad idea: leads to encoding of information in application program rather than in the database. Database System Concepts 7.4 ©Silberschatz, Korth and Sudarshan 2 Pitfalls in Relational Database Design Relational database design requires that we find a “good” collection of relation schemas.
    [Show full text]
  • SQL & Advanced
    SQL & ADVANCED SQL Marcin Blaszczyk (CERN IT-DB) [email protected] AGENDA Goal of this tutorial: Present the overview of basic SQL capabilities Explain several selected advanced SQL features Outline Introduction SQL basics Joins & Complex queries Analytical functions & Set operators Other DB objects (Sequences, Synonyms, DBlinks, Views & Mviews) Indexes & IOTs Partitioning Undo & Flashback technologies Oracle Tutorials 5th of May 2012 SQL LANGUAGE Objective: be able to perform the basic operation of the RDBMS data model create, modify the layout of a table remove a table from the user schema insert data into the table retrieve and manipulate data from one or more tables update/ delete data in a table + . Some more advanced modifications Oracle Tutorials 5th of May 2012 SQL LANGUAGE (2) Structured Query Language Programing language Designed to mange data in relational databases DDL Data Definition Language Creating, replacing, altering, and dropping objects Example: DROP TABLE [TABLE]; DML Data Modification Language Inserting, updating, and deleting rows in a table Example: DELETE FROM [TABLE]; DCL Data Control Language Controlling access to the database and its objects Example: GRANT SELECT ON [TABLE] TO [USER]; Oracle Tutorials 5th of May 2012 SQL LANGUAGE(3) STATEMENT DESCRIPTION SELECT Data Retrieval INSERT UPDATE Data Manipulation Language (DML) DELETE CREATE ALTER DROP Data Definition Language (DDL) RENAME TRUNCATE GRANT Data Control Language (DCL) REVOKE COMMIT Transaction Control ROLLBACK Oracle Tutorials 5th of May 2012 TRANSACTION & UNDO A transaction is a sequence of SQL Statements that Oracle treats as a single unit of work A transaction must be commited or rolled back: COMMIT; - makes permanent the database changes you made during the transaction.
    [Show full text]
  • Oracle Nosql Database
    An Oracle White Paper November 2012 Oracle NoSQL Database Oracle NoSQL Database Table of Contents Introduction ........................................................................................ 2 Technical Overview ............................................................................ 4 Data Model ..................................................................................... 4 API ................................................................................................. 5 Create, Remove, Update, and Delete..................................................... 5 Iteration ................................................................................................... 6 Bulk Operation API ................................................................................. 7 Administration .................................................................................... 7 Architecture ........................................................................................ 8 Implementation ................................................................................... 9 Storage Nodes ............................................................................... 9 Client Driver ................................................................................. 10 Performance ..................................................................................... 11 Conclusion ....................................................................................... 12 1 Oracle NoSQL Database Introduction NoSQL databases
    [Show full text]
  • Oracle Database Vault Overview
    Oracle Database Vault Oracle Database Vault provides controls to prevent unauthorized privileged users from accessing sensitive data, prevent unauthorized database changes, and helps customers meet industry, regulatory, or corporate security standards. March 23, 2020 Copyright © 2020, Oracle and/or its affiliates Public Purpose Statement This document provides an overview of features and enhancements included in the latest releases of Oracle Database Vault. It is intended solely to help you assess the business benefits of using Oracle Database Vault preventive controls and to plan your Data Security / I.T. projects. Disclaimer This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle software license and service agreement, which has been executed and with which you agree to comply. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates. This document is for informational purposes only and is intended solely to assist you in planning for the implementation and upgrade of the product features described. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of
    [Show full text]