[PostgreSQL/PPAS] Ora2Pg - Migrates Oracle Databases to PostgreSQL

1. 下載所需檔案
    a.Oracle:下載OCI 的base及sdk(這裡)
    b.Perl:下載DBD:Oracle(這裡)
    c.Ora2Pg:下載ora2pg source (這裡)

2. 安裝OCI
    # rpm -Uvh oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm
    # rpm -Uvh oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm
    # vi /etc/ld.so.conf.d/oci.conf
============oci.conf start================
/usr/lib/oracle/12.1/client64/lib
============oci.conf  EOF================
    # ldconfig -v

3. 安裝Perl DBD:Oracle模組
   # tar -zxvf DBD-Oracle-1.68.tar.gz
   # cd DBD-Oracle-1.6
   # export ORACLE_HOME=/usr/lib/oracle/12.1/client64
   # export PATH=$PATH:$ORACLE_HOME/bin
   # export LD_LIBRARY_PATH=$ORACLE_HOME/lib
   # perl Makefile.PL -V 12.1.0
   # make install

4. 安裝Ora2Pg
   # tar -jxvf ora2pg-12.0.tar.bz2
   # cd ora2pg-12.0
   # perl Makefile.PL
   # make && make install

5.定義轉換時所需的workspace
./create_workspace.sh

6.組態資料庫連線
$ sudo vim mig_config/ora2pg.conf
# modify the following lines
ORACLE_HOME     /home/cenoq/app/cenoq/product/11.2.0/client_1
ORACLE_DSN      dbi:Oracle:host=172.16.1.129;sid=db1;port=1521
ORACLE_USER     csapi
ORACLE_PWD      csapi

ALLOW   CS_*

7.進行資料庫轉出
$ ora2pg -t TABLE -o table.sql -b mig_table/ -c mig_config/ora2pg.conf -l exp_table.log
$ ora2pg -t COPY -o data.sql -b mig_data/ -c mig_config/ora2pg.conf -l exp_table.log
$ ora2pg -t SEQUENCE -o sequence.sql -b mig_sequence/ -c mig_config/ora2pg.conf -l exp_table.log

8.檢視轉出結果
$ vim exp_xxx.log
$ vim table.sql
$ vim data.sql
$ vim sequence.sql

9.進行資料庫匯入
$ psql -U csapi -h localhost -p 5555 -d csapi -f table.sql
$ psql -U csapi -h localhost -p 5555 -d csapi -f data.sql
$ psql -U csapi -h localhost -p 5555 -d csapi -f sequence.sql

10.檢視匯入結果
$ psql -U csapi -h localhost -p 5555 -d csapi
csapi# select count(1) from cs_*;

沒有留言:

張貼留言