15
DB2 9.7: Chy các ng dng Oracle trên DB2 9.7 cho Linux, UNIX và Windows !"#$%&’()!" *+,-./0-(1234 Mc : Trung bình Serge Rielau , Kin trúc s SQL, STSM, IBM 06 11 2009 IBM® DB2® 9.7 cho Linux®, UNIX® và Windows® có s h tr sn sàng cho các phng ng SQL ca Oracle và PL/SQL. iu này cho phép nhiu ng dng ã vit theo Oracle c thc hin theo DB2. Trong bài vit này, hãy ón nhn mt tng quan mc cao v kh nng tng thích Oracle có ngha là gì trong DB2. Cho dù bn mun chuyn ng dng tùy chnh ca bn sang DB2 hoc m rng s h tr ca nhà cung cp DBMS ca bn sang DB2, thì bây gi là lúc ca bn. ng lc Tháng 3 va ri, ti mt cuc thuyt trình CeBIT mà tôi ã t chc v DB2 9.7, tôi ã t cháy mt b loa máy tính 110V do tôi ã không thn trng c!m nó vào l"i in 230V ca n"c c mà không cho qua mt bin áp. Trong cùng chuyn i ó, tôi c#ng ã phá h$ng b sc in cho bàn chi ánh rng chy in ca tôi và máy co râu ca tôi v"i các s c tng t. B$ qua s bt lc ca tôi nh là bài hc t các sai l%m sang mt bên, vic này xy ra nh không có gì bt ng úng nh mt trong các câu châm ngôn yêu thích ca tôi (không rõ ngun gc) là "Vn v"i các tiêu chu&n là có bao nhiêu tiêu chu&n". Trong th gi"i ca các h thng qun lý c s d liu quan h (RDBMS), chúng tôi may m!n có ít nht ba tiêu chu&n chính và vô s các s thay i theo các tiêu chu&n ó: ANSI SQL và ANSI SQL/PSM Oracle SQL và PL/SQL Sybase và Microsoft TSQL Hình 1 mô t bng mt s Venn cách các phng ng SQL chng lên nhau: Hình 1. S h lon Babylon ca SQL Bt c khi nào bn vit mt ng dng, bn phi tin hành la chn s( dng nhà cung cp RDBMS nào. Mt khi bn ã thc hin s la chn ó, v c bn bn c cam kt. Bt k) c g!ng nào chuyn i các nhà cung cp tn dng giá thp hn, công ngh tt hn hoc quan h i tác tt hn b* cn tr do mã tha k c%n c vit li nhiu hn, tr"c khi nó có th c dùng v"i mt RDBMS khác. Ngoài ra, b k+ nng ca bn không th chuyn t mt sn ph&m này sang mt sn ph&m khác d, dàng nh bn mong i. Page 1 of 15 DB2 9.7: Chy các ng dng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Embed Size (px)

DESCRIPTION

DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Citation preview

Page 1: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows ������������� ������������������� ��������������������� ��!"��#�$%����&����'�()��!"��*���+�,-./0-�(1���2��3�4���

M�c ��: Trung bình

Serge Rielau, Ki�n trúc s� SQL, STSM, IBM

06 11 2009

IBM® DB2® 9.7 cho Linux®, UNIX® và Windows® có s� h� tr� sn sàng cho các ph�ng ng� SQL c�a Oracle và PL/SQL. i�u này cho phép nhi�u �ng d�ng �ã vi�t theo Oracle ���c th�c hi�n theo DB2. Trong bài vi�t này, hãy �ón nh�n m�t t�ng quan m�c cao v� kh� n�ng t�ng thích Oracle có ngh�a là gì trong DB2. Cho dù b�n mu�n chuy�n �ng d�ng tùy ch�nh c�a b�n sang DB2 ho�c m� r�ng s� h� tr� c�a nhà cung c�p DBMS c�a b�n sang DB2, thì bây gi� là lúc c�a b�n.

��ng l�c

Tháng 3 v�a r�i, t�i m�t cu�c thuy�t trình CeBIT mà tôi �ã t� ch�c v� DB2 9.7, tôi �ã ��t cháy m�t b� loa máy tính 110V do tôi �ã không th�n tr ng c!m nó vào l�"i �i�n 230V c�a n�"c �c mà không cho qua m�t bi�n áp. Trong cùng chuy�n �i �ó, tôi c#ng �ã phá h$ng b� s�c �i�n cho bàn ch�i �ánh r�ng ch�y �i�n c�a tôi và máy c�o râu c�a tôi v"i các s� c� t�ng t�. B$ qua s� b�t l�c c�a tôi nh� là bài h c t� các sai l%m sang m�t bên, vi�c này x�y ra nh� không có gì b�t ng� �úng nh� m�t trong các câu châm ngôn yêu thích c�a tôi (không rõ ngu�n g�c) là "V�n �� v"i các tiêu chu&n là có bao nhiêu tiêu chu&n".

Trong th� gi"i c�a các h� th�ng qu�n lý c s� d� li�u quan h� (RDBMS), chúng tôi may m!n có ít nh�t ba tiêu chu&n chính và vô s� các s� thay ��i theo các tiêu chu&n �ó:

� ANSI SQL và ANSI SQL/PSM � Oracle SQL và PL/SQL � Sybase và Microsoft TSQL

Hình 1 mô t� b'ng m�t s �� Venn cách các ph�ng ng� SQL ch�ng lên nhau:

Hình 1. S� h� lo�n Babylon c�a SQL

B�t c� khi nào b�n vi�t m�t �ng d�ng, b�n ph�i ti�n hành l�a ch n s( d�ng nhà cung c�p RDBMS nào. M�t khi b�n �ã th�c hi�n s� l�a ch n �ó, v� c b�n b�n ���c cam k�t. B�t k) c� g!ng nào �� chuy�n ��i các nhà cung c�p �� t�n d�ng giá th�p hn, công ngh� t�t hn ho�c quan h� ��i tác t�t hn b* c�n tr� do mã th�a k� c%n ���c vi�t l�i nhi�u hn, tr�"c khi nó có th� ���c dùng v"i m�t RDBMS khác. Ngoài ra, b� k+ n�ng c�a b�n không th� chuy�n t� m�t s�n ph&m này sang m�t s�n ph&m khác d, dàng nh� b�n mong ��i.

Page 1 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 2: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

IBM DB2 9.7 cho Linux, UNIX và Windows (DB2) nh'm h� th�p �áng k� nh�ng rào c�n này cho các �ng d�ng ���c vi�t cho Oracle khi cho phép các �ng d�ng �ó chuy�n sang DB2. i�u này cung c�p cho các khách hàng và các nhà cung c�p kh� n�ng l�a ch n m�t DBMS ��a theo s� xu�t s!c c�a nó, ch� không theo l*ch s( �ng d�ng.

DB2 9.7 b� sung thêm các tính n�ng tng thích c�a Oracle

� cho phép m�t �ng d�ng ���c vi�t cho m�t RDBMS ch�y trên n�n khác g%n nh� không c%n thay ��i, nhi�u �o�n mã ph�i n'm �úng v* trí. Các c ch� khóa, các ki�u d� li�u, SQL, ngôn ng� theo th� t�c khác nhau n'm trên máy ch� và th�m chí c� các giao di�n khách hàng ���c chính �ng d�ng s( d�ng c%n ph�i ���c liên k�t không ch� theo cú pháp, mà còn theo ng� ngh�a.

T�t c� các b�"c này �ã ���c th�c hi�n trong DB2. Các thay ��i là ngo�i l�, không ph�i là quy lu�t (IBM có th� nhanh chóng �ánh giá các thay ��i c�a �ng d�ng c%n thi�t). B�ng 1 cung c�p m�t t�ng quan ng!n g n v� các tính n�ng th��ng ���c s( d�ng:

B�ng 1. Các tính n�ng th��ng �c s� d�ng

V"i DB2 9.7, b�n không c%n chuy�n m�t �ng d�ng n�a. B�n ch� kích ho�t �ng d�ng. Trong tr��ng h�p c�a m�t �ng d�ng �óng gói, nó có th� chia s- m�t ngu�n cho c� hai DB2 và Oracle.

Nói cách khác, vi�c cho phép m�t �ng d�ng Oracle chuy�n sang DB2 không tr� nên ph�c t�p hn vi�c kích ho�t m�t Ch�ng trình-C ���c vi�t cho HP-UX �� ch�y trên AIX.

�i�u khi n tng tranh

Trong quá kh�, m�t trong nh�ng s� khác bi�t n�i b�t nh�t gi�a Oracle và DB2 là cách ti�p c�n �� ki�m soát �i�u khi�n t�ng tranh. Các c�m t� d, nh" là: "Nh�ng ng��i � c không c�n tr� nh�ng ng��i vi�t và nh�ng ng��i vi�t không c�n tr� nh�ng ng��i � c".

B�ng 2. Hành vi t� ng tranh c�a Oracle

Không �i vào chi ti�t v� các m�c cô l�p, ch� c%n nói r'ng �a s� các �ng d�ng có s( d�ng S� cô l�p m�c câu l�nh (Statement Level Isolation) m�c �*nh c�a Oracle s. ch� làm vi�c t�t khi s( d�ng m�c �*nh c�a DB2 v� S� �n �*nh c�a con tr$ (Cursor Stability-CS).

Tuy nhiên, theo truy�n th�ng, CS �ã ���c tri�n khai sao cho nh�ng ng��i vi�t ng�n ch�n nh�ng ng��i � c và trong m�t s� tr��ng h�p, nh�ng ng��i � c có th� ng�n ch�n nh�ng ng��i vi�t. Lý do là � ch�, theo truy�n th�ng, m�t giao d*ch d�"i s� cô l�p CS s. "ch� k�t qu�" c�a các thay ��i c�a m�t giao d*ch t�ng tranh �ang ch� x( lý.

B�ng 3. Hành vi t� ng tranh c�a DB2 truy�n th�ng v�i CS

������ 556 ��� i�u khi�n t�ng tranh --> H� tr� có snPh�ng ng� SQL --> H� tr� có snPL/SQL --> H� tr� có snCác gói PL/SQL --> H� tr� có snCác gói kèm theo --> H� tr� có snKhách hàng JDBC v"i các ph%n m� r�ng --> H� tr� có snK*ch b�n l�nh SQL*Plus --> H� tr� có sn

7�����8���������9�:;��< =1��(� 7�����8����)�Ng��i � c không ng�n ch�n Ng��i � cNg��i � c không ng�n ch�n Ng��i vi�tNg��i vi�t không ng�n ch�n Ng��i � cNg��i vi�t ng�n ch�n Ng��i vi�t

7�����8���������9�:;��< =1��(� 7�����8����)�

Page 2 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 3: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Hóa ra là không có lý do ng� ngh�a nào là t�i sao m�t giao d*ch �ang ch�y d�"i s� cách ly CS l�i ch� k�t qu� khi g�p ph�i m�t hàng �ã thay ��i. M�t hành vi th$a �áng t�ng t� là � c các phiên b�n �ã cam k�t hi�n t�i c�a dòng �ã thay ��i.

Hành vi này �ã ���c th�c hi�n trong DB2 9.7. i�u �ã x�y ra là DB2 �n gi�n l�y ra phiên b�n hi�n �ã cam k�t hi�n t�i c�a m�t hàng b* khóa t� nh�t ký (log). Trong h%u h�t các tr��ng h�p chung, hàng �ó v/n còn n'm trong b� ��m log do s� thay ��i này v/n ch�a ���c cam k�t. Nh�ng ngay c� khi hàng �ã ���c vi�t ra và c#ng �ã b* ghi �è trong b� ��m log DB2 s. bi�t chính xác tìm nó � �âu, �� cho m�t IO s. ��a phiên b�n mong mu�n vào nhóm b� ��m (bufferpool).

Hãy t��ng t��ng (xem Hình 2) m�t ng��i dùng �ang c�p nh�t m�t tên trong m�t b�ng nhân viên. Tr�"c khi ng��i dùng �ó �ã cam k�t thay ��i, m�t ng��i dùng khác quét b�ng này. Theo truy�n th�ng, ng��i s( d�ng th� hai s. ph�i ��i cho ng��i s( d�ng �%u tiên cam k�t ho�c khôi ph�c (rollback). Nh� �c d li�u �ã cam k�t hi�n t�i, ho�t ��ng quét c�a ng��i dùng th� hai s. �n gi�n l�y ra phiên b�n c�a hàng t� b� ��m log mà nó không ch�a các thay ��i c�a ng��i s( d�ng �%u tiên.

Hình 2. Nh�ng ng��i vi�t không ng�n ch�n nh�ng ng��i �c

i�u quan tr ng c%n l�u ý r'ng hành vi này:

� Không ��a vào ��i t��ng m"i nào nh� là m�t �o�n khôi ph�c. � Không có chi phí hi�u n�ng nào cho ng��i vi�t do log c%n ph�i ���c vi�t không theo h� th�ng. � Không th� gây ra b�t c� tình hình nào nh� m�t "b�n ch�p quá c#" vì trong tr��ng h�p không ch!c có x�y ra t�p

log c%n thi�t �ã ���c l�u tr� (trong khi m�t giao d*ch v/n còn m�!), DB2 ch� �n gi�n s. khôi ph�c l�i và ��i khóa �� �i ti�p.

Ngoài nh�ng thay ��i này, các k+ thu�t tránh ph�i thêm khóa �ã ���c ��a vào DB2 �� lo�i b$ m�t ng��i � c �ang n!m gi� m�t khóa theo ch� �� cô l�p CS.

B�ng 3. Hành vi t� ng tranh c�a DB2 m�i v�i CS

Nh� b�n th�y, các hành vi t�ng tranh bây gi� gi�ng h�t v"i các hành vi c�a Oracle. Th�c t�, c s� d� li�u DB2 v�a m"i ���c t�o ra th� hi�n hành vi này theo m�c �*nh.

Ng��i � c không ng�n ch�n Ng��i � cNg��i � c hi�m khi ng�n ch�n Ng��i vi�tNg��i vi�t ng�n ch�n Ng��i � cNg��i vi�t ng�n ch�n Ng��i vi�t

7�����8���������9�:;��< =1��(� 7�����8����)�Ng��i � c không ng�n ch�n Ng��i � cNg��i � c không ng�n ch�n Ng��i vi�tNg��i vi�t không ng�n ch�n Ng��i � cNg��i vi�t ng�n ch�n Ng��i vi�t

Page 3 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 4: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Các ki u d� li�u m�i

Tâm �i�m c�a m�i c s� d� li�u là d� li�u c�a nó. Các ki�u không kh"p ho�c các ng� ngh�a c�a các ki�u này không kh"p có th� tác ��ng ��n kh� n�ng cho phép m�t �ng d�ng chuy�n sang �ng d�ng RDBMS khác. Do �ó �� cho phép các �ng d�ng Oracle ch�y trên DB2, �i�u quan tr ng là ph�i h� tr� các ki�u c s� không tiêu chu&n, nh� là chu�i, các ngày tháng và các s�. Ngoài vi�c �i�u ch�nh các ki�u c s� này, có các ki�u khác, ph�c t�p hn ���c s( d�ng ph� bi�n trong PL/SQL c�a Oracle, nó �ã ���c thêm vào trong DB2 9.7..

B�ng 5. Các ki�u d� li�u DB2 m�i

T�o khuôn m�u �n và �� phân gi�i ki u

"N�u nó �i nh� m�t con v*t và nó nói nh� v*t, thì sau �ó nó ph�i là m�t con v*t".

"N�u nó �i nh� m�t con v*t và nó nói nh� v*t, thì sau �ó nó ph�i là m�t con v*t". ây là câu th%n chú c�a nhi�u ngôn ng� m"i nh� PHP và Ruby. M�i ch� là m�t chu�i và sau �ó s( d�ng nh� m�t ki�u khác d�a vào ng� c�nh. Trung thành v"i tiêu chu&n SQL và �i theo tri�t lý là s� không kh"p v� ki�u có th� là l�i mã hóa, Theo truy�n th�ng DB2 �ã �i theo các quy t!c �*nh ki�u m�nh, mà các chu�i và các s� không th� ���c so sánh � �ó, tr� khi các chu�i và các s� này là khuôn m/u rõ ràng ��i v"i các chu�i và các s� khác.

Th�t không may, khi m�t �ng d�ng Oracle s( d�ng cách �*nh ki�u y�u trong SQL c�a nó, �ng d�ng �ó �ã quên biên d*ch theo DB2 t� tr�"c. Trong DB2 9.7, vi�c t�o khuôn m/u &n (hay �*nh ki�u y�u) �ã ���c thêm vào. ó là, các chu�i và các con s� có th� ���c so sánh, gán và ho�t ��ng theo m�t cách r�t linh ho�t.

Ngoài ra, các NULL không �*nh ki�u có th� ���c s( d�ng � nhi�u v* trí, trong khi các d�u tham s� không �*nh ki�u có th� ���c s( d�ng h%u nh� � b�t k) �âu, nh� vi�c s�n sàng làm theo. ó là, DB2 s. không gi�i quy�t ki�u c�a m�t d�u tham s� cho ��n khi nó �ã th�y giá tr* th�c t� �%u tiên.

� b� sung thêm vi�c t�o khuôn m/u &n, DB2 c#ng h� tr� vi�c t�o m�c �*nh các tham s� th� t�c c#ng nh� k�t h�p các ��i s� cho các tham s� theo tên.

Th vi�n hàm l�p s�n m� r�ng trong DB2

T�t c� các RDBMS cung c�p các th� vi�n c�a các hàm �� ho�t ��ng trên d� li�u. V�n �� là không có hai hàm s( d�ng cùng tên, ngay c� khi cu�i cùng ch�c n�ng là r�t gi�ng nhau.

Ngoài vi�c t�p các hàm truy�n th�ng c�a riêng mình, DB2 bây gi� h� tr� m�t th� vi�n t�ng thích v"i Oracle. Danh sách sau cung c�p m�t t�ng quan ng!n g n, ch�a ph�i �%y ��:

>����4���? @A��B

NUMBER S� h� tr� NUMBER và NUMBER (p [, s]) �ã ���c thêm vào d�a trên DECFLOAT (v"i b�n t�ng t�c ph%n c�ng Power6) và s� th�p phân (DECIMAL).

VARCHAR2 Ho�t ��ng c�a ki�u VARCHAR2 bao g�m các chu�i r�ng �ang ���c hi�u nh� là NULL và kéo theo s� ��i chi�u phân bi�t kho�ng tr�ng.

Oracle DATE M�t c s� d� li�u trong ch� �� DATE bao g�m thành ph%n TIME ngoài ngày tháng c�a l*ch. TIMESTAMP(n) Thang �o phân s� c�a giây có th� ���c ch n b�t k) gi�a 0 (ngày + th�i gian) lên ��n 12 (pico giây).

BOOLEAN Ki�u này có th� ���c s( d�ng trong logic th� t�c, các bi�n và các tham s� cho các th��ng trình.

VARRAY S� h� tr� m�ng (ARRAY) trong các th� t�c �ã ���c m� r�ng �� h� tr� các ph�ng th�c ki�u dáng VARRAY và cú pháp.

INDEX BY Ngoài các m�ng thông th��ng, DB2 c#ng h� tr� các m�ng k�t h�p.

ROW TYPE Ki�u h�n h�p này có th� ���c s( d�ng trong các bi�n và các tham s� và nh� là m�t ph%n t( cho các m�ng và các m�ng k�t h�p.

Ref Cursor type Các con tr$ có th� ���c gán cho các bi�n ho�c chuy�n qua xung quanh khi s( d�ng các tham s�.

Page 4 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 5: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

� Hàm bi�n �i và hàm khuôn m�u � TO_DATE � TO_CHAR � TO_CLOB � TO_NUMBER � TO_TIMESTAMP

M�i m�t trong các hàm này h� tr� m�t t�p phong phú c�a các chu�i �*nh d�ng t�ng thích. � Phép tính s� h�c ngày tháng

� EXTRACT � ADD_MONTHS � MONTHS_BETWEEN � NEXT_DAY � C�ng (+) thêm phân s� c�a các ngày.

� Thao tác chu�i � LPAD � RPAD � INSTR � INITCAP � Các ph%n m� r�ng cho SUBSTR

� Các �c tính khác nhau � NVL � DECODE � LEAST � GREATEST � BITAND

S� ch�ng l�n �ã t�ng �áng k� trong các hàm ���c h� tr� gi�a hai s�n ph&m hàm ý m�t s� thành công c�a h�p bên ngoài ���c c�i thi�n r�t nhi�u cho phép m�t �ng d�ng Oracle chuy�n sang DB2.

H� tr� phng ng� Oracle SQL

Bài vi�t này, cho ��n nay, �ã trình bày s� t�ng tranh, các ki�u d� li�u, �*nh ki�u và các hàm. Tuy nhiên, các khác bi�t gi�a Oracle và DB2 v/n còn ti�p. Các k�t c�u th�c s� c�a các ph�ng ng� SQL, các t� khóa và các ng� ngh�a c�a chúng khác nhau trong m�t s� l�nh v�c. M�i s�n ph&m c#ng h� tr� m�t s� tính n�ng mà các s�n ph&m �n gi�n khác không có. Khi các tính n�ng này là ph� bi�n, chúng h�n ch� kh� n�ng g(i �i SQL chung ��i v"i c� hai s�n ph&m. Trong s� nhi�u c�i ti�n ngôn ng� nh$ và l"n, B�ng 6 li�t kê m�t s� �i�m n�i b�t:

B�ng 6. H� tr SQL m�i CD��E� @A��B

� qui CONNECT BY

DB2, cho ��n nay, �ã h� tr� m�t l�nh �� qui ANSI SQL. Bây gi� CONNECT BY theo �*nh d�ng Oracle �ã ���c thêm, g�m các hàm khác nhau và các c�t gi� (pseudocolumns) nh� LEVEL và CONNECT_BY_PATH.

Cú pháp (+) joinCú pháp này th�c s� b* Oracle ng�n c�n, nh�ng có nhi�u �ng d�ng và các nhà phát tri�n nh�ng ng��i v/n còn s( d�ng d�ng này c�a cú pháp OUTER JOIN.

B�ng DUAL M�t b�ng m�t hàng, m�t c�t �ã s( d�ng kh!p ni trong các �ng d�ng Oracle nh� là m�t bù nhìn (dummy).

Các c�t gi� ROWNUM C�t gi� này th��ng ���c s( d�ng �� h�n ch� s� l��ng các hàng tr� v� và �� ��m các hàng trong m�t t�p k�t qu�.

Các c�t gi� ROWID Các Rowid ���c s( d�ng �� nhanh chóng l�y ra m�t hàng mà tr�"c �ây �ã tìm th�y d�a theo �*a ch� v�t lý c�a nó.

Phép toán SQL MINUS

Trong Oracle, MINUS (Tr�) ���c s( d�ng thay cho EXCEPT (Lo�i ra) �� m�t t�p k�t qu� tr� �i t�p khác.

Page 5 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 6: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

i�u này hoàn thành t�ng quan v� các thay ��i ���c th�c hi�n v"i DB2 �� cho các �ng d�ng Oracle g(i �i SQL d�a vào c s� d� li�u có th� ch�y h%u nh� không thay ��i. Tuy nhiên, có các ph%n chính c�a nhi�u �ng d�ng �ang th�c hi�n t�i chính máy ch�. Ngôn ng� l�a ch n phía máy ch� cho các �ng d�ng Oracle là PL/SQL. Không có s� kh0ng �*nh nào v� tính t�ng thích có th� ���c th�c hi�n nghiêm túc mà không có s� h� tr� cho PL/SQL.

DB2 h� tr� cho PL/SQL

Thông th��ng, khi m�t �ng d�ng �ang ���c chuy�n t� m�t s�n ph&m này sang m�t s�n ph&m khác, ngôn ng� SQL và ngôn ng� th� t�c ���c d*ch t� m�t ph�ng ng� SQL sang ph�ng ng� khác. i�u này ��t ra m�t s� v�n ��:

� Mã d*ch k�t qu� có xu h�"ng r!c r�i do t� ��ng hóa và s� không ph�i h�p ��ng b� gi�a ph�ng ng� ngu�n và ph�ng ng� �ích.

� Các nhà phát tri�n �ng d�ng không quen thu�c v"i ph�ng ng� SQL �ích. i�u �ó làm cho nó khó g1 r�i mã �ã g(i �i. Theo th�i gian, vi�c b�o trì ti�p theo tr� thành m�t s� thách th�c do s� thi�u các k+ n�ng.

� Trong tr��ng h�p c�a các �ng d�ng �óng gói, vi�c d*ch c%n ph�i ���c l�p l�i cho m�i b�n phát hành m"i c�a �ng d�ng.

� Cu�i cùng, k�t qu� là m�t b�n mô ph$ng, theo �*nh ngh�a thì nó ch�y ch�m hn so v"i b�n ban �%u.

� tránh nh�ng v�n �� này, DB2 9.7 có h� tr� PL/SQL riêng. i�u này có ngh�a là gì?

Nh� b�n th�y trong Hình 3, máy DB2 bây gi� g�m m�t trình d*ch PL/SQL bên c�nh trình biên d*ch SQL PL. C� hai trình biên d*ch t�o mã máy �o cho Máy ch�y th�c th�ng nh�t SQL (Unified Runtime Engine) c�a DB2. i�u quan tr ng c%n l�u ý là các công c� theo dõi và phát tri�n nh� Optim Development Studio ���c g!n vào trong DB2 � m�c máy ch�y th�i gian th�c.

Hình 3. H� tr trình biên d�ch PL/SQL

SELECT INTO FOR UPDATE

C�u trúc FOR UPDATE trên SELECT INTO cho phép trích ra m�t hàng kh$i DB2 v"i m�c �ích �� s(a ��i nó sau này mà không c%n s( d�ng m�t con tr$.

PUBLIC SYNONYM M�t t� ��ng ngh�a chung là m�t bí danh mà không có m�t tên l��c ��. DB2 h� tr� các t� ��ng ngh�a chung cho các ��i t��ng b�ng, các trình t� và các gói PL/SQL.

CREATE TEMPORARY TABLE

DB2 h� tr� các b�ng t�m th�i toàn c%u ���c t�o ra ngoài các b�ng toàn c%u t�m th�i ���c khai báo.

Câu l�nh b�ng TRUNCATE

Câu l�nh này nhanh chóng xóa các n�i dung c�a m�t b�ng toàn b� mà không th�c hi�n các b� kích ho�t.

� phân gi�i tên t� nhiên

DB2 9.7 không yêu c%u các khung nhìn n�i tuy�n. Ngoài ra, các tên c�t có th� d, dàng th�a k� t� các toán t( set (t�p h�p) nh� UNION.

Page 6 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 7: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

S� tích h�p c�a PL/SQL vào trong DB2 nh� là m�t ngôn ng� th� t�c l"p �%u tiên có nhi�u hàm ý:

� Không ph�i d*ch. Mã ngu�n v/n gi� nguyên nh� nó �ang có trong danh m�c l��c ��. � Các nhà phát tri�n có th� ti�p t�c làm vi�c theo ngôn ng� mà h �ã quen thu�c. Không có nhu c%u nào �� di

chuy�n logic sang ph�ng ng� c�a DB2 th�m chí n�u logic m"i ���c vi�t b'ng SQL PL. Các th��ng trình s( d�ng các ph�ng ng� khác nhau có th� g i cho nhau.

� Các nhà cung c�p �ng d�ng �óng gói có th� s( d�ng m�t mã ngu�n d�a vào c� Oracle l/n DB2. � C� PL/SQL và SQL PL ��u ��a ra mã máy �o nh� nhau cho SQL Unified Runtime Engine c�a DB2. Do �ó,

theo thi�t k�, c� PL/SQL l/n SQL PL th�c hi�n � cùng m�t t�c ��. � Do h� t%ng c�a trình g1 r�i g!n tr�c ti�p vào SQL Unified Runtime Engine, nên PL/SQL ���c h� tr� t� nhiên

b�i Optim Development Studio.

Hình 4 minh ho� m�t phiên g1 r�i PL/SQL. Trình g1 r�i này h� tr� các tính n�ng tiêu chu&n nh� b�"c vào, b�"c ra và các �i�m ng!t (breakpoint). Ngoài ra, nó cho phép ng��i dùng thay ��i các bi�n PL/SQL t�i ch� trong khi ch�ng trình �ang ch�y.

Hình 4. H� tr trình g� r�i PL/SQL trong DB2

Page 7 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 8: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Các chi ti�t cú pháp PL/SQL

Vì v�y, s� h� tr� PL/SQL mu�n nói chính xác �i�u gì? Tr�"c tiên, có s� h� tr� cú pháp c�t lõi. DB2 h� tr� t�t c� các c�u trúc chung c�a PL/SQL, ch0ng h�n nh�:

� n�u thì, ng��c l�i (if then else). � các vòng l�p while. � := phép gán. � các bi�n và h'ng c�c b�. � #PRAGMA EXCEPTION và x( lý các tr��ng h�p ngo�i l�. � Các d�ng khác nhau cho các vòng l�p (ph�m vi, con tr$ và truy v�n). � %TYPE and %ROWTYPE gi� ch�t các bi�n và các tham s� cho các ��i t��ng khác. � Các giao d*ch #PRAGMA AUTONOMOUS, cho phép các th� t�c nào th�c thi trong m�t giao d*ch riêng.

H� tr� ��i t��ng PL/SQL

Có th� s( d�ng PL/SQL trong các ��i t��ng khác nhau cho phép logic th� t�c:

� Các hàm vô h�"ng. � Tr�"c các b� kích ho�t c�a m�i hàng. � Sau các b� kích ho�t c�a m�i hàng. � Các th� t�c.

Page 8 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 9: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

� Các kh�i &n danh. � Các gói PL/SQL.

H� tr� các gói PL/SQL

H%u h�t PL/SQL trong các �ng d�ng Oracle ���c ch�a trong cái g i là Các gói (PACKAGE). M�t gói PL/SQL —không l/n v"i m�t gói DB2— là m�t b� s�u t�p c�a các ��i t��ng riêng v"i kh� n�ng phân bi�t gi�a các ��i t��ng có th� truy c�p bên ngoài và nh�ng ��i t��ng ch� là các trình tr� giúp �� s( d�ng bên trong gói. ANSI SQL t�ng ��ng v"i m�t gói ���c g i là MODULE. Bây gi� DB2 cung c�p h� tr� cho các mô �un SQL ANSI c#ng nh� các gói PL/SQL. �c bi�t, cung c�p các kh� n�ng sau �ây:

� GÓI T2O [HO3C THAY TH4] (CREATE [OR REPLACE] PACKAGE), xác �*nh các m/u ban �%u cho các th��ng trình nhìn th�y bên ngoài. Nó c#ng xác �*nh t�t c� các ��i t��ng không theo th� t�c, nhìn th�y bên ngoài, nh� các bi�n và các ki�u.

� THÂN GÓI T2O [HO3C THAY TH4] (CREATE [OR REPLACE] PACKAGE BODY), tri�n khai th�c hi�n t�t c� các th��ng trình riêng và chung c#ng nh� t�t c� các ��i t��ng riêng khác.

� Trong m�t gói ho�c thân gói, các ��i t��ng sau �ây có th� ���c �*nh ngh�a: � Các bi�n và các h'ng s�. � Các ki�u d� li�u. � Các ngo�i l�. � Các hàm vô h�"ng. � Các th� t�c. � Các con tr$.

� Kh�i t�o gói. � Các t� ��ng ngh�a chung trên các gói.

DB2 cung c�p các gói l�p s�n ph� bi�n

M�t s� các �ng d�ng Oracle s( d�ng các gói do RDBMS cung c�p. �c bi�t, các th� vi�n cung c�p vi�c t�o báo cáo, e-mail ho�c truy�n thông chéo có th� r�t ph� bi�n. � t�o �i�u ki�n h� tr� các �ng d�ng này cho DB2, DB2 cung c�p các gói ���c li�t kê trong B�ng 7:

B�ng 7. DB2 cung c�p các gói kèm theo

Các ph�n m� r�ng JDBC cho riêng Oracle

JDBC là m�t giao di�n khách hàng Java chu&n. Tuy nhiên, có các ph%n m� r�ng �ã ���c thêm vào trình �i�u khi�n JDBC c�a Oracle �� h� tr� các ki�u d� li�u không theo tiêu chu&n riêng.

� t�i �a hóa m�c �� t�ng thích v"i các �ng d�ng d�a trên công ngh� Java, trình �i�u khi�n DB2 9.7 JDBC cung c�p cùng v"i vài th� khác, s� h� tr� cho các th� t�c g i v"i con tr$ tham chi�u và các tham s� VARRAY.

7F� @A��B�DBMS_OUTPUTCung c�p các kh� n�ng l�p báo cáo c b�n có th� b�t ho�c t!t t� dòng l�nh. UTL_FILE M�t mô-�un cho phép làm vi�c v"i các t�p trên máy ch� DB2.

DBMS_SQLM�t gói cung c�p m�t SQL API �� th�c hi�n SQL ��ng ngoài các câu l�nh hi�n có EXECUTE và EXECUTE IMMEDIATE.

UTL_MAIL M�t mô-�un cho phép g(i các thông báo e-mail t� SQL.UTL_SMTP M�t m�c API th�p hn t�ng t� nh� UTL_MAIL t�o ra s� tích h�p SMTP.DBMS_ALERT M�t gói, khi ���c s( d�ng, cho phép các phiên làm vi�c khác nhau truy�n tin b'ng c� hi�u v"i nhau.DBMS_PIPE M�t mô-�un cho phép các phiên làm vi�c g(i t�ng d� li�u khác nhau.DBMS_JOB Cung c�p m�t API t�ng thích tích h�p v"i b� x�p l*ch các nhi�m v� c�a DB2. DBMS_LOB M�t API c�a Oracle �� x( lý LOB báo hi�u các hàm LOB l�p sn c�a DB2.DBMS_UTILITYM�t b� s�u t�p các th� t�c khác nhau ���c s( d�ng trong các �ng d�ng.

Page 9 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 10: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

S� h� tr� c�a k�ch b�n l�nh SQL*Plus khi s� d�ng CLPPlus

ôi khi các k*ch b�n l�nh DDL và ngay c� các báo cáo ���c vi�t b'ng cách s( d�ng b� x( lý dòng l�nh SQL*Plus. � thu�n ti�n cho vi�c chuy�n các k*ch b�n l�nh này c#ng nh� các k+ n�ng c�a ng��i phát tri�n �ang vi�t chúng, DB2 cung c�p m�t b� x( lý dòng l�nh t�ng thích-SQL*Plus, ���c g i là CLPPlus. Công c� này có các ch�c n�ng sau:

� Các tu) ch n l�nh t�ng thích-SQL*Plus. � Thay th� bi�n. � T�o �*nh d�ng c�t. � Các hàm l�p báo cáo. � Các bi�n �i�u khi�n.

Hình 5. Công c� CLPLus t� ng thích-SQL*Plus

Cho phép DB2 kéo và th� càng d� dàng càng t t

Do s� liên k�t ch�t ch. c�a DB2 v"i PL/SQL và Oracle SQL, bây gi� không c%n thi�t có m�t b� công c� chuy�n d*ch ph�c t�p. Thay vào �ó, b�n có th� s( d�ng Công c� d*ch chuy�n d� li�u c�a IBM (IBM Data Movement Tool) �� �n gi�n kéo và th� các b�ng, các gói ho�c toàn b� các l��c �� t� Oracle sang DB2. Ch� c%n các �i�u ch�nh t�i thi�u trên c s� ngo�i l� ho�c di chuy�n m�t �ng d�ng sang DB2, ho�c s(a ��i m�t �ng d�ng sao cho cùng m�t ngu�n có th� ho�t ��ng d�a vào c� DB2 và c� Oracle.

Các b�"c có th� �n gi�n nh�:

1. Thi�t l�p các bi�n ��ng ký c%n thi�t: � db2set DB2_COMPATIBILITY_VECTOR=ORA � db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES

2. Kh�i ��ng l�i trình qu�n lý c s� d� li�u: � db2stop � db2start

3. T�o ra m�t c s� d� li�u t�ng thích-Oracle: � db2 create database mydb pagesize 32 K � db2 update db cfg for mydb using auto_reval deferred_force

4. Kh�i ��ng IBM Data Movement Tool và k�t n�i vào c s� d� li�u Oracle và DB2 (xem Hình 6). M�t khi k�t n�i ���c thi�t l�p, b�n có th� ch n l�y ra ch� DDL ho�c c� hai DDL và d� li�u. Cu�i cùng, b�n có hai l�a ch n:

Page 10 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 11: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

ho�c b�n tri�n khai tr�c ti�p b'ng cách th�c hi�n các k*ch b�n l�nh �ã t�o ra ho�c b�n ti�p t�c v"i ô tri�n khai t �ng tác. (Cái sau ���c khuy�n cáo cho h%u h�t các �ng d�ng không quan tr ng). Hình 6. Kéo và th� các l�c � Oracle vào DB2 khi s� d�ng IBM Data Movement Tool

5. Di chuy�n các l��c �� d� ki�n t� Oracle sang DB2 khi s( d�ng tri�n khai t �ng tác (xem Hình 7). Trong ch� �� tri�n khai t �ng tác, b�n th�y m�t cây-d/n h�"ng (nav-tree) hi�n th* t�t c� các ��i t��ng ���c trích ra t� c s� d� li�u Oracle. Ch n t�t c� các ��i t��ng và th�c hi�n tùy ch n trình �n tri�n khai. K�t qu� là, công c� s. sao chép các ��i t��ng qua DB2 và ghi l�i s� phát tri�n c�a nó. M�t s� ��i t��ng có th� không tri�n khai thành công và công c� này cho phép b�n tùy ch n �� làm vi�c v"i nh�ng ��i t��ng �ó. Khi l�a ch n m�t ��i t��ng, b�n s. th�y DDL cùng v"i l�i DB2 g�p ph�i. Lúc này b�n có th� s(a �*nh ngh�a khi c%n và tri�n khai l�i b'ng cách s( d�ng trình so�n th�o l�p sn. M�c �ích là �� chuy�n d*ch t�ng tác t�t c� các ��i t��ng sang DB2 trên m�t c s� ngo�i l�. Hình 7. Kéo và th� các l�c � Oracle vào DB2 khi s� d�ng IBM Data Movement Tool

Page 11 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 12: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

�ánh giá s� h� tr� cho DB2

� cho phép �ng d�ng c�a b�n chuy�n sang DB2 9.7 d, dàng v�y sao? Câu tr� l�i ��ng nhiên là, còn tùy. IBM có m�t công c� bên trong có tên là MEET DB2, có th� phân tích t�t c� các ��i t��ng trong c s� d� li�u Oracle c�a b�n và cho �i�m nó. Nó t�o m�t báo cáo v� cái s. th�c hi�n và ni c%n �i�u ch�nh. �i di�n tài kho�n IBM c�a b�n ho�c �%u m�i bán hàng có th� ch�y ti�n ích này �� giúp cung c�p nhanh chóng m�t �ánh giá v� kh� n�ng t�ng thích c�a c s� d� li�u Oracle hi�n t�i c�a b�n v"i DB2.

Hình 8. Công c� báo cáo MEET DB2 cho vi�c ánh giá

Page 12 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 13: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Trong giai �o�n th( nghi�m beta m�t n�m c�a b�n DB2 9.7, nhi�u �ng d�ng v"i hn 750.000 dòng mã PL/SQL �ã ���c phân tích chi ti�t v"i t5 l� chuy�n ��i s( d�ng ���c ngay trung bình là 90 ��n 99%.

Hình 9. T� l� trung bình 98% cho các câu l�nh �c h� tr

Các h�n ch�

PL/SQL, th� vi�n gói kèm theo và CLPPlus hi�n nay không có sn cho DB2Express, DB2 Express-C và DB2 Personal Editions (các �n b�n dành cho DB2 cá nhân).

Page 13 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 14: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

Tóm t!t Nh� tr� giúp c�a SQL nhi�u ph�ng ng� v�n có, DB2 9.7 cho phép h� tr� d, dàng các �ng d�ng Oracle chuy�n sang DB2. Các nhà cung c�p các �ng d�ng �óng gói có th� ��a ra các �ng d�ng c�a h trên c� Oracle l/n DB2 v"i chi phí phát sinh t�i thi�u. Các khách hàng có th� t� do l�a ch n nhà cung c�p công ngh� h c%n, mà không b* h�n ch� b�i các s� l�a ch n trong quá kh�. � th( nghi�m các tính n�ng này, b�n có th� t�i v� m�t phiên b�n dùng th( c�a DB2 9.7 (xem Tài nguyên).

Câu h"i th#ng g$p

Phiên b�n nào c�a Oracle có h� tr DB2 9.7?

M�c �� bao ph� ���c t�o ra cho các ph�ng ng� SQL và PL/SQL hoàn toàn d�a vào nh�ng gì �ang ���c các �ng d�ng s( d�ng. Có nh�ng tính n�ng �ã ���c gi"i thi�u trong các b�n phát hành g%n �ây nh� là Oracle 11g ���c h� tr�, trong khi m�t s� c�u trúc có sn trong Oracle 8i không ���c h� tr�. Trong m�t nghiên c�u v� 18 �ng d�ng t�ng c�ng có trên 750,000 dòng, 90 ��n 99% mã ���c chuy�n sang DB2 mà không thay ��i. Nhi�u vi�c �i�u ch�nh còn l�i có th� ���c th�c hi�n t� ��ng ho�c n�u không thì b'ng tay.

�ng d�ng Oracle c�a tôi s� ch�y trên DB2 nhanh nh� th� nào?

ó là câu h$i �áng giá tri�u �ô la! Th�t không may, các �i�u kho�n c�p phép c�a Oracle c�m b�t c� ai công b� k�t qu� th( nghi�m khi ch�a ���c s� ��ng ý tr�"c b'ng v�n b�n. Kh$i c%n ph�i nói, chúng tôi �ã không b�n tâm ph�i h$i. Tuy nhiên, b'ng cách thi�t k� riêng c�a mình và ���c xác nh�n b'ng vi�c ki�m tra so sánh b�o ��m ch�t l��ng , m�t �ng d�ng ���c vi�t d�a vào PL/SQL trên DB2 c#ng nhanh nh� m�t �ng d�ng ���c vi�t d�a vào SQL PL trên DB2. Các nhà cung c�p, nh�ng ng��i �ã qua qui trình h� tr� này �ã ng�c nhiên vui v-.

Nó ã cung c�p các tính n�ng này cho bao nhiêu công vi�c?

Không gi�ng nhi�u nh� ng��i ta có th� ngh�. M�t s� công vi�c kh�i �%u, nh� CONNECT BY và NUMBER, �ã làm vi�c v"i DB2 9.5 theo ki�u chi�n thu�t. M�t cách nghiêm túc, n� l�c này �ã ���c hoàn thành trong vòng ít hn 18 tháng.

Nh�ng khó kh�n chung trong vi�c cho phép chuy�n t Oracle sang DB2 là gì?

Tính t�ng thích c�a DB2 không rõ ràng 100%. Nh� v�y có kh� n�ng s. có m�t s� tr�c tr�c khi l%n �%u tiên b�n chuy�n sang DB2. T�t nhiên, nhi�u khó kh�n không quan tr ng và d, dàng s(a ch�a. Ví d�, DB2 h� tr� các b� kích ho�t PL/SQL, nh�ng không cho phép k�t h�p các hành ��ng c�a b� kích ho�t. ó là, m�t b� kích ho�t ���c chia s- cho các ho�t ��ng UPDATE, DELETE và INSERT. Bây gi�, hãy ��a ra m�t b� kích ho�t nhi�u ho�t ��ng PL/SQL, th�t khá d, dàng �� sao chép nó thành ba b� kích ho�t DB2 PL/SQL khi s( d�ng m�t bi�n boolean �� INSERTED, UPDATED và DELETED.

Tài nguyên

H�c t!p � Kh�i ch�y DB2 9.7: Nh�n m�t t�ng quan v� các giá tr* c�a DB2.

� Trò chuy�n v"i phòng thí nghi�m: Hãy nghe và xem các video v� các ch� �� nh� là vi�c �i sâu vào k+ thu�t

DB2 9.7 và m�t phiên b�n webcast c�a bài vi�t này.

� "Chuy�n sang DB2 d, dàng" (youTube): Th�c hi�n theo m�t trình di,n video v� t�ng quan c�a h� tr� �ng d�ng DB2.

� "DB2 9.7 CLPPlus" (youTube): M�t video nào trình di,n cách s( d�ng c�a trình ti�n ích shell CLPPlus t�ng thích-SQL *Plus.

Page 14 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows

Page 15: DB2 9.7 Chay Cac Ung Dung Oracle Trên DB2 9.7 Cho Linux Va UNIX Hay Windows

� "DB2 9.7: H� tr� PL/SQL riêng" (youTube): Xem m�t �o�n video ng!n gi"i thi�u nhi�u tính n�ng PL/SQL ���c DB2 9.7 h� tr�.

� "Break Free with IBM DB2 9.7" (youTube): Xem m�t video v� nhi�u khách hàng và các gi�y ch�ng nh�n c�a ��i tác.

� Vùng Qu�n lý thông tin c�a developerWorks: Tìm hi�u thêm v� Qu�n lý thông tin. Tìm tài li�u h�"ng d/n k+ thu�t, các bài báo h�"ng d/n, giáo d�c, t�i, thông tin s�n ph&m và nhi�u hn n�a.

� Theo sát các s� ki�n k+ thu�t và webcast c�a developerWorks.

L�y s�n ph"m và công ngh�

� DB2 9.7 for Linux, Unix, and Windows: T�i v� m�t phiên b�n dùng th( mi,n phí c�a DB2 9.7 cho Linux, Unix và Windows.

� DB2 Express-C 9.7: T�i b�n DB2 Express-C 9.7, m�t phiên b�n mi,n phí c�a máy ch� c s� d� li�u Express DB2 cho c�ng ��ng.

� Xây d�ng các d� án phát tri�n ti�p theo c�a b�n v"i ph%n m�m dùng th( IBM, có sn �� t�i v� tr�c ti�p t� developerWorks.

Th�o lu!n

� Tham gia vào developerWorks blogs và dành tâm trí cho c�ng ��ng developerWorks c�a tôi; v"i h� s cá nhân c�a b�n và trang ch� tu) ch�nh, b�n có th� tùy ch�nh developerWorks theo ý thích và t�ng tác v"i nh�ng ng��i dùng developerWorks khác.

�ôi nét v� tác gi�

�nh c�a Serge Rielau Serge Rielau �ã làm vi�c v"i DB2 v� trình biên d*ch SQL Linux, Unix và Window trong 12 n�m. Hi�n nay, ông là ki�n trúc s� cho DB2 v� SQL trên Linux, UNIX và Windows. Ông là ki�n trúc s� ch*u trách nhi�m v� tính t�ng thích c�a SQL v"i DB2 9.7. Có th� liên l�c v"i Serge t�i comp.databases.ibm-DB2.

Page 15 of 15DB2 9.7: Ch�y các �ng d�ng Oracle trên DB2 9.7 cho Linux, UNIX và Windows