reality check: converting oracle applications to db2 · database conversion application conversion...
TRANSCRIPT
Reality Check:Converting Oracle
Applications to DB2Session Number 2250
Serge Rielau, IBMArchitect for
Oracle Application [email protected]
2
Please Note:
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
3
Agenda● Motivation
● Compatibility Primer
● Traction
● Experience
● Lessons
● Outlook
4
Why migrate to DB2?
Provide value for money
5
Why migrate to DB2?
Provide world class support
6
Why migrate to DB2?
Treat partners well
7
Application compatibility, vitalsOracle DB2
Concurrency Control Native support Oracle SQL dialect Native supportPL/SQL Native supportPL/SQL Packages Native supportBuilt-in package library Native supportOracle JDBC extensions Native supportOCI Native support (db2ci)Oracle Forms e.g. Wonderworks FusionPaaSSQL*Plus Scripts Native support (clpplus)RAC DB2 pureScale
Changes are the exception. Not the rule.
8
• Syntax toleration Where no semantic conflicts exist
• Add infrastructureEliminate impedance mismatch
• Compatibility modesOvercome clashes between DB2 and other SQL dialects
• Near out of the box compatibility for your app– Client side– Server side
This is not an emulation!
9
• Source level debugging and profiling
• Built-in
• Proven
Native PL/SQL support in DB2
PL/SQL executes at the same speed as SQL PL in DB2
DB2 Server
SQL PLCompiler
SQL Unified Runtime Engine
Debugger
Profiler
Data StudioEditor
Database
PL/SQLCompiler
10
Steps of MigrationPOCAssessment Database
ConversionApplicationConversion Testing
AutoFix MEET Estimator
CAQ
• AutoFix Parse application code and replace unknown SQL API syntax by proper DB2 SQL API syntax. We use standard pattern based replacement of known repetitive code snippets
• MEET Analyzes SQL code for its compatibility with DB2 residing inside the database or within other programming languages
• Conversion Assessment Questionnaire (CAQ) Creation of electronic form which will prepare the collected information by clients for the estimation process
• Estimator calculates the conversion efforts based on MEET and CAQ findings
PackageVisualizer
• Package Visualizer depicts dependencies between PL/SQL objects to identify the right scope for a POC
IDMT
• IDMT Automatically deploys database structure and data from other vendor’s databases to DB2
Database conversion workbench
CoversionProject
Timeline
Optim Data Studio
AdditionalOracle
Packages
11
Data Movement Tool – Drag, Drop, Patch
IBM Confidential 12
Traction• The Clients have the choice, have spoken
• … and are getting bolder– Started off increasing DB2 participation incrementally – More and more requesting RFQ for “all-in” deals– often expand out from SAP/DB2 win
• Potash, Canada ● France Telecom, France● Faith Industries, Italy ● Colgate, USA● Wu Han Metro, China ● Indian Bank/TCS, India● Ministry Environmental Protection, China ● China Mobile, China● China Minsheng Bank, China ● TOTVS, Brazil● Canadian Blood Services (#1371) ● First Data Corp, USA● J. P. Morgan Chase, USA (Keynote) ● Subex, India (#3597)
13
Deeper dive into one customer
• Packaged application in the “Travel Reservation” space– Server Oracle 10gR2
– Client API: OCI
– Programming language: Delphi
– 25MB of PL/SQL
– Expectation “One Source” outcome.
– Plan to deploy as SaaS
14
DB2 9.7 MEET Report
Benefits• Rapid assessment of
application• Early confirmation of
compatibility• Lists details and source code
line number for exceptions
96.8% of statements immediately transferable to IBM DB2
● Less than 5% objects with issues● 6500 lines to investigate
15
MEET DB2 Peeling the Onion
• Top 3 responsible for 89% of issues!
Feature Description Description #BOOLEAN IN ROW BOOLEAN field cannot be part of a record definition. 4103PRAGMA Some PRAGMA directives are not supported. 1600XMLDOM XMLDOM functionality is not supported. 244NESTED PROGRAMS Nested procedure and function definitions are not supported. 175UTL_RAW UTL_RAW package is not supported. 153COLLECTION OBJECTS Only Associative arrays are supported when declared in
packages.78
V$ VIEWS V$* or V_$* VIEWS are not supported. 74DBLINKS DbLinks syntax is not supported. 46NOWAIT NOWAIT functionality is not supported. 46DBMS_SQL changes Some DBMS_SQL procedures have different names in DB2. 36VARCHAR2 LIMIT EXCEEDED The varchar2 size for the DB2 should be limited to 32672. 33Misc (Everything else) 155
16
MEET DB2 Top 3 Analysis
• Do not allow BOOLEAN types row attributes• Need to map to CHAR(1) or SMALLINT• Direct support provided in 9.7.5 (Oct 2011)
• DB2 supports similar concept (READ/MODIFIES SQL DATA)
• This is a defensive compiler option– Can be commented out without semantic impact
• An AS-IS version of XMLDOm is available upon request.
61%
24%
3%
17
Application Compatibility Development Process
• Focus
– Customer driven
– Aggressive
– Continuous
• Balance
– Performance
– Road blocks
– Simplification
– Reach
Cost Compatibility
MEET
Development Plan
Develop
Dep
loy
Ana
lyze
MEETReports
Database
18
Application Compatibility over Time
• Data is based on MEET DB2 reports in the database
– Actual number of reports run is unknown
• Compatibility is improved
– but improved MEET DB2 catches more problems
– More and more complex applications
• Most recent IBM led Proof of Concepts already use DB2 9.7.5
9.7.0 9.7.1 9.7.2 9.7.3 9.7.4 9.7.5 Vnext0
102030405060708090
100
% LOC unchangedNumber of reports
300
0
60
120
180
240
19
38 (of 220) Applications analyzed
● Range of industries, solutions, countries
● Various sizes1006 to 114,502 Lines of Code
● Significant sample size:2,048,941 LOC total
● 83% - 99.9% of LOCimmediately transferable to DB2
MEET DB2 FP4 statistics
0102030405060708090100
20
Average effort across large enterprise clients and ISVs
What impacts migration time
• Oracle Forms• Partition
handling• AQ• Pro*C
OR features 3rd party
dependencies• Replication• Text search• OCCI
ComplexMedium
• DBMS_STATS• PHP/PERL• Java• OCI
Easy
Determining Factors● Quantities of issues listed below ● Critical path● Team skills ● Dependencies of code
% DB2 9.7 Historic ReductionEasy 50 1PW-1PM 1PM-6PM
75%Medium 35 1PM-1PY 6PM-4PYComplex 15 >1PY >4PY
21
Top 10 issues found in aggregate 1. DBMS_APPLICATION Package not provided2. Nested routines Pull out to package or global3. DBLINK usage Maps to federation4. DBMS_SQL Package exists, but small adjustments needed5. NUMBER precision NUMBER(38) → NUMBER(31)6. VARCHAR2 length VARCHAR2(32767) → VARCHAR2(32672)7. SYSTIMESTAMP Typically CURRENT TIMESTAMP works well8. Unique on NULL columns Often domain is not null or map index9. EXIT/GOTO in exceptions Easy rewrite
10. XMLDOM package As-is version available upon request
• Ordered by number of occurrences within and across applications
• .. but number of occurrences is a poor measure of complexity
22
DB2 Development GamblesCursor Stability with CURRENTLY COMMITTED
– Simpler and faster than Statement Isolation with MVCC
– Sufficient in vast majority of cases
PL/SQL Functions– Did not expect that PL/SQL functions are that common
– PL/SQL functions share same capabilities as PL/SQL Procedures(Updates, Rollback, OUT parameters, Default, Named Args...)
Incrementally aligned capability over multiple 9.7 fixpacks
23
DB2 Development Strategy
DB2
PHP
JDBC
Mart
OLTP
Pro*C
Forms
Warehouse
.Net
RAC
9.1 → 9.7 reduced Conversion effort by 90%9.7 → Vnext aim to reduce Conversion effort by 50% again
Fattening the PipeFurther simplify
conversions
Fattening the PipeFurther simplify
conversionsWidening the FunnelAccept more applications
● More APIs● *******● Forms● pureScale● *****************
Widening the FunnelAccept more applications
● More APIs● *******● Forms● pureScale● *****************
24
9,7.1 OCI Extend reach ●
SUBSTRB, increase compatibility ●
INOUT UDF Parms Increase compatibility ●
Basic warehousing support Extend reach ●
Conditional Compilation ISV ●
Improve BOOLEAN, FORALL, BULK COLELCT Increase compatibility ●
9.7.2 Obfuscation ISV ●
NCHAR, NVARCHAR, NCLOB Extend reach ●
DEFAULT UDF Parameters Increase compatibility ●
9.7.3 NUMBER Performance Performance ●
Runtime “purity level” enforcement Increase compatibility ●
RATIO_TO_REPORT,RAISE_APPLICATION_ERROR Increase compatibility ●
Small LOB compare Increase compatibility ●
9.7.4 Multi action trigger, update in before triggers Increase compatibility ●
Autonomous Tx improvements Increase compatibility ●
LIKE improvements, LISTAGG Increase compatibility ●
ROW, ARRAY of ROW JDBC support Increase compatibility ●
9.7.5 Pro*C Extend Reach ●
Nested complex types Extend Reach ●
NVL2, REPLACE, SUBSTR2 Increase compatibility ●
******* ******************************************** Increase compatibility ●
***************************** Performance ●
*******... **************** Extend Reach ●
************************************* Extend Reach ●
********************** Performance ●
●Shipped●In Plan●Considered
Ongoing Focus – Customer driven
You are
here
You are
here
25
Conclusion/Outlook
• DB2 compatibility with Oracle applications has rapidly matured
• Compatibility is implemented in DB2's core for native performance
• DB2 customers benefit from simplified skills transfer
• DB2 will continue to extend compatibility with Oracle applications to further drive down enablement cost.
26
Related Sessions
1692 Save Money! New Tools and Their Usage to Convert From Oracle Faster1566 Migrating Large Databases with CDC3597 Powering Subex's Revenue Operations Centre with IBM DB21371 Migrating the Canadian Blood Services Data Warehouse From Oracle to
IBM DB2
1575 Coca-Cola Bottling Ongoing IBM DB2 Journey3566 FusionPaaS: Automated Migration of Oracle Forms Applications to Open
Cloud Platform on IBM DB2 & IBM WebSphere
3562 IBM DB2 Speaks Oracle: Technology Session3755 Enabling and Migrating Applications to IBM DB22706 Take Control of Oracle Licensing Costs
27
Appendix• Wiki with technical and non technical resources
www.tinyurl.com/Oracle2DB2Wiki
• DB analysis tool (free for download and usage)www.tinyurl.com/MeetDB2
• DB movement tool (free for download and usage)www.tinyurl.com/Move2DB2
• Buzzwww.tinyurl.com/ServersForTruth-1www.tinyurl.com/ServersForTruth-2www.tinyurl.com/reTHINKmigration-1www.tinyurl.com/reTHINKmigration-2
Contact: [email protected]
28
• On-line communities, User Groups, Technical Forums, Blogs, Social networks, and more
– Find the community that interests you…
• Information Management ibm.com/software/data/community
• Business Analytics ibm.com/software/analytics/community
• Enterprise Content Management ibm.com/software/data/content-management/usernet.html
• IBM Champions
– Recognizing individuals who have made the most outstanding contributions to Information Management, Business Analytics, and Enterprise Content Management communities
• ibm.com/champion
Communities
29
Thank You!Your Feedback is Important to Us
• Access your personal session survey list and complete via SmartSite
– Your smart phone or web browser at: iodsmartsite.com
– Any SmartSite kiosk onsite
– Each completed session survey increases your chance to win an Apple iPod Touch with daily drawing sponsored by Alliance Tech
30
Acknowledgements and Disclaimers:
© Copyright IBM Corporation 2011. All rights reserved.
– U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM, the IBM logo, ibm.com, and DB2 are trademarks orb 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 www.ibm.com/legal/copytrade.shtmlOther company, product, or service names may be trademarks or service marks of others.
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.