Tải bản đầy đủ (.pdf) (45 trang)

Công cụ di chuyển dữ liệu sang IBM pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (575.91 KB, 45 trang )

Công cụ di chuyển dữ liệu sang IBM
Di chuyển dữ liệu từ các cơ sở dữ liệu nguồn tới DB2 theo cách dễ dàng
Vikram S. Khatri, Chuyên gia tư vấn Công nghệ thông tin có chứng chỉ, IBM
Tóm tắt: Bài viết này trình bày một công cụ rất đơn giản và mạnh mẽ để di
chuyển (migration) dữ liệu từ nhiều nguồn khác nhau một cách dễ dàng. Công cụ
này cho phép các ứng dụng từ Oracle và Sybase chạy trên DB2® phiên bản 9.7
của IBM®, cho Linux®, UNIX® và Windows® như nó vốn có, với thay đổi rất ít
hoặc không cần thay đổi gì. Công cụ này cũng có thể được sử dụng để di chuyển
dữ liệu từ nhiều hệ thống quản lý cơ sở dữ liệu khác nhau sang DB2 cho Linux,
UNIX và Windows và DB2 cho z/OS®. Công cụ này cũng hỗ trợ di chuyển dữ
liệu từ một cơ sở dữ liệu nguồn tới DB2 trong một môi trường pureScale.
Mở đầu
Công cụ di chuyển này có thể được sử dụng để di chuyển dữ liệu từ các nguồn dữ
liệu khác nhau tới DB2 trong một môi trường pureScale.
Khi bắt đầu với DB2 V9.7 cho Linux, UNIX và Windows, để sử dụng các ứng
dụng từ Oracle và Sybase (sau bản Fixpack 3) trên các sản phẩm DB2 không đòi
hỏi Bộ công cụ di chuyển (Migration Toolkit - MTK). Công cụ này thay thế chức
năng MTK với một dòng công việc đơn giản hơn nhiều.
Đối với tất cả các kịch bản khác, ví dụ, di chuyển dữ liệu từ một cơ sở dữ liệu tới
DB2 cho z/OS, công cụ này hỗ trợ MTK rất nhiều trong lĩnh vực di chuyển dữ liệu
tốc độ cao. Khi sử dụng công cụ này, nhiều hơn 4TB dữ liệu đã được di chuyển
chỉ trong ba ngày.
Công cụ này có giao diện GUI dễ sử dụng với người mới bắt đầu, trong khi người
dùng cao cấp thường ưa thích dùng API dòng lệnh.
Chuẩn bị
Tải về
Trước tiên, tải về công cụ này từ phần Tải về vào máy chủ DB2 đích của bạn. Để
di chuyển dữ liệu tới DB2 cho z/OS cần các bước bổ sung thêm. (Kiểm tra phiên
bản hiện có mới nhất của công cụ này.)
Cài đặt
Một khi bạn đã tải về tệp IBMDataMovementTool.zip, hãy trích xuất các tệp này


vào một thư mục tên là IBMDataMovementTool trên máy chủ DB2 đích của bạn.
Chúng tôi khuyên bạn nên cài đặt phía máy chủ (trên DB2) để đạt được hiệu năng
di chuyển dữ liệu tốt nhất.
Các điều kiện tiên quyết
 DB2 V9.7 nên được cài đặt trên máy chủ đích của bạn nếu bạn đang bật lên
một ứng dụng Oracle để chạy trên DB2 cho Linux, UNIX và Windows.
 Java™ phiên bản 1.5 hoặc cao hơn phải được cài đặt trên máy chủ đích của
bạn. Để kiểm tra phiên bản Java hiện tại của bạn, hãy chạy lệnh java -
version. Theo mặc định, Java được cài đặt như một phần của DB2 cho
Linux, UNIX và Windows trong <install_dir>\SQLLIB\java\jdk
(Windows) or /opt/ibm/db2/V9.7/java/jdk (Linux).

Bảng 1. Nơi đặt các trình điều khiển JDBC cho cơ sở dữ liệu nguồn và DB2
của bạn
Cơ sở dữ liệu Các trình điều khiển JDBC
Oracle
ojdbc5.jar hoặc ojdbc6.jar hoặc ojdbc14.jar, xdb.jar,
xmlparserv2.jar hoặc classes12.jar hoặc classes111.jar for
Oracle 7 hoặc 8i
SQL Server
sqljdbc5.jar hoặc sqljdbc.jar
Sybase
jconn3.jar và antsjconn2.jar cho tính năng DB2 SKIN

MySQL
mysql-connector-java-5.0.8-bin.jar hoặc trình đi
ều khiển mới
nhất
PostgreSQL
postgresql-8.1-405.jdbc3.jar hoặc trình điều khiển mới nhất

DB2 cho Linux,
UNIX và Windows
db2jcc.jar, db2jcc_license_cu.jar hoặc db2jcc4.jar,
db2jcc4_license_cu.jar
DB2 for z
db2jcc.jar, db2jcc_license_cisuz.jar hoặc db2jcc4.jar,
db2jcc4_license_cisuz.jar
DB2 for i
jt400.jar

Teradatra
terajdbc4.jar và tdgssconfig.jar
MS Access
Tùy chọn Access_JDBC30.jar
Thiết lập môi trường
 UNIX: Đăng nhập vào máy chủ của bạn như là chủ sở hữu cá thể (instance)
DB2.
 Windows: Khởi chạy một cửa sổ lệnh DB2.
 Chuyển đến thư mục IBMDataMovementTool. Công cụ này là một tệp
JAR có hai kịch bản lệnh của trình điều khiển để chạy công cụ này.
IBMDataMovementTool.cmd - Command script to run the tool on Windows.
IBMDataMovementTool.sh - Command script to run the tool on UNIX.
IBMDataMovementTool.jar - JAR file of the tool.
Pipe.dll - A DLL required on Windows if pipe option is used.


Tạo cơ sở dữ liệu đích DB2
Do cần một kết nối cơ sở dữ liệu tới đích để chạy công cụ này, nên cơ sở dữ liệu
DB2 phải được tạo ra đầu tiên. Trên DB2 V9.7, chúng tôi khuyên bạn nên sử dụng
lưu trữ tự động mặc định và chọn kích thước trang 32KB. Khi cho phép các ứng

dụng được chạy trên DB2 V9.7, cá thể và cơ sở dữ liệu phải đang hoạt động trong
chế độ tương thích. Cũng nên điều chỉnh hành vi làm tròn để khớp với cơ sở dữ
liệu đó của Oracle. Bạn có thể triển khai các đối tượng ngoài thứ tự phụ thuộc
bằng cách thiết lập ngữ nghĩa xác nhận lại hợp lệ là deferred_force.
Trên các hệ thống UNIX
$ db2set DB2_COMPATIBILITY_VECTOR=ORA
$ db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES
$ db2stop force
$ db2start
$ db2 "create db testdb automatic storage yes on /db2data1,
/db2data2,/db2data3 DBPATH ON /db2system PAGESIZE 32 K"
$ db2 update db cfg for testdb using auto_reval deferred_force
$ db2 update db cfg for testdb using decflt_rounding round_half_up

Trên các hệ thống Windows
C:\> db2set DB2_COMPATIBILITY_VECTOR=ORA
C:\> db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES
C:\> db2stop force
C:\> db2start
C:\> db2 "create db testdb automatic storage yes on C:,D: DBPATH ON E:
PAGESIZE 32 K"
C:\> db2 update db cfg for testdb using auto_reval deferred_force
C:\> db2 update db cfg for testdb using decflt_rounding round_half_up

Trích xuất các đối tượng và dữ liệu
Trước khi bạn chạy công cụ này, có sẵn thông tin sau đây cho máy chủ nguồn và
máy chủ DB2 của bạn:
 Địa chỉ IP hoặc Tên máy chủ (Host Name) của các máy chủ nguồn và các
máy chủ DB2.
 Các số cổng kết nối.

 Tên của các cơ sở dữ liệu, SID, tên hệ thống con v.v khi cần.
 Một mã định danh người dùng (User ID) với các đặc quyền của quản trị
viên cơ sở dữ liệu (DBA) trên cơ sở dữ liệu nguồn.
 Mật khẩu cho người dùng đó.
 Nơi đặt cơ sở dữ liệu nguồn và trình điều khiển DB2 JDBC của bạn.
 Có đủ thông tin về dung lượng hoặc khối lượng/điểm lắp đặt tại nơi dữ liệu
sẽ được lưu trữ.
Chạy IBMDataMovementTool.cmd trên Windows hoặc
./IBMDataMovementTool.sh trên UNIX. Công cụ này sẽ bắt đầu một GUI nếu
máy chủ có khả năng hiển thị đồ họa. Nếu không nó sẽ chuyển sang chế độ dòng
lệnh tương tác để thu thập đầu vào.
Trên Windows:
IBMDataMovementTool.cmd

Trên UNIX:
chmod +x IBMDataMovementTool.sh
./IBMDataMovementTool.sh

DB2_COMPATIBILITY_VECTOR là gì?
Dùng DB2_COMPATIBILITY_VECTOR để đặt cả hai cá thể và cơ sở dữ liệu
DB2 V9.7 vào trong một chế độ tương thích với Oracle. Để biết chi tiết hãy xem
Trung tâm Thông tin DB2 V9.7.
Bây giờ bạn sẽ thấy một cửa sổ GUI (Giao diện đồ họa người dùng). Một số thông
báo cũng sẽ xuất hiện trong cửa sổ trình vỏ (shell). Hãy xem qua các thông báo
này để đảm bảo không có lỗi nào được ghi nhật ký trước khi bạn bắt đầu sử dụng
GUI.
Nếu bạn chưa thiết lập DB2_COMPATIBILITY_VECTOR, công cụ này sẽ đưa ra
một cảnh báo. Hãy làm theo các bước sau để thiết lập vector tương thích nếu bạn
vẫn chưa làm như vậy.


[2010-01-10 17.08.58.578] INPUT Directory = .
[2010-01-10 17.08.58.578] Configuration file loaded: 'jdbcdriver.properties'
[2010-01-10 17.08.58.593] Configuration file loaded: 'IBMExtract.properties'
[2010-01-10 17.08.58.593] appJar :
'C:\IBMDataMovementTool\IBMDataMovementTool.jar'
[2010-01-10 17.08.59.531] DB2 PATH is C:\Program Files\IBM\SQLLIB
[2010-01-10 17.35.30.015] *** WARNING ***. The
DB2_COMPATIBILITY_VECTOR is not set.
[2010-01-10 17.35.30.015] To set compatibility mode, discontinue this program
and
run the following commands
[2010-01-10 17.35.30.015] db2set DB2_COMPATIBILITY_VECTOR=FFF
[2010-01-10 17.35.30.015] db2stop force
[2010-01-10 17.35.30.015] db2start

Sử dụng giao diện người dùng đồ họa
Màn hình giao diện người dùng đồ họa (GUI) như trong Hình 1 có các trường để
xác định thông tin kết nối cơ sở dữ liệu nguồn và cơ sở dữ liệu DB2. Chuỗi các sự
kiện trong màn hình này là:
1. Chỉ rõ thông tin kết nối nguồn và DB2.
2. Nhấn vào Connect to Oracle (Kết nối với Oracle) để kiểm tra kết nối.
3. Nhấn vào Connect to DB2 (Kết nối với DB2) để kiểm tra kết nối.
4. Chỉ rõ thư mục làm việc để trích xuất DDL và dữ liệu vào đó.
5. Chọn cái bạn muốn giữa DDL và/hoặc Dữ liệu. Nếu bạn chỉ chọn DDL,
một kịch bản lệnh genddl bổ sung sẽ được tạo ra.
6. Nhấn vào nút Extract DDL/Data (Trích xuất DDL/Dữ liệu). Bạn có thể
theo dõi tiến trình trong cửa sổ bàn điều khiển.
7. Sau khi hoàn thành trích xuất dữ liệu thành công, hãy xem xét kỹ các tệp
đầu ra kết quả với các trạng thái về dịch chuyển dữ liệu, các cảnh báo, các
lỗi và các vấn đề tiềm năng khác.

8. Theo tùy chọn, bạn có thể nhấn vào nút View Script/Output (Xem Kịch
bản lệnh/Đầu ra) để kiểm tra các kịch bản lệnh, DDL, dữ liệu hoặc tệp bản
ghi nhật ký kết quả đầu ra được tạo ra.
9. Nhấn vào nút Deploy DDL/Data (Triển khai DDL/Dữ liệu) để tạo ra các
bảng, các chỉ mục trong DB2 và nạp dữ liệu đã được trích xuất từ cơ sở dữ
liệu nguồn.
10. Bạn có thể sử dụng Execute DB2 Script (Thực hiện Kịch bản lệnh DB2 )
để chạy các kịch bản lệnh DB2 được tạo ra thay vì chạy nó từ dòng lệnh.
Việc di chuyển dữ liệu là một hành động tương tác. Nếu bạn cần hủy bỏ tất
cả các bảng trước khi bạn bắt đầu làm mới, bạn có thể chọn kịch bản lệnh
bảng hủy bỏ và thực hiện nó. Bạn cũng có thể sử dụng nút này để thực hiện
các kịch bản lệnh theo thứ tự mà bạn muốn thực hiện chúng.

Hình 1. Các tham số đầu vào cho cơ sở dữ liệu nguồn và DB2

Sau khi nhấn vào nút Extract DDL/Data, bạn sẽ nhận thấy các thông báo của
công cụ trong thẻ View File (Xem tệp), như trong Hình 2:

Hình 2. Trích xuất DDL và Dữ liệu

Sau khi hoàn thành việc trích xuất DDL và Dữ liệu, bạn sẽ nhận thấy một số tệp
mới được tạo ra trong thư mục làm việc. Có thể sử dụng những tệp này tại dòng
lệnh để chạy trong DB2.
Các tệp cấu hình
Các kịch bản lệnh sau đây được tạo mỗi khi bạn chạy công cụ này trong chế độ
GUI. Tuy nhiên, bạn có thể sử dụng các kịch bản lệnh này để thực hiện tất cả các
bước di chuyển dữ liệu mà không có GUI. Điều này có ích khi bạn muốn nhúng
công cụ này như là một phần của một khối xử lý để thực hiện di chuyển dữ liệu tự
động.


Bảng 2. Các kịch bản lệnh
Tên tệp Mô tả
IBMExtract.properties

Tệp này chứa tất cả tham số đầu vào mà bạn đã chỉ định
thông qua các giá trị đầu vào GUI hoặc dòng lệnh của
bạn. Bạn có thể tự tay chỉnh sửa tệp này để thay đổi hoặc
sửa chữa các tham số. Lưu ý: Tệp này bị ghi đè mỗi khi
bạn chạy GUI này.
unload
Kịch bản lệnh này do công cụ này tạo ra. Nó tải lên dữ
liệu từ máy chủ cơ sở dữ liệu nguồn đến các tệp phẳng,
khi bạn đánh dấu chọn tùy chọn DDL và Dữ liệu. Kịch
bản lệnh tương tự cũng chuyển dữ liệu từ cơ sở dữ liệu
nguồn đến DB2 bằng cách sử dụng các đường ống, khi
bạn đánh dấu chọn tùy chọn pipe (đường ống) trong GUI
để loại bỏ các tệp phẳng trung gian. Tùy chọn đường ống
này được điều khiển thông qua tùy chọn usePipe (s
ử dụng
đường ống) trong tệp IBMExtract.properties.
rowcount
Kịch bản lệnh này do công cụ này tạo ra và bạn có thể
chạy nó sau khi triển khai dữ liệu để kiểm tra số đếm
hàng (rowcount) trong cơ sở dữ liệu nguồn và DB2.

Hình 3. Các tệp được tạo ra sau khi trích xuất dữ liệu

Sử dụng chế độ dòng lệnh
Bạn có thể chạy công cụ này bằng cách sử dụng cụ thể chế độ dòng lệnh khi
không có sẵn khả năng GUI. Công cụ này chuyển đổi tự động các chế độ khi nó

không thể khởi động GUI. Nếu bạn muốn bắt buộc chạy công cụ này trong chế độ
tương tác dòng lệnh, thì bạn có thể chỉ rõ tùy chọn -console cho lệnh
IBMDataMovementTool.
Trên Windows:
IBMDataMovementTool -console

Trên UNIX:
./IBMDataMovementTool.sh -console


Bạn sẽ được giới thiệu các tùy chọn tương tác để xác định các tham số kết nối cơ
sở dữ liệu nguồn và DB2 theo tiến trình từng bước một. Một đầu ra ví dụ từ cửa sổ
bàn điều khiển được thể hiện như sau:
[2010-01-10 20.08.05.390] INPUT Directory = .
[2010-01-10 20.08.05.390] Configuration file loaded: 'jdbcdriver.properties'
[2010-01-10 20.08.05.390] Configuration file loaded: 'IBMExtract.properties'
[2010-01-10 20.08.05.390] appJar :
'C:\IBMDataMovementTool\IBMDataMovementTool.jar'
Debug (Yes) : 1
Debug (No) : 2
Enter a number (Default=2) :
IS TARGET DB2 LOCAL (YES) : 1
IS TARGET DB2 REMOTE (NO) : 2
Enter a number (Default=1) :
Extract DDL (Yes) : 1
Extract DDL (No) : 2
Enter a number (Default=1) :
Extract Data (Yes) : 1
Extract Data (No) : 2
Enter a number (Default=1) :

Enter # of rows limit to extract. (Default=ALL) :
Enter # of rows limit to load data in DB2. (Default=ALL) :
Compress Table in DB2 (No) : 1
Compress Table in DB2 (YES) : 2
Enter a number (Default=1) :
Compress Index in DB2 (No) : 1
Compress Index in DB2 (YES) : 2
Enter a number (Default=1) :
******* Source database information: *****
Oracle : 1
MS SQL Server : 2
Sybase : 3
MS Access Database : 4
MySQL : 5
PostgreSQL : 6
DB2 z/OS : 7
DB2 LUW : 8
Enter a number (Default 1) :
DB2 Compatibility Feature (DB2 V9.7 or later) : 1
No Compatibility feature : 2
Enter compatibility feature (Default=1) :

Triển khai các đối tượng và nạp dữ liệu
Tạo các đối tượng đích cơ sở dữ liệu
Sau khi trích xuất DDL và Dữ liệu, bạn có ba cách khác nhau để triển khai các đối
tượng đã trích xuất trong DB2.
 Nhấn nút Deploy DDL/DATA từ màn hình GUI.
 Chuyển đến thẻ Interactive Deploy ( Triển khai tương tác) và triển khai
các đối tượng theo tiến trình từng bước một.
 Triển khai DDL/DATA bằng kịch bản lệnh dòng lệnh db2gen

Các tùy chọn để chọn triển khai dữ liệu được dựa trên các yêu cầu di chuyển dữ
liệu và các đối tượng. Nếu bạn chỉ đang di chuyển các đối tượng DDL và Dữ liệu
không phải PL/SQL, thì việc sử dụng kịch bản lệnh db2gen hoặc nhấn vào nút
Deploy DDL/DATA từ các GUI là đủ.
Tùy chọn triển khai tương tác có thể là sự lựa chọn tốt hơn của bạn khi bạn cũng
đang triển khai các đối tượng PL/SQL như các trigger, các hàm, các thủ tục và các
gói PL/SQL.
Sử dụng màn hình GUI, như trong Hình 4, để triển khai tương tác của DDL và các
đối tượng cơ sở dữ liệu khác. Chuỗi các sự kiện trong màn hình này là:
1. Bảo đảm bạn được kết nối tới DB2 khi sử dụng thẻ Extract/Deploy (Trích
xuất/Triển khai).
2. Nhấn vào thẻ Interactive Deploy (Triển khai tương tác).
3. Sử dụng nút Open Directory (Mở thư mục) để chọn thư mục làm việc có
chứa các đối tượng đã trích xuất trước. Các đối tượng này được đọc và
được liệt kê trong một khung nhìn dạng cây.
4. Bạn có thể triển khai tất cả các đối tượng bằng cách nhấn nút Deploy All
Objects (Triển khai tất cả các đối tượng) trên thanh công cụ. Hầu hết các
đối tượng sẽ triển khai thành công trong khi các đối tượng khác có thể
hỏng.
5. Khi bạn nhấn vào một đối tượng đã không triển khai được trong khung nhìn
dạng cây, bạn có thể xem nguồn gốc của đối tượng đó trong cửa sổ của
trình soạn thảo. Lý do của sự thất bại này được liệt kê trong bản ghi nhật ký
triển khai dưới đây.
6. Chế độ tương thích Oracle nói chung cho phép triển khai các đối tượng như
nó vốn có. Tuy nhiên, có thể vẫn có các tính năng không được hỗ trợ ngăn
cản triển khai thành công một vài đối tượng có sẵn. Khi sử dụng trình soạn
thảo bạn có thể điều chỉnh mã nguồn của các đối tượng này để giải quyết
bất cứ các vấn đề nào. Khi bạn triển khai đối tượng đã thay đổi, nguồn mới
được lưu cùng với một sao lưu dự phòng của nguồn cũ.
7. Bạn có thể chọn một hoặc nhiều đối tượng bằng cách sử dụng phím CTRL

và nhấn vào nút Deploy Selected Objects (Triển khai các đối tượng đã
chọn) trên thanh công cụ để triển khai các đối tượng sau khi đã chỉnh sửa
chúng. Thông thường các lỗi triển khai xảy ra theo dạng xếp tầng có nghĩa
là một khi một đối tượng đã triển khai thành công thì các đối tượng khác
phụ thuộc vào nó cũng sẽ triển khai được.
8. Lặp lại bước từ 5 đến 7 cho đến khi tất cả các đối tượng đã được triển khai
thành công.

Hình 4. Triển khai tương tác của các đối tượng

So sánh các số đếm hàng
 Chuyển tới thư mục gốc về di chuyển dữ liệu và chạy kịch bản lệnh
rowcount (số đếm hàng).
 Bạn sẽ thấy một bản ghi được tạo ra trong tệp "<source database
name>.tables.rowcount". Bản ghi này chứa các số đếm hàng từ cả hai cơ sở
dữ liệu nguồn và đích.
oracle : db2
"TESTCASE"."CALL_STACKS" : 123 "TESTCASE"."CALL_STACKS" :
123
"TESTCASE"."CLASSES" : 401 "TESTCASE"."CLASSES" : 401
"TESTCASE"."DESTINATION" : 513 "TESTCASE"."DESTINATION" :
513


Sử dụng các đường ống để di chuyển dữ liệu
Khi kích thước cơ sở dữ liệu nguồn quá lớn và không đủ dung lượng để giữ các
tệp dữ liệu trung gian, việc sử dụng đường ống là cách được khuyên dùng để di
chuyển dữ liệu.
Trên các hệ thống Windows
Công cụ này sử dụng Pipe.dll để tạo ra các đường ống Windows và đảm bảo rằng

dll này được đặt trong cùng thư mục ở đó đặt tệp IBMDataMovementTool.jar.
Trên các hệ thống UNIX
Công cụ này tạo ra các đường ống UNIX bằng lệnh mkfifo dùng để di chuyển dữ
liệu từ nguồn tới DB2.
Trước khi bạn có thể sử dụng đường ống giữa cơ sở dữ liệu nguồn và DB2, cần
phải tạo định nghĩa bảng. Hãy làm theo thủ tục sau:
1. Chỉ rõ # Extract Rows=1 trong GUI hoặc thiết lập LimitExtractRows=1
trong IBMExtract.properties, khi bạn đang sử dụng cửa sổ dòng lệnh.
2. Nhấn vào nút Extract DDL/Data để tải lên dữ liệu hoặc chạy kịch bản lệnh
unload (tải lên) từ cửa sổ dòng lệnh.
3. Nhấn nút Deploy DDL/Data hoặc chạy kịch bản lệnh db2gen từ cửa sổ
dòng lệnh.
4. Chọn Use Pipe (Sử dụng đường ống) hoặc thiết lập usepipe=true trong
IBMExtract.properties, khi bạn đang sử dụng cửa sổ dòng lệnh.
5. Nhấn nút Extract / Deploy through Pipe Load (Trích xuất/Triển khai
thông qua Nạp đường ống) hoặc kịch bản lệnh unload từ cửa sổ dòng lệnh.

Hình 5. Sử dụng đường ống để di chuyển dữ liệu

Các bước bổ sung cho DB2 trên z/OS
Tiến trình UNLOAD trên z/OS
 Công cụ này đòi hỏi tệp USS để chạy nhưng DB2 LOAD trên z/OS không
thể sử dụng các tệp HFS để nạp dữ liệu. Đó là lý do, bạn cần sử dụng bộ
công cụ JZOS để tạo ra các tập dữ liệu PS trên z/OS từ Các dịch vụ hệ
thống Unix (Unix System Services). Tuy nhiên, DB2 LOAD có thể sử dụng
các tệp USS (hoặc HFS) cho LOAD CLOBS/BLOBS trong DB2. Đó là lý
do, chúng ta tạo ra các tập dữ liệu PS trên z/OS để di chuyển dữ liệu từ cơ
sở dữ liệu nguồn tới z/OS và chúng ta sử dụng các tệp HFS của Các dịch vụ
hệ thống Unix để giữ tất cả BLOBS/CLOBS.
 Không thể chạy câu lệnh LOAD từ USS. Sử dụng các thủ tục đã lưu

SYSPROC.DSNUTILS để chạy LOAD, CHECK DATA và RUN STATS.
 Tạo các tập dữ liệu PS là một thách thức do bạn cần phải cấp phát nó cho
mỗi bảng. Không thể cấp phát trước một kích thước cố định vì chưa biết
được kích thước bảng. Nó có thể lãng phí rất nhiều dung lượng trên z/OS.
Để tránh vấn đề dung lượng, hãy sử dụng một thuật toán để cấp phát kích
thước.
Bạn có thể sử dụng công cụ này từ z/OS để thực hiện di chuyển dữ liệu từ một cơ
sở dữ liệu nguồn tới DB2 cho z/OS. Tuy nhiên, cần có các bước bổ sung sau đây.
1. Tải về và cài đặt JZOS.
2. Đây là tệp nén chứa một tệp tên là jzos.pax. Giao thức truyền tệp (FTP)
truyền tệp này bằng cách sử dụng Các dịch vụ hệ thống Unix trong chế độ
nhị phân tới thư mục mà bạn muốn cài đặt JZOS.
3. Chuyển đến thư mục bạn đã lưu tệp .pax ở đó.
4. Chạy lệnh: pax -rvf. Lệnh này sẽ tạo một thư mục con gọi là jzos trong thư
mục làm việc hiện tại của bạn. Thư mục con này sẽ được gọi là
<JZOS_HOME>
5. Trong thư mục chủ của người dùng, hãy tạo một tệp có tên .profile dựa trên
khuôn mẫu được cho dưới đây bằng cách thực hiện các thay đổi theo mỗi
bản cài đặt DB2 z/OS của bạn.
export JZOS_HOME=$HOME/jzos
export JAVA_PATH=/usr/lpp/java/J1.5
export PATH=$JAVA_HOME/bin:$PATH
export CLPHOME=/usr/lpp/db2/db2910/db2910_base/lib/IBM
export
CLASSPATH=$CLASSPATH:/usr/lpp/db2/db2910/db2910_base/lib/clp.jar
export CLPPROPERTIESFILE=$HOME/clp.properties
export LIBPATH=$LIBPATH:<JZOS_HOME<
alias db2="java com.ibm.db2.clp.db2"

6.

7. Có thể phải sửa đổi CLPHOME và CLASSPATH tùy thuộc vào môi trường
của bạn. Thay thế <JZOS_HOME> bằng thư mục thích hợp.
8. Trong thư mục chủ của người dùng, hãy tạo một tệp tên là clp.properties
dựa trên khuôn mẫu đã cho dưới đây:
#Specify the value as ON/OFF or leave them blank
DisplaySQLCA=ON
AutoCommit=ON
InputFilename=
OutputFilename=
DisplayOutput=
StopOnError=
TerminationChar=
Echo=
StripHeaders=
MaxLinesFromSelect=
MaxColumnWidth=20
IsolationLevel=
<SUBSYSTEM_NAME>=<IP address>:<port number>/<location
name>,USER,PASSWD

Replace items on the last line as appropriate.

9.
10. Chạy lệnh 777 <JZOS_HOME>/*.so
11. Chạy lệnh IBMDataMovementTool.sh -console và xác định các giá trị của
các tham số thông qua đáp ứng người dùng tương tác.
12. Các kịch bản lệnh IBMExtract.properties, geninput và unload được tạo cho
bạn.
13. Tham số zdb2tableseries trong IBMExtract.properties là để chỉ rõ tên của
loạt này cho các tập dữ liệu PS. Ví dụ, nếu TSO ID của bạn là DNET770 và

tham số này được thiết lập là R, thì tên của các tập dữ liệu PS được tạo ra
cho bảng đầu tiên sẽ là DNET777.TBLDATA.R0000001
14. Sử dụng tham số znocopypend để thêm tham số NOCOPYPEND vào câu
lệnh LOAD. Với tham số này, quản trị viên cơ sở dữ liệu (DBA) của z/OS
DB2 có thể thực hiện sao lưu dự phòng vì bảng này sẽ không được đặt
trong chế độ chờ COPY (sao chép).
15. Tham số zoveralloc xác định bạn muốn vượt quá các yêu cầu cấp phát tệp
của mình bằng bao nhiêu. Giá trị bằng 1 có nghĩa là bạn chẳng vượt quá tý
nào. Trong một môi trường có đủ dung lượng chưa sử dụng, điều này có thể
thực hiện được. Trong một môi trường thực tế, 15/11 (1,3636) sẽ là một
đánh giá tốt. Chúng tôi khuyên bạn bắt đầu từ 1,3636 (15/11) và hạ thấp

×