5. Memproses bidang kenaikan otomatis dalam tabel database.
Untuk tabel yang berisi bidang kenaikan otomatis yang perlu dimuat, yaitu file data ixf dari tabel memiliki nilai kolom kenaikan otomatis, Anda dapat menambahkan parameter berikut ke perintah muat ke mengontrol nilai bidang kenaikan otomatis:
1) dimodifikasi oleh identitasignore: Ada nilai bidang kenaikan otomatis dalam file data yang dimuat, dan nilai bidang kenaikan otomatis dalam file data diabaikan saat memuat;
2). Dimodifikasi oleh identitas yang hilang: Tidak ada nilai bidang kenaikan otomatis dalam file data yang dimuat, dan nilai bidang kenaikan otomatis dihasilkan secara otomatis saat memuat;
3). file data yang dimuat, dan file data digunakan saat memuat. Nilai bidang kenaikan otomatis dalam .
Untuk membuat data dalam tabel yang berisi bidang kenaikan otomatis di database target konsisten dengan data di database sumber, kami memilih untuk menggunakan parameter yang dimodifikasi oleh identitasoverride dalam contoh artikel ini, dan menggunakan bidang kenaikan otomatis nilai dalam file data saat mengimpor data. Pembaca dapat memilih parameter kontrol yang sesuai berdasarkan situasi yang berbeda.
Pertama, cari file srcdb1_tables.ddl untuk semua nama tabel yang berisi bidang kenaikan otomatis (tabel berisi bidang GENERATED SELALU SEBAGAI IDENTITAS), lalu masukkan fragmen pernyataan yang dimodifikasi oleh identitasoverride ke dalam tabel ini dengan bidang kenaikan otomatis di srcdb1_load.sql. di baris perintah muat yang sesuai.
Listing 8. Pemrosesan bidang yang ditambahkan secara otomatis dalam skrip pemuatan
db2 memuat dari test.ixf dari ixf dimodifikasi dengan penyisipan identitas ke dalam TEST
; Jalankan skrip ekspor
untuk mengekspor data semua tabel.
# db2 -tvf
Data tabel yang diekspor oleh srcdb1_export.sql disimpan di jalur saat ini dalam format ixf.
7. Menyimpan skrip dan file data
Salin semua skrip DDL dan file data *.ixf ke situs tempat sistem target berada.
Pengoperasian pada sistem LINUX
1. Buat instance SRCDB1 melalui prosesor baris perintah (CLP):
# db2icrt SRCDB1
2. Gunakan perintah CREATE DATABASE untuk membuat database SRCDB1, buat ruang tabel yang diperlukan dan konfigurasikan parameter database yang diperlukan.
# db2 membuat basis data SRCDB1
3. Hubungkan ke database SRCDB1 dan jalankan skrip srcdb1_tables.ddl untuk membuat kumpulan buffer, spasi tabel, UDF, tabel, dan objek database seperti Indeks, Urutan, dan tampilan.
# db2 sambungkan ke srcdb1
# db2 -tvf srcdb1_tables.ddl
4. Masuk ke direktori tempat file data .ixf ditempatkan dan jalankan perintah berikut untuk mengimpor data tabel.
# db2 -tvf srcdb1_load.sql
5. Gunakan file skrip srcdb1_foriegnkeys.ddl, srcdb1_triggers.ddl, srcdb1_procedures.ddl untuk membuat batasan kunci asing, pemicu, dan prosedur tersimpan.
# db2 -tvf srcdb1_foriegnkeys.ddl
# db2 -tvf srcdb1_triggers.ddl
# db2 -tvf srcdb1_procedures.ddl
Setelah berhasil menyelesaikan langkah-langkah di atas, pekerjaan migrasi database pada dasarnya selesai.
Instalasi dan konfigurasi server Apache dan php
Instalasi dan konfigurasi server Apache
Server HTTP Apache adalah perangkat lunak modular, dan administrator dapat menambah atau mengurangi fungsi dengan memilih modul yang disertakan dalam server. Modul dapat dimasukkan secara statis ke dalam biner httpd pada waktu kompilasi, atau modul dapat dikompilasi menjadi objek bersama dinamis (DSO) yang tidak bergantung pada biner httpd. Modul DSO dapat dikompilasi bersama dengan server atau secara terpisah menggunakan alat ekstensi Apache (apxs). Pembebanan dinamis lebih fleksibel dibandingkan dengan pembebanan statis. Untuk menggunakan fitur pemuatan dinamis, server Apache harus dikompilasi sebagai objek bersama dinamis (DSO, Dynamic Shared Object). Dukungan Apache untuk DSO didasarkan pada modul yang disebut mod_so. Untuk mendukung pemuatan dinamis, modul ini harus dikompilasi secara statis ke dalam kernel terlebih dahulu. Oleh karena itu, Anda dapat menggunakan modul mod_so untuk mendeteksi apakah Apache yang diinstal mendukung DSO:
Listing 9. deteksi modul mod_so
# $APACHEHOME/bin/httpd –l
Dikompilasi dalam modul:
core.c
prefork.c
http_core.c
mod_so.c
Jika ada mod_so.c pada nama modul yang tercantum, berarti Apache yang diinstal sudah mendukung DSO, jika tidak, Apache perlu dikompilasi ulang. Proses instalasi dan konfigurasi Apache sangat sederhana, sebagai berikut:
1. Unduh httpd-2.0.54.tar.gz ( http://httpd.apache.org/ ) dan ekstrak ke direktori yang ditentukan
# tar zxvf httpd-2.0.54.tar.gz && cd httpd-2.0.54
2 . Kompilasi dan instal apache
# ./configure --prefix=/usr/local/apache2 --enable-module=so
-- prefix menentukan jalur instalasi apache
--enable-module=so kompilasi modul so (mod_so) secara statis ke dalam server apache Kernel untuk mendukung mode DSO
# make && make install
3. Mulai apache
# ln -s /usr/local/apache2/bin/apachectl /sbin/apachectl
# apachectl memulai
proses instalasi dan konfigurasi php
selama instalasi dan konfigurasi php , ada dua aspek yang perlu diperhatikan, yang pertama adalah kombinasi server http php dan Apache, dan yang kedua adalah koneksi antara sumber data php dan db2.
Saat menginstal PHP di lingkungan Apache, ada tiga mode instalasi yang dapat dipilih: modul statis, modul dinamis (DSO) dan CGI. Disarankan untuk menginstal dalam mode DSO. Pemeliharaan dan peningkatan mode ini relatif sederhana. Modul fungsional baru dapat ditambahkan secara dinamis sesuai kebutuhan tanpa mengkompilasi ulang Apache. Tentu saja, hal ini juga akan menyebabkan penurunan efisiensi pengoperasian. Server Apache akan menjadi sekitar 20% lebih lambat saat memulai.
Ada juga tiga cara bagi PHP untuk terhubung ke sumber data DB2: driver ODBC terpadu, IBM_DB2 dan PDO (objek data php).
◆Driver ODBC terpadu adalah salah satu modul ekstensi paling awal bagi PHP untuk mengakses database. Dimulai dengan DB2 v7.2, driver ODBC terpadu mendukung akses ke sana. Driver ODBC terpadu menyediakan antarmuka akses data terpadu untuk semua database yang mendukung ODBC. Untuk memastikan keumuman antarmuka, driver ODBC terpadu tidak melakukan optimasi khusus untuk berbagai jenis database.
◆IBM_DB2 adalah modul ekstensi yang dikembangkan dan dikelola oleh IBM untuk berinteraksi dengan sumber data DB2. Modul ini mematuhi perjanjian sumber terbuka. Untuk aplikasi berbasis DB2 UDB dan PHP 4.x, IBM_DB2 adalah pilihan terbaik karena dioptimalkan untuk DB2 UDB dan menghindari beberapa masalah kompatibilitas yang mungkin ada saat menggunakan driver ODBC terpadu. Namun, IBM_DB2 hanya mendukung DB2 v8.2.2 atau lebih tinggi.
◆PDO adalah metode akses database baru yang akan didukung di PHP 5.x. Dalam artikel ini, karena versi database sumber dan database target keduanya adalah DB2 v8.1, dan lingkungan sumber menggunakan driver ODBC terpadu, untuk menjaga konsistensi konfigurasi lingkungan, driver ODBC terpadu masih dipilih sebagai antarmuka akses antara PHP dan sumber data.
Proses instalasi dan konfigurasi PHP adalah sebagai berikut:
1. Unduh dan unzip php-4.4.4.tar.gz ( http://www.php.net/ )
# tar zxvf php-4.4.4.tar.gz
# cd php-4.4.4
2. Konfigurasikan dan kompilasi kode sumber php
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --without-mysql --with-ibm-db2=/home/reportdb/ sqllib
--prefix menentukan jalur instalasi php
--with-apxs2 menentukan jalur program apxs (apxs adalah skrip Perl, yang dapat mengkompilasi modul php menjadi file DSO tanpa kode sumber Apache)
--dengan- ibm-db2 menentukan driver ODBC terpadu Sebagai antarmuka akses antara php dan sumber data, dan menentukan direktori instalasi instans DB2.
--without-mysql Abaikan konfigurasi instalasi default database mysql
#cp php.ini-dist /usr/local/lib
Salin php.ini-dist yang ada di file instalasi php ke /usr/local/lib sebagai konfigurasi php dokumen.
# buat && buat instal
# cp php.ini-dist /usr/local/lib/php.ini
3. Edit file /usr/local/apache2/conf/httpd.conf dan lakukan perubahan berikut:
Atur direktori home file html: direktori home yang digunakan untuk menyimpan file web yang diperlukan untuk situs
web /www/"
menetapkan default untuk apache Urutan nama file: apache akan mencari file beranda default yang didukung
DirectoryIndex Index.php Index.html.var Index.cgi Index.html
di jalur saat ini secara berurutan dari depan ke belakang.Tambahkan akhiran file interpretasi php: untuk semua kebutuhan Untuk jenis file yang ditafsirkan oleh PHP, Anda perlu menambahkan akhiran ke item konfigurasi AddType
AddType application/x-httpd-php .php .inc
untuk memuat modul PHP: memuat perpustakaan libphp4 .so di bawah direktori modul modul, dan tambahkan nama struktur modul php4_module ke
LoadModule php4_module modul/libphp4.so
dalam daftar modul aktif4. Edit file konfigurasi /usr/local/apache2/bin/apachectl:
Untuk memastikan konektivitas dengan database DB2, saat memulai layanan Apache, Anda perlu menginisialisasi lingkungan instans klien DB2 secara bersamaan. Saat membuat instans DB2, DB2 akan secara otomatis membuat skrip shell untuk menginisialisasi lingkungan instans DB2 yang diperlukan. Sebut saja secara langsung:
if
test -f /home/reportdb/sqllib/db2profile
;
5. Kemudian, restart server Apache untuk mewarisi perubahan konfigurasi di atas.
# apachectl mulai ulang
6. Tulis file pengujian PHP test.php dengan konten berikut:
echo phpinfo();
?>
Simpan di direktori utama file html Apache /home/web/www, dan akses halaman web melalui browser. Jika dapat diakses secara normal (seperti gambar di bawah), pekerjaan konfigurasi selesai.
Kesimpulan
Artikel ini terutama membahas proses migrasi lintas platform dari sistem aplikasi berbasis PHP dan DB2 UDB. Artikel ini merinci migrasi lintas platform dari sistem database DB2 serta proses instalasi dan konfigurasi server Apache dan sistem aplikasi PHP. Berdasarkan pengalaman praktis, solusi yang layak diberikan untuk masalah migrasi lintas platform sistem database DB2. Artikel ini juga memberikan penjelasan rinci dan solusi terkait masalah yang mungkin timbul selama proses transplantasi. Meskipun artikel ini hanya membahas proses transplantasi sistem aplikasi dari sistem AIX ke sistem LINUX, pembaca juga dapat merujuk pada proses transplantasi spesifik dan menerapkannya pada platform lain.