Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat menggunakan database Amazon RDS untuk Db2 sebagai database federasi. Setelah menyiapkan federasi RDS untuk Db2, Anda akan dapat mengakses dan meminta data di beberapa database dari database RDS untuk Db2 Anda. Federation menyelamatkan Anda dari kebutuhan untuk memigrasi data ke database RDS untuk Db2 Anda atau mengkonsolidasikan data ke dalam satu database.
Dengan menggunakan database RDS untuk Db2 Anda sebagai database federasi, Anda dapat terus mengakses semua RDS untuk fitur Db2 dan dapat memanfaatkan berbagai Layanan AWS, sambil menyimpan data Anda di database yang berbeda. Anda dapat mengatur federasi homogen yang menghubungkan database yang berbeda dari jenis yang sama, atau federasi heterogen yang menghubungkan database yang berbeda dari jenis yang berbeda.
Anda pertama kali menghubungkan database Db2 Anda RDS untuk Db2 ke database jarak jauh. Kemudian Anda dapat menjalankan kueri terhadap semua database yang terhubung. Misalnya, Anda dapat menjalankan SQL JOIN pernyataan yang menggabungkan tabel di database RDS untuk Db2 Anda dengan tabel di Db2 jarak jauh pada database z/OS.
Federasi homogen
Anda dapat mengatur federasi homogen antara database RDS untuk Db2 Anda dan keluarga produk Db2 berikut:
-
Db2 untuk Linux,UNIX, Windows () LUW
-
Db2 iSeries
-
Db2 untuk z/OS
RDSuntuk federasi homogen Db2 tidak mendukung tindakan berikut:
-
Menjalankan
CATALOG
perintah untuk mengatur direktori node dan database jarak jauh pada database host RDS untuk Db2 -
Menyelesaikan Workload Balancing (WLB) saat federasi ke Db2 di z/OS
-
Mengkonfigurasi file konfigurasi driver server IBM data ()
db2dsdriver.cfg
RDSuntuk federasi homogen Db2 memiliki persyaratan sebagai berikut:
-
Anda harus membuat DRDA pembungkus dalam
UNFENCED
mode. Jika tidak, maka federasi tidak akan bekerja RDS untuk Db2. -
Anda harus mengizinkan lalu lintas masuk dan keluar dari database host RDS untuk Db2 Anda ke database host jarak jauh Anda. Untuk informasi selengkapnya, lihat Berikan akses ke instans DB Anda VPC dengan membuat grup keamanan.
Topik
Langkah 1: Buat DRDA pembungkus dan server federasi
Untuk federasi homogen, buat DRDA pembungkus dan server federasi. Koneksi ke host jarak jauh menggunakanHOST
,PORT
, danDBNAME
.
Pilih salah satu metode berikut berdasarkan jenis database Db2 jarak jauh Anda:
-
Db2 untuk Linux,UNIX, dan Windows (LUX) database - Jalankan perintah berikutSQL. Dalam contoh berikut, ganti
server_name
dengan nama server yang akan Anda gunakan untuk federasi. Gantidb2_version
dengan versi database Db2 jarak jauh Anda. Gantiusername
andpassword
dengan kredensi Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Gantidb_name
,dns_name
, danport
dengan nilai yang sesuai untuk database Db2 jarak jauh yang ingin Anda sambungkan.create wrapper drda options(DB2_FENCED 'N'); create server
server_name
type DB2/LUW wrapper drda version 'db2_version
' authorization "master_username
" password "master_password
" options (add DBNAME 'db_name
',add HOST 'dns_name
',add PORT 'port
');Contoh
create wrapper drda options(DB2_FENCED 'N'); create server SERVER1 type DB2/LUW wrapper drda version '11.5' authorization "sysuser" password "******" options (add DBNAME 'TESTDB2',add HOST 'ip-123-45-67-899.us-west-1.compute.internal',add PORT '25010');
-
Db2 iSeries - Jalankan perintah berikutSQL. Dalam contoh berikut, ganti
wrapper_name
andlibrary_name
dengan nama untuk DRDA pembungkus Anda dan file pustaka pembungkus. Ganti server_name
dengan nama server yang akan Anda gunakan untuk federasi. Gantidb2_version
dengan versi database Db2 jarak jauh Anda. Gantiusername
andpassword
dengan kredensi Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Gantidns_name
,port
, dandb_name
dengan nilai yang sesuai untuk database Db2 jarak jauh yang ingin Anda sambungkan.create wrapper
wrapper_name
library 'library name
' options(DB2_FENCED 'N'); create serverserver_name
type db2/mvs versiondb2_version
wrapperwrapper_name
authorization "sername
" password "password
" options (HOST 'dns_name
', PORT 'port
', DBNAME 'db_name
');Contoh
create wrapper WRAPPER1 library 'libdb2drda.so' options(DB2_FENCED 'N'); create server SERVER1 type db2/mvs version 11 wrapper WRAPPER1 authorization "sysuser" password "******" options (HOST 'test1.123.com', PORT '446', DBNAME 'STLEC1');
-
Db2 untuk z/OS - Jalankan perintah berikut. SQL Dalam contoh berikut, ganti
wrapper_name
andlibrary_name
dengan nama untuk DRDA pembungkus Anda dan file pustaka pembungkus. Ganti server_name
dengan nama server yang akan Anda gunakan untuk federasi. Gantidb2_version
dengan versi database Db2 jarak jauh Anda. Gantiusername
andpassword
dengan kredensi Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Gantidns_name
,port
, dandb_name
dengan nilai yang sesuai untuk database Db2 jarak jauh yang ingin Anda sambungkan.create wrapper
wrapper_name
library 'library_name
' options(DB2_FENCED 'N'); create serverserver_name
type db2/mvs versiondb2_version
wrapperwrapper_name
authorization "username
" password "password
" options (HOST 'dns_name
', PORT 'port
', DBNAME 'db_name
');Contoh
create wrapper WRAPPER1 library 'libdb2drda.so' OPTIONS(DB2_FENCED 'N'); create server SERVER1 type db2/mvs version 11 wrapper WRAPPER1 authorization "sysuser" password "******" options (HOST 'test1.123.com', PORT '446', DBNAME 'STLEC1');
Langkah 2: Buat pemetaan pengguna
Buat pemetaan pengguna untuk mengaitkan server federasi Anda dengan server sumber data Anda dengan menjalankan perintah berikutSQL. Dalam contoh berikut, ganti server_name
dengan nama server jarak jauh dari yang Anda inginkan untuk melakukan operasi. Ini adalah server yang Anda buat di langkah 1. Ganti username
and password
dengan kredensialmu untuk server jarak jauh ini.
create user mapping for user server
server_name
options (REMOTE_AUTHID 'username
', REMOTE_PASSWORD 'password
');
Untuk informasi selengkapnya, lihat Pemetaan pengguna
Langkah 3: Periksa koneksi
Konfirmasikan bahwa pengaturan federasi Anda berhasil dengan memeriksa koneksi. Buka sesi untuk mengirim SQL perintah asli ke sumber data jarak jauh Anda menggunakan SET PASSTHRU perintah, lalu buat tabel di server data jarak jauh.
-
Buka dan tutup sesi untuk mengirimkan SQL ke sumber data. Dalam contoh berikut, ganti
server_name
dengan nama server yang Anda buat untuk federasi di langkah 1.set passthru
server_name
; -
Buat tabel baru. Dalam contoh berikut, ganti
column_name
,data_type
, danvalue
dengan item yang sesuai untuk meja Anda.create table
table_name
(column_name
data_type
(value
),column_name
data_type
(value
);Untuk informasi lebih lanjut, lihat CREATETABLEpernyataan
di IBM Db2 dokumentasi. -
Buat indeks, masukkan nilai untuk baris ke dalam tabel, dan atur ulang koneksi. Menyetel ulang koneksi menjatuhkan koneksi tetapi mempertahankan proses back-end. Dalam contoh berikut, ganti
index_name
,table_name
,column_name
, dancolumnx_value
dengan informasi Anda.create index
index_name
ontable_name
(column_name
); insert intotable_name
values(column1_value
,column2_value
,column3_value
); insert intotable_name
values(column1_value
,column2_value
,column3_value
); set passthru reset; connect reset; -
Hubungkan ke database Db2 jarak jauh Anda, buat nama panggilan untuk server jarak jauh Anda, dan lakukan operasi. Setelah Anda selesai mengakses data di database Db2 jarak jauh, atur ulang dan kemudian akhiri koneksi. Dalam contoh berikut, ganti
database_name
dengan nama database Db2 jarak jauh Anda. Gantinickname
dengan sebuah nama. Gantiserver_name
andtable_name
dengan nama server dan tabel jarak jauh di server tempat Anda ingin melakukan operasi. Gantiusername
dengan informasi untuk server jarak jauh Anda. Gantisql_command
dengan operasi yang harus dilakukan di server jarak jauh.connect to
database_name
; create nicknamenickname
forserver_name
."username
"."table_name
"; selectsql_command
fromnickname
; connect reset; terminate;
Contoh
Contoh berikut membuat sesi pass-through untuk memungkinkan operasi pada server federasi. testdb10
Selanjutnya, ia menciptakan tabel t1
dengan tiga kolom dengan tipe data yang berbeda.
Kemudian, contoh membuat indeks i1_t1
pada tiga kolom dalam tabelt1
. Setelah itu, ia menyisipkan dua baris dengan nilai untuk tiga kolom ini, dan kemudian terputus.
Terakhir, contoh terhubung ke database Db2 jarak jauh testdb2
dan membuat nama panggilan untuk tabel t1
di server federasi. testdb10
Ini menciptakan nama panggilan dengan nama pengguna TESTUSER
untuk sumber data itu. SQLPerintah mengeluarkan semua data dari tabelt1
. Contoh memutus dan mengakhiri sesi.
set passthru testdbl0; create table t1 ( c1 decimal(13,0), c2 char(200), c3 int); create index i1_t1 on t1(c3); insert into t1 values(1,'Test',1); insert into t1 values(2,'Test 2',2); connect reset; connect to testdb2; create nickname remote_t1 for testdbl0."TESTUSER"."T1"; select * from remote_t1; connect reset; terminate;
Federasi heterogen
Anda dapat mengatur federasi heterogen antara database RDS untuk Db2 Anda dan sumber data lainnya seperti Oracle dan Microsoft Server. SQL Untuk daftar lengkap sumber data yang LUW didukung Db2, lihat Data Source Support Matrix of Federation Bundled in Db2 V11.5 LUW di
RDSuntuk federasi heterogen Db2 tidak mendukung item berikut:
-
Pembungkus asli untuk sumber data lainnya
-
JDBCpembungkus untuk sumber data lainnya
-
Federasi ke sumber data Sybase, Informix, dan Teradata karena sumber data ini memerlukan instalasi perangkat lunak klien untuk Db2 RDS
RDSuntuk federasi heterogen Db2 memiliki persyaratan sebagai berikut:
-
RDSuntuk Db2 hanya mendukung metode ODBC pembungkus.
-
Jika Anda membuat definisi eksplisit dari pembungkus, maka Anda harus mengatur opsi
DB2_FENCED
ke.'N'
Untuk daftar opsi pembungkus yang validODBC, lihat ODBCopsidi IBM Db2 dokumentasi. -
Anda harus mengizinkan lalu lintas masuk dan keluar dari database host RDS untuk Db2 Anda ke database host jarak jauh Anda. Untuk informasi selengkapnya, lihat Berikan akses ke instans DB Anda VPC dengan membuat grup keamanan.
Untuk informasi tentang federasi ke Oracle, lihat Cara menanyakan Oracle dengan menggunakan Db2 Federation
Untuk informasi selengkapnya tentang sumber data yang mendukung federasi, lihat Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5
Topik
Langkah 1: Buat ODBC pembungkus
Buat pembungkus dengan menjalankan perintah berikut:
db2 "create wrapper odbc options( module '/home/rdsdb/sqllib/federation/odbc/lib/libodbc.so')"
Langkah 2: Buat server federasi
Buat server federasi dengan menjalankan perintah berikut. Dalam contoh berikut, ganti server_name
dengan nama server yang akan Anda gunakan untuk federasi. Ganti wrapper_type
dengan pembungkus yang sesuai. Ganti db_version
dengan versi database jarak jauh Anda. Ganti dns_name
,
port
, dan service_name
dengan nilai yang sesuai untuk database jarak jauh yang ingin Anda sambungkan.
db2 "create server
server_name
typewrapper_type
versiondb_version
options (HOST 'dns_name
', PORT 'port
', SERVICE_NAME 'service_name
')“
Untuk informasi tentang tipe wrapper, lihat Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5
Contoh
Contoh berikut membuat server federasi untuk database Oracle jarak jauh.
db2 "create server server1 type oracle_odbc version 12.1 options (HOST 'test1.amazon.com', PORT '1521', SERVICE_NAME 'pdborcl.amazon.com')“
Langkah 3: Buat pemetaan pengguna
Buat pemetaan pengguna untuk mengaitkan server federasi Anda dengan server sumber data Anda dengan menjalankan perintah berikutSQL. Dalam contoh berikut, ganti server_name
dengan nama server jarak jauh dari yang Anda inginkan untuk melakukan operasi. Ini adalah server yang Anda buat di langkah 2. Ganti username
and password
dengan kredensialmu untuk server jarak jauh ini.
create user mapping for user server
server_name
options (REMOTE_AUTHID 'username
', REMOTE_PASSWORD 'password
');
Untuk informasi selengkapnya, lihat Pemetaan pengguna
Langkah 4: Periksa koneksi
Konfirmasikan bahwa pengaturan federasi Anda berhasil dengan memeriksa koneksi. Buka sesi untuk mengirim SQL perintah asli ke sumber data jarak jauh Anda menggunakan SET PASSTHRU perintah, lalu buat tabel di server data jarak jauh.
-
Buka dan tutup sesi untuk mengirimkan SQL ke sumber data. Dalam contoh berikut, ganti
server_name
dengan nama server yang Anda buat untuk federasi di langkah 2.set passthru
server_name
; -
Buat tabel baru. Dalam contoh berikut, ganti
column_name
,data_type
, danvalue
dengan item yang sesuai untuk meja Anda.create table
table_name
(column_name
data_type
(value
),column_name
data_type
(value
);Untuk informasi lebih lanjut, lihat CREATETABLEpernyataan
di IBM Db2 dokumentasi. -
Buat indeks, masukkan nilai untuk baris ke dalam tabel, dan atur ulang koneksi. Menyetel ulang koneksi menjatuhkan koneksi tetapi mempertahankan proses back-end. Dalam contoh berikut, ganti
index_name
,table_name
,column_name
, dancolumnx_value
dengan informasi Anda.create index
index_name
ontable_name
(column_name
); insert intotable_name
values(column1_value
,column2_value
,column3_value
); insert intotable_name
values(column1_value
,column2_value
,column3_value
); set passthru reset; connect reset; -
Hubungkan ke database Db2 jarak jauh Anda, buat nama panggilan untuk server jarak jauh Anda, dan lakukan operasi. Setelah Anda selesai mengakses data di database Db2 jarak jauh, atur ulang dan kemudian akhiri koneksi. Dalam contoh berikut, ganti
database_name
dengan nama database Db2 jarak jauh Anda. Gantinickname
dengan sebuah nama. Gantiserver_name
andtable_name
dengan nama server dan tabel jarak jauh di server tempat Anda ingin melakukan operasi. Gantiusername
dengan informasi untuk server jarak jauh Anda. Gantisql_command
dengan operasi yang harus dilakukan di server jarak jauh.connect to
database_name
; create nicknamenickname
forserver_name
."username
"."table_name
"; selectsql_command
fromnickname
; connect reset; terminate;
Contoh
Contoh berikut membuat sesi pass-through untuk memungkinkan operasi pada server federasi. testdb10
Selanjutnya, ia menciptakan tabel t1
dengan tiga kolom dengan tipe data yang berbeda.
Kemudian, contoh membuat indeks i1_t1
pada tiga kolom dalam tabelt1
. Setelah itu, ia menyisipkan dua baris dengan nilai untuk tiga kolom ini, dan kemudian terputus.
Terakhir, contoh terhubung ke database Db2 jarak jauh testdb2
dan membuat nama panggilan untuk tabel t1
di server federasi. testdb10
Ini menciptakan nama panggilan dengan nama pengguna TESTUSER
untuk sumber data itu. SQLPerintah mengeluarkan semua data dari tabelt1
. Contoh memutus dan mengakhiri sesi.
set passthru testdbl0; create table t1 ( c1 decimal(13,0), c2 char(200), c3 int); create index i1_t1 on t1(c3); insert into t1 values(1,'Test',1); insert into t1 values(2,'Test 2',2); connect reset; connect to testdb2; create nickname remote_t1 for testdbl0."TESTUSER"."T1"; select * from remote_t1; connect reset; terminate;