Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
QUESTIONNAIRE
Oracle Partner Technical Services
Approvals:
Raja Srinivasan
Document Control
Change Record
August 19,1998 Tom Laszewski 2.0 Original document put into Oracle format.
Reviewers
Name Position
Distribution
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary ii
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary iii
Document Control.............................................................................................ii
Change Record.............................................................................................ii
Reviewers....................................................................................................ii
Distribution..................................................................................................ii
Executive Summary...........................................................................................1
Introduction........................................................................................................2
Purpose.........................................................................................................2
Background..................................................................................................2
Section II - Questions.........................................................................................5
Architecture..................................................................................................5
Database.....................................................................................................10
Support.......................................................................................................27
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary iv
Product Description...................................................................................30
Section IV - INFORMATION/SOLUTIONS..................................................31
Microsoft® IIS/ASP....................................................................................31
DB-Library/C-C++....................................................................................33
Visual Basic...............................................................................................33
Powerbuilder..............................................................................................33
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary v
This is the first template used when an Oracle consultant is preparing scope and
project plan documents for a Microsoft® SQL Server™ to Oracle9i migration
project. The information in this document is then used to complete the Project Scope
template.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 1
Purpose
This documents contains questions that need to be answered for any Microsoft® SQL
Server™ to Oracle9i migration effort. The four main sections of the document are
as follows:
1? Section 1(General Information) - Asks general questions about the company and product.
2? Section 2(Questions) - Asks all the questions that are necessary to prepare a thorough scope
document.
3? Section 3(Migration Workbench) - Gives an overview of the tool, and its limitations.
The questions in Section II are asked of the client. The answers, along with the
project scope template and section IV of this document, are used to complete the
project scope document.
Background
Oracle has performed many Microsoft® SQL Server™ to Oracle9i migrations over
the past five years. Oracle consultants have asked many of the same questions in
order to perform these migration efforts. This document is a compilation of the
questions asked of Microsoft® SQL Server™ technical personnel in order to
successfully complete a Microsoft® SQL Server™ to Oracle9i project scope effort.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 2
Client Information
Client name
Address
System/application
name
Contacts: Manager:
Technical Manager:
DBA:
Lead Developer:
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 3
Technical Manager:
DBA:
Lead Developer:
Others:
Phone/Fax/Pagers Manager:
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 4
DBA:
Lead Developer:
Others:
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 5
Architecture
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 6
Batch:
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 7
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 8
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 9
Describe use of Internet Information Server (IIS) and Active Server Pages (ASP)
Why: This area may need special consideration; Oracle9i offers the Internet
Application Server (iAS). More on this can be found in section IV.
Describe any special features such as: replication, parallel servers or distributed
processing.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 10
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 11
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 12
Number of tables
Why: The number of tables will impact the estimate for the schema migration. If
the Oracle Migration Workbench is used, the process should be for the most part
automatic. If the schema migration is done manually, an estimate needs to be made
for schema migration based upon the number of tables.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 13
Number of views
Why: Views can be converted automatically using the Migration Workbench tool. All
views need to be graded on level of complexity (simple, medium, complex and very
complex).
Complexity items: Items that cause a views to be more difficult to migrate include:
system tables and Microsoft® SQL Server™ specific functions. ANSI standard
joins: In some case we must also rewrite views containing specific joins types
because of the lack of support in the Migration Workbench.
Number of indexes
Why: Indexes are automatically converted if the Migration Workbench is used. If
the schema migration is done manually, an estimate needs to be made for schema
migration based upon the number of indexes.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 14
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 15
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 16
Number of triggers
Why: Triggers are converted automatically using the Migration Workbench. All
triggers need to be graded on level of complexity (simple, medium, complex and
very complex).
Complexity items: Items that cause a trigger to be more difficult to migrate
include: temporary tables, DDL, transaction control logic, use of inserted/deleted
tables in selects or DML, system tables, and global variables.
Oracle9i was both before and after triggers at the row and statement levels.
Microsoft® SQL Server™ only has “statement after” triggers. Microsoft® SQL
Server™ uses the “inserted” and “deleted” tables to make comparisons of old
values to new values. If the “inserted” and “deleted” tables are used in a SQL
Server trigger the Oracle9i trigger needs to be a row level trigger.
In many cases triggers can be migrated to Oracle9i table check and referential
constraints. This is because Oracle9i enforces foreign key and cascade delete
constraints at the table level (automatically, when the constraint is defined).
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 17
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 19
Multiple
Why: May need special coding to migrate to Oracle9i.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 20
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 21
Number of places Visual Basic calls stored procedures with multiple result
sets
Why: The number of places Visual Basic calls stored procedures with multiple
result sets will impact the estimate for converting. This is because the stored
procedure will need to be rewritten.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 23
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 24
Support
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 25
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 26
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 27
User documentation
Why: User documentation will most likely change.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 28
Overview
Oracle Migration Workbench is a tool that simplifies the process of migrating data and applications from non-
Oracle databases to Oracle9i. The current migration approach is to run multiple scripts to unload and load the
data dictionary, and convert application files in a number of unrelated steps. Oracle Migration Workbench
allows you to quickly and easily migrate an entire Application System — the database schema, users, stored
procedures, and embedded SQL — in an integrated, visual environment.
Product Description
Oracle Migration Workbench allows you to define a migration project, detailing the various database and
application components of the Application System to be migrated. Once a migration project has been defined,
you can use various Workbench tools to migrate the Migrable Components of the Application System. Oracle
Migration Workbench provides an intuitive and informative user interface, and the migration process is
simplified by the use of wizards.
The User Interface makes Oracle Migration Workbench extremely easy to use. To migrate an Application
System, you invoke the New Project Wizard to create a Workbench project that describes the source and
destination databases. The New Project Wizard will, in turn, invoke the Migration Wizard to carry out the actual
migration.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 29
Microsoft® IIS/ASP
Microsoft Architecture
In Microsoft, the five components used to access SQL Server data from the web are:
IIS, ASP, VB Script, ODBC and stored procedures(optional). The ASPs reside in IIS
and contain the HTML formatting logic; ASP logic is written using Vbscripts and
contains ODBC calls to SQL Server. The database logic maybe in the SQL Server in
the form of stored procedures.
Oracle9i solution
The Oracle9iAS Migration Kit for ASP (Active Server Pages) enables customers
with Microsoft IIS/ASP applications, facing performance, scalability and reliability
problems; to migrate to the open, standards based Java 2 Platform, Enterprise
Edition (J2EE). Understanding that Microsoft customers have large investments in
existing technology and personnel, Oracle provides a phased approach to migration,
allowing customers to embrace, improve and finally replace the Microsoft
technology stack.
Oracle9iAS Migration Kit for ASP in conjunction with Oracle Migration
Workbench offer a complete solution to migrate IIS/ASP applications and
supporting databases to Oracle9i iAS and Oracle9i DB.
The Microsoft® SQL Server™ database migrates fairly easy to the Oracle9i
database. A few differences are worth noticing:
Case insensitive database - Microsoft® SQL Server™ allows a SQL Server to be
installed as case insensitive. In Oracle9i, this is not allowed so and additional
column with all upper case needs to be created. In Oracle9i, this problem is
resolved because Oracle9i allows indexed to be created using functions on
columns.
Identity datatype - This becomes a sequence number in Oracle9i
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 30
Microsoft® SQL Server™ SQL and Oracle9i SQL are both based upon the same
underlying ANSI database language standards. However, RDBMS providers have
often added their own extensions to the standard language. This engine-specific SQL
is for the most part handled by the Migration Workbench tool.
CASE Statements - The CASE statement is used to perform different actions in the
return columns based upon the value in a column.
Solution 1: Tool replaces CASE statements with the Oracle9i DECODE
statement.
Solution 2: You can use the Oracle9i CASE statement directly in PL/SQL.
Other SQL differences - SQL difference were asked for in section II.
Solution: Solutions are given in the appendix of the scope document.
Microsoft® SQL Server™ stored procedures can be migrated to Oracle9i with the
help Oracle Migration Workbench. However, there are a few features of Microsoft,
which do not map to features in Oracle9i, or only maps with modifications:
Results set: Microsoft® SQL Server™ stored procedures can return data to the
calling environment by means of a SQL query inside the stored procedure. The
Stored Procedure Converter implements this using cursor variable, which implies
application modifications are necessary. The Oracle ODBC and OLEDB drivers
make this problem invisible to the application unless multiple result sets are
passed back.
Solution: Slight changes to the application when stored procedures are called.
DDL: Microsoft® SQL Server™ stored procedures can contain DDL. In
Oracle9i DDL is allowed, however, an implicit commit occurs.
The Oracle Migration Workbench ignores most Microsoft SQL Server DDL
commands and writes a warning to the Log window.
Solution: Remove DDL from the stored procedure or use Dynamic PL/SQL to
solve some of these commands.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 31
The syntax used in Microsoft® Server™ for Embedded SQL from C/C++ and
COBOL programs is different from that used by Oracle.
DB-Library/C-C++
Solution: Re-code the DB-Library calls to OCI calls. Oracle9i has write papers
and example code on how this is done.
Visual Basic
If stored procedures are not used, the only things to change are Oracle9i ODBC
driver, Oracle Net on client, and minor SQL statement changes. If stored procedures
are used but do not return multiple result sets, then the things to change are Oracle9i
ODBC driver and Oracle Net on client. If stored procedures are used that return
multiple result sets, then the things to change are Oracle9i ODBC driver that supports
reference cursors, Oracle Net on client, changes to the stored procedure calls, and
changes to handling results with multiple reference cursor.
Solution: The solution is dependent upon how the application is code: embedded
SQL or stored procedures. The paragraph above gives the options.
Powerbuilder
If stored procedures are not used, the only things to change are Oracle9i ODBC
driver or Powerbuilder native driver for Oracle9i, Oracle Net on client, and minor
SQL statement changes. If stored procedures are used but do not return multiple
result sets, then the things to change are Oracle9i ODBC driver or Powerbuilder
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 32
Solution: The solution is dependent upon how the application is code: embedded
SQL or stored procedures. The paragraph above gives the options.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 33
Microsoft® SQL Server™ owes its continued growth in part to its easy and efficient
data access for legacy applications and the latest object frameworks. The APIs I list
here are the gateways that let SQL Server function as a data source both for
traditional, 2-tiered client/server applications and as a data source for Web and n-
tiered applications.
DB-Library
The DB-Library is primarily a C implementation, but Microsoft® SQL Server™ also
provides a .bas file that lets you use this library with Visual Basic (VB). Although
legacy applications still use the DB-Library, it doesn't support the latest SQL Server
7.0 enhancements, and Microsoft won't enhance DB-Library in the future.
ODBC
ODBC provides a vendor-independent database-access API. The ODBC API has been
wildly successful as a database-access standard. Virtually all products that require
database access support it, and the most recent ODBC driver supports the Microsoft®
SQL Server™ 7.0 enhancements. You use a call-level interface (CLI) to implement
the ODBC API.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 35
OLE DB
Positioned as the successor to ODBC, OLE DB provides access to relational and no
relational data sources. OLE DB is the cornerstone of Microsoft's Universal Data
Access strategy, and you can use OLE DB to access any data source that can be
represented by a row-and-column format. But despite OLE DB's COM foundation,
to directly use the OLE DB API, you need a language that supports pointers—in other
words, C++.
ADO
ADO's position as my number-one data-access API shouldn't surprise you. Like DAO
and RDO, ADO is a COM-based object framework. Unlike its predecessors, ADO is
an object framework over OLE DB. So, you can use ADO and OLE DB in
development tools such as VB, VBScript, Java, JScript, and ASP. If you develop new
database applications, say ADO to those old data-access technologies.
Oracle Partner Technical ServicesOracle Partner Technical Services Executive SummaryExecutive Summary 36