Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon RDS untuk federasi Db2
Anda dapat menggunakan Amazon RDS untuk database Db2 sebagai database federasi. Setelah menyiapkan federasi untuk RDS untuk Db2, Anda akan dapat mengakses dan meminta data di beberapa database dari RDS Anda untuk database Db2. Federation menyelamatkan Anda dari kebutuhan untuk memigrasikan data ke RDS Anda untuk database Db2 atau mengkonsolidasikan data ke dalam satu database.
Dengan menggunakan database RDS untuk Db2 Anda sebagai database federasi, Anda dapat terus mengakses semua fitur RDS untuk 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 di RDS untuk Db2 ke database jarak jauh. Kemudian Anda dapat menjalankan kueri terhadap semua database yang terhubung. Misalnya, Anda dapat menjalankan pernyataan SQL JOIN yang menggabungkan tabel di RDS Anda untuk database Db2 dengan tabel di Db2 jarak jauh pada database. z/OS
Federasi homogen
Anda dapat mengatur federasi homogen antara RDS Anda untuk database Db2 dan keluarga produk Db2 berikut:
-
Db2 untuk Linux, UNIX, Windows (LUW)
-
Db2 iSeries
-
Db2 untuk z/OS
RDS untuk federasi homogen Db2 tidak mendukung tindakan berikut:
-
Menjalankan
CATALOGperintah untuk mengatur direktori node dan database jarak jauh pada RDS untuk database host Db2 -
Menyelesaikan Workload Balancing (WLB) saat federasi ke Db2 di z/OS
-
Mengkonfigurasi file konfigurasi driver server data IBM ()
db2dsdriver.cfg
RDS untuk federasi homogen Db2 memiliki persyaratan sebagai berikut:
-
Anda harus membuat pembungkus DRDA dalam
UNFENCEDmode. Jika tidak, maka federasi tidak akan berfungsi di RDS untuk Db2. -
Anda harus mengizinkan lalu lintas masuk dan keluar dari RDS Anda untuk database host Db2 ke database host jarak jauh Anda. Untuk informasi selengkapnya, lihat Memberikan akses ke instans DB di VPC Anda dengan membuat grup keamanan.
Topik
Langkah 1: Buat pembungkus DRDA dan server federasi
Untuk federasi homogen, buat pembungkus DRDA 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 SQL berikut. Dalam contoh berikut, ganti
server_namedengan nama server yang akan Anda gunakan untuk federasi. Gantidb2_versiondengan versi database Db2 jarak jauh Anda. Gantiusernamedanpassworddengan kredensil Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Gantidb_namedns_name,, danportdengan nilai yang sesuai untuk database Db2 jarak jauh yang ingin Anda sambungkan.create wrapper drda options(DB2_FENCED 'N'); create serverserver_nametype 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 SQL berikut. Dalam contoh berikut, ganti
wrapper_namedanlibrary_namedengan nama untuk pembungkus DRDA Anda dan file pustaka pembungkus. Ganti server_namedengan nama server yang akan Anda gunakan untuk federasi. Gantidb2_versiondengan versi database Db2 jarak jauh Anda. Gantiusernamedanpassworddengan kredensil Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Gantidns_nameport,, dandb_namedengan nilai yang sesuai untuk database Db2 jarak jauh yang ingin Anda sambungkan.create wrapperwrapper_namelibrary 'library name' options(DB2_FENCED 'N'); create serverserver_nametype db2/mvs versiondb2_versionwrapperwrapper_nameauthorization "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 SQL berikut. Dalam contoh berikut, ganti
wrapper_namedanlibrary_namedengan nama untuk pembungkus DRDA Anda dan file pustaka pembungkus. Ganti server_namedengan nama server yang akan Anda gunakan untuk federasi. Gantidb2_versiondengan versi database Db2 jarak jauh Anda. Gantiusernamedanpassworddengan kredensil Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Gantidns_nameport,, dandb_namedengan nilai yang sesuai untuk database Db2 jarak jauh yang ingin Anda sambungkan.create wrapperwrapper_namelibrary 'library_name' options(DB2_FENCED 'N'); create serverserver_nametype db2/mvs versiondb2_versionwrapperwrapper_nameauthorization "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 SQL berikut. 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 dan password dengan kredensil Anda untuk server jarak jauh ini.
create user mapping for user serverserver_nameoptions (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 perintah SQL asli ke sumber data jarak jauh Anda menggunakan perintah SET PASSTHRU, lalu buat tabel di server data jarak jauh.
-
Buka dan tutup sesi untuk mengirimkan SQL ke sumber data. Dalam contoh berikut, ganti
server_namedengan nama server yang Anda buat untuk federasi di langkah 1.set passthruserver_name; -
Buat tabel baru. Dalam contoh berikut, ganti
column_name,data_type, danvaluedengan item yang sesuai untuk tabel Anda.create tabletable_name(column_namedata_type(value),column_namedata_type(value);Untuk informasi selengkapnya, lihat pernyataan CREATE TABLE
dalam 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_valuedengan informasi Anda.create indexindex_nameontable_name(column_name); insert intotable_namevalues(column1_value,column2_value,column3_value); insert intotable_namevalues(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_namedengan nama database Db2 jarak jauh Anda. Gantinicknamedengan nama. Gantiserver_namedantable_namedengan nama server dan tabel jarak jauh di server tempat Anda ingin melakukan operasi. Gantiusernamedengan informasi untuk server jarak jauh Anda. Gantisql_commanddengan operasi yang akan dilakukan di server jarak jauh.connect todatabase_name; create nicknamenicknameforserver_name."username"."table_name"; selectsql_commandfromnickname; 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. Perintah SQL mengeluarkan semua data dari tabel. t1 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 RDS Anda untuk database Db2 dan sumber data lainnya seperti Oracle dan Microsoft SQL Server. Untuk daftar lengkap sumber data yang didukung Db2 LUW, lihat Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5 di
RDS untuk federasi heterogen Db2 tidak mendukung item berikut:
-
Pembungkus asli untuk sumber data lainnya
-
Pembungkus JDBC untuk sumber data lainnya
-
Federasi ke sumber data Sybase, Informix, dan Teradata karena sumber data ini memerlukan instalasi perangkat lunak klien pada RDS untuk Db2
RDS untuk federasi heterogen Db2 memiliki persyaratan sebagai berikut:
-
RDS untuk Db2 hanya mendukung metode pembungkus ODBC.
-
Jika Anda membuat definisi eksplisit dari pembungkus, maka Anda harus mengatur opsi
DB2_FENCEDke.'N'Untuk daftar opsi pembungkus yang valid untuk ODBC, lihat opsi ODBC dalam dokumentasi. IBM Db2 -
Anda harus mengizinkan lalu lintas masuk dan keluar dari RDS Anda untuk database host Db2 ke database host jarak jauh Anda. Untuk informasi selengkapnya, lihat Memberikan akses ke instans DB di VPC Anda dengan membuat grup keamanan.
Untuk informasi tentang federasi ke Oracle, lihat Cara menanyakan Oracle dengan menggunakan Db2 Federation dan
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 pembungkus ODBC
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_nameport,, dan service_name dengan nilai yang sesuai untuk database jarak jauh yang ingin Anda sambungkan.
db2 "create serverserver_nametypewrapper_typeversiondb_versionoptions (HOST 'dns_name', PORT 'port', SERVICE_NAME 'service_name')“
Untuk informasi tentang jenis pembungkus, 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 SQL berikut. 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 dan password dengan kredensialmu untuk server jarak jauh ini.
create user mapping for user serverserver_nameoptions (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 perintah SQL asli ke sumber data jarak jauh Anda menggunakan perintah SET PASSTHRU, lalu buat tabel di server data jarak jauh.
-
Buka dan tutup sesi untuk mengirimkan SQL ke sumber data. Dalam contoh berikut, ganti
server_namedengan nama server yang Anda buat untuk federasi di langkah 2.set passthruserver_name; -
Buat tabel baru. Dalam contoh berikut, ganti
column_name,data_type, danvaluedengan item yang sesuai untuk tabel Anda.create tabletable_name(column_namedata_type(value),column_namedata_type(value);Untuk informasi selengkapnya, lihat pernyataan CREATE TABLE
dalam 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_valuedengan informasi Anda.create indexindex_nameontable_name(column_name); insert intotable_namevalues(column1_value,column2_value,column3_value); insert intotable_namevalues(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_namedengan nama database Db2 jarak jauh Anda. Gantinicknamedengan nama. Gantiserver_namedantable_namedengan nama server dan tabel jarak jauh di server tempat Anda ingin melakukan operasi. Gantiusernamedengan informasi untuk server jarak jauh Anda. Gantisql_commanddengan operasi yang akan dilakukan di server jarak jauh.connect todatabase_name; create nicknamenicknameforserver_name."username"."table_name"; selectsql_commandfromnickname; 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. Perintah SQL mengeluarkan semua data dari tabel. t1 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;