Amazon RDS untuk federasi Db2 - Layanan Basis Data Relasional Amazon

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 CATALOG perintah 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 UNFENCED mode. 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.

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_name dengan nama server yang akan Anda gunakan untuk federasi. Ganti db2_version dengan versi database Db2 jarak jauh Anda. Ganti username dan password dengan kredensil Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Ganti db_namedns_name,, dan port 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 SQL berikut. Dalam contoh berikut, ganti wrapper_name dan library_name dengan nama untuk pembungkus DRDA Anda dan file pustaka pembungkus. Ganti server_name dengan nama server yang akan Anda gunakan untuk federasi. Ganti db2_version dengan versi database Db2 jarak jauh Anda. Ganti username dan password dengan kredensil Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Ganti dns_nameport,, dan db_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 server server_name type db2/mvs version db2_version wrapper wrapper_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 SQL berikut. Dalam contoh berikut, ganti wrapper_name dan library_name dengan nama untuk pembungkus DRDA Anda dan file pustaka pembungkus. Ganti server_name dengan nama server yang akan Anda gunakan untuk federasi. Ganti db2_version dengan versi database Db2 jarak jauh Anda. Ganti username dan password dengan kredensil Anda untuk database Db2 jarak jauh yang ingin Anda sambungkan. Ganti dns_nameport,, dan db_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 server server_name type db2/mvs version db2_version wrapper wrapper_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 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 server server_name options (REMOTE_AUTHID 'username', REMOTE_PASSWORD 'password');

Untuk informasi selengkapnya, lihat Pemetaan pengguna dalam dokumentasi. IBM Db2

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.

  1. 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;
  2. Buat tabel baru. Dalam contoh berikut, ganticolumn_name,data_type, dan value dengan item yang sesuai untuk tabel Anda.

    create table table_name ( column_name data_type(value), column_name data_type(value);

    Untuk informasi selengkapnya, lihat pernyataan CREATE TABLE dalam IBM Db2 dokumentasi.

  3. 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, gantiindex_name,table_name,column_name, dan columnx_value dengan informasi Anda.

    create index index_name on table_name(column_name); insert into table_name values(column1_value,column2_value,column3_value); insert into table_name values(column1_value,column2_value,column3_value); set passthru reset; connect reset;
  4. 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. Ganti nickname dengan nama. Ganti server_name dan table_name dengan nama server dan tabel jarak jauh di server tempat Anda ingin melakukan operasi. Ganti username dengan informasi untuk server jarak jauh Anda. Ganti sql_command dengan operasi yang akan dilakukan di server jarak jauh.

    connect to database_name; create nickname nickname for server_name."username"."table_name"; select sql_command from nickname; 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 situs IBM Support.

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:

Untuk informasi tentang federasi ke Oracle, lihat Cara menanyakan Oracle dengan menggunakan Db2 Federation dan driver ODBC? di situs IBM Support.

Untuk informasi selengkapnya tentang sumber data yang mendukung federasi, lihat Data Source Support Matrix of Federation Bundled in Db2 LUW V11.5 di situs IBM Support.

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 server server_name type wrapper_type version db_version options (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 di situs IBM Support.

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 server server_name options (REMOTE_AUTHID 'username', REMOTE_PASSWORD 'password');

Untuk informasi selengkapnya, lihat Pemetaan pengguna dalam dokumentasi. IBM Db2

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.

  1. 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;
  2. Buat tabel baru. Dalam contoh berikut, ganticolumn_name,data_type, dan value dengan item yang sesuai untuk tabel Anda.

    create table table_name ( column_name data_type(value), column_name data_type(value);

    Untuk informasi selengkapnya, lihat pernyataan CREATE TABLE dalam IBM Db2 dokumentasi.

  3. 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, gantiindex_name,table_name,column_name, dan columnx_value dengan informasi Anda.

    create index index_name on table_name(column_name); insert into table_name values(column1_value,column2_value,column3_value); insert into table_name values(column1_value,column2_value,column3_value); set passthru reset; connect reset;
  4. 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. Ganti nickname dengan nama. Ganti server_name dan table_name dengan nama server dan tabel jarak jauh di server tempat Anda ingin melakukan operasi. Ganti username dengan informasi untuk server jarak jauh Anda. Ganti sql_command dengan operasi yang akan dilakukan di server jarak jauh.

    connect to database_name; create nickname nickname for server_name."username"."table_name"; select sql_command from nickname; 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;