[PostgreSQL][Slony]如何在Slony環境下實現Partitionting

Slony-I的官方文件內有寫到:

5.3 Partitioning Support:
Slony-I does not directly provide support for the PostgreSQL methodology of partitioning via inheritance, but it does not, by the same token, prevent the Gentle User from using that sort of replication scheme, and then replicating the underlying tables.

那如何完成slony的自動化Table Partition就是本文的課題啦~

1. 環境準備
    a). 準備兩個Linux VM(這裡用CentOS),ip各為192.168.38.25~26。
    b). 先利用這章建立slony的環境,確保slony有正常運作。
    c). 安裝PLSH extension (不知怎裝看這邊喔!!)。

2. 步驟
    a). Create Database 在slony的兩個節點。
        SQL> CREATE DATABASE demo WITH ENCODING='UTF8' OWNER=slony;
    b). 建立所需Function

[PPAS] Migration Studio 8.4 by EnterpriseDB - How to ?

PPAS 9.1以後Migration ToolKIt 就只有command line下的runMTK.sh,沒有像8.4時預設有一個Migration Studio可以使用,其實EnterpriseDB有Open Migration Studio的Source Code在(按我下載)。這裡記錄下如何在CentOS 6.x下讓它動起來。

1. 安裝ANT (預設應該有OpenJDK,沒有請Google囉)
# yum install ant

2. copy相關jdbc jar file到jdk的jre/lib下,需要oracle migrate到EDB PPAS就需要oracle jdbc jar file,其它的database請自行複製相關JDBC DRIVER。
# cp ojdbc14.jar /usr/lib/jvm/jre/lib/ext

3. Download Source Code:
到這個網址http://www.enterprisedb.com/downloads/component-source-code 下載Migration Studio 8.4 by EnterpriseDB,你會得到一個MigrationStudio-84410.tar.bz2壓縮檔。

4. 解壓該壓縮檔:
# tar -jxvf MigrationStudio-84410.tar.bz2

5. 修改build.xml中的 edb-debugger相關
# cd MigrationStudio-84410
# vi build.xml ,刪除以下幾行(如不知該如何修改,請點我)

[RHCS] 以CentOS 6 實作 HA

1.安裝環境:
這篇文章主要介紹EnterpriseDB的cluster架構,整個RHCS由三台Server組成,分別有兩台EDB資料庫及一台iSCSI Server,在這個架構下任一台EDB資料庫crash都會由另一台接手,以確保資料庫可以不間斷的運行。


2. Install Preparation
三台CentOS 6.3的VM(一台當iSCSI主機,另兩台為Cluster的DB),各組態如下所示。

*iSCSI在前一篇文有介紹過了,這裡列出指令,但不多加贅述。
*EDB的安裝與設定也請自行處理,這裡主要針對RHCS。


[iSCSI] 建立iSCSI target / initiator on CentOS 6.x


1. 先準備兩台CentOS 6.x,vm配置如下:
  • iSCSIServer (192.168.38.10) - CentOS 6.4 
  • HA1 (192.168.38.11) - CentOS 6.4 
2. 於iSCSIServer安裝設定 iSCSI target
  • yum install scsi-target-utils -y
  • 安裝後可參考下列的組態跟可執行程式
         /etc/tgt/targets.conf:主要設定檔,設定要分享的磁碟格式與哪幾顆;
         /usr/sbin/tgt-admin:線上查詢、刪除 target 等功能的設定工具;
         /usr/sbin/tgt-setup-lun:建立 target 以及設定分享的磁碟與可使用的用戶端等工具軟體。
         /usr/sbin/tgtadm:手動直接管理的管理員工具 (可使用設定檔取代);
         /usr/sbin/tgtd:主要提供 iSCSI target 服務的主程式;
         /usr/sbin/tgtimg:建置預計分享的映像檔裝置的工具 (以映像檔模擬磁碟);
         (參考鳥哥的Linux 私房菜)

[PPAS] 清除xDB所有設定

EnterpriseDB - xDB架構上是有一台Publication Server及一台Subscription Server組成,其背後有一台Database在維護這些資料,常有時會有設定錯後,導致再也無法加DB or Publication / Subscription,然後出現

Publication control schema does not exist on target database

這時我們就得清除所有的xDB metadata才能再讓xDB重振雄風 (誤...

以下記錄清除的步驟:
1.Stop Publication / Subscription Server
     -#/etc/init.d/edb-xdbpubserver stop
     -#/etc/init.d/edb-xdbsubserver stop

2.確認publication 的 metadata database objects

    -for Oracle
       SQL> CONNECT pubuser/password
            SQL> SELECT table_name FROM user_tables;
            SQL> SELECT sequence_name FROM user_sequences;
            SQL> SELECT DISTINCT name FROM user_source WHERE type = 'PACKAGE';
            SQL> SELECT trigger_name FROM user_triggers;
        -synchronization
            會多出RRST_開頭的Table
            會多出RRPI_, RRPU_及RRPD_開頭的Trigger, for每個repl的table.
        -snapshot
            就沒有RRST_開頭的Table及沒有任何Trigger

    -for EDB
        會產生_edb_replicator_pub這個schema。如下圖

3.刪除這些Publication Database Objects
    -for Oracle
           SQL> CONNECT system/password
           SQL> DROP USER pubuser CASCADE;

    -for EDB
            postgres=# \c edb postgres
            edb=# DROP SCHEMA _edb_replicator_pub CASCADE;

[PPAS] xDB Configuration - xDB 組態

xDB Setup
1. 先確認所有service是否running…






2.選xDB Replication Console

3.Console的使用者介面














[PPAS] xDB Installation Guide - xDB 安裝說明

xDB Installation Guide
1.點選StackBuilder Plus (或直接執行edb-xdb.bin,跳到第7步)










2.選擇資料庫















3.選擇Postgres Plus xDB Replication Server