基於DB2及PHP的應用系統跨平台遷移詳細步驟(一)

來源:互聯網
上載者:User

本文主要介紹如何完成基於 DB2 的 PHP 應用系統從 AIX 平台到 Linux 平台的移植過程。文中包含了底層的 DB2 資料庫移植、上層的 PHP 應用系統移植的詳細步驟以及移植過程中可能遇到的問題和解決方案。

任務概述

系統遷移的工作主要分為以下幾個方面:

1.DB2 資料庫系統的跨平台遷移

2.Apache 伺服器與 php 應用系統的安裝和配置

下面我們就分 2 個方面分別介紹遷移和配置的具體步驟。

DB2 資料庫系統的跨平台遷移

資料庫環境

源環境:AIX+DB2 v8.1

目標環境:Linux+DB2 v8.1

其中來源資料庫中包含了 2 個資料庫 Instance:SRCDB1 與 SRCDB2。在 SRCDB1/SRCDB2 資料庫中,均包含了上百張資料庫表,並有很多的索引、外鍵約束、觸發器、預存程序以及一些含有自增欄位的表(含有 GENERATED ALWAYS AS IDENTITY 定義欄位的表)。更為困難的是,我們並沒有關於這些資料庫物件的準確建立指令碼。

遷移方案的選擇

如果遷移的源系統與目的系統屬於同一類型作業系統,例如 Linux 之間的遷移,或者 AIX 系統之間的遷移,則情況相對簡單,DB2 本身已經提供相關的工具 + 生產力來實現這種同類型平台之間的資料庫移植,如: BACKUP 和 RESTORE 命令。當然,根據不同的情況還需要對工具 + 生產力所提供的參數有比較清楚的瞭解,譬如源系統與目標系統使用不同的資料表空間,就會涉及到資料表空間重新導向的問題。由於本文的重點在於跨平台的移植,這種方案顯然無法滿足需求,在此不再熬述。

那麼,如何處理跨平台的資料庫遷移問題?是不是可以使用工具 + 生產力 db2move 呢? db2move 只能遷移表中的資料,而無法對索引、外鍵約束、觸發器和預存程序等資料庫物件也實現遷移操作,而且對於包含自增欄位資料的表來說,db2move 也有一定的限制。並且 db2move 只能把資料匯入到已存在的資料庫的表中,無法顯示指定資料表空間的位置。由於在資料庫的系統遷移過程中,不僅需要遷移表中的資料,還有索引、外鍵約束、觸發器和預存程序等資料庫物件,與本文所選方案相比,還是後者更具優勢。可以將 db2move 僅作為遷移表資料的一種備用方案。

而對於 export 和 import 來說,一次只能針對一張表進行匯出匯入操作,並且需要手動輸入 export 和 import 的命令以及需要匯入匯出的資料表名,在資料庫表的數量不多的情況下,這種方案也許還可以考慮,但也不並是最佳的方案。而在資料庫中表數量眾多的情況下,這種做法則是基本不現實的,而且 import 命令並不能保證自增欄位的資料與原來的表資料保持一致。

本文根據 DB2 對資料庫物件的處理機制,採用將 db2look 與 DDL、DML 指令碼相結合的方式,並針對原資料庫中的觸發器、預存程序以及外鍵約束等分別處理,給出了一種跨平台 DB2 資料庫系統移植的可行方案。

下面我們以 SRCDB1 為例介紹一下這種情況下的資料庫整體遷移過程。SRCDB1 資料庫中有 SRCDB1、ASN、DB2DBG 和 SQLDBA 這四個資料庫模式。假設 SRCDB1 資料庫的使用者名稱為 user_srcdb1,密碼:pw_srcdb1。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.