Oracle-oracle單向複製
1.軟件環境
Linux centos5.6 32位
Oracle 10g 32位
Goldengate for oracle 10g 32位
源庫和目標庫都是Oracle,實現的是單向複製
2.goldengate的安裝
ogg安裝需在源數據庫和目標數據庫服務器上均安裝ogg軟件,步驟如下:
1、 將壓縮包解壓到系統目錄/opt/ogg (該路徑可以根據需要自行選擇)
2、 設置Oracle的環境變量
export LD_LIBRARY_PATH=/opt/ogg:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
3、 進入/oracle/ogg目錄,運行./ggsci,進入ogg管理控制檯
在運行./ggsci之前一定要配置好LD_LIBRARY_PATH不然會報如下錯誤:
------------------------------------------------------------------------------------------------------------
./ggsci: error while loading shared libraries: libnnz10.so: cannot open shared object file: No such file or directory
------------------------------------------------------------------------------------------------------------
4、 在ogg控制檯輸入命令: create subdirs ,讓ogg創建其需要用到的目錄
5、 手工在ogg目錄下創建discard文件夾,mkdir discard
6、 在ORACLE中創建ogg專屬用戶
[oracle@local ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> create user ogg identified by ogg;
SQL> grant connect,resource to ogg;
SQL> grant unlimited tablespace to ogg;
SQL> grant execute on utl_file to ogg;
或者是直接grant dba to ogg
7、 爲新創建的ogg用戶執行配置腳本
在ogg的安裝目錄下登陸sqlplus,使用sys登陸sqlplus,然後執行如下配置
[oracle@local ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> @marker_setup.sql
SQL> @ddl_setup.sql;
這個sql執行前要先關閉 recyclebin這個初始化參數,然後重啓數據庫。
SQL> @role_setup.sql;
SQL> grant GGS_GGSUSER_ROLE to ogg;
SQL> @ddl_enable.sql;
進入ogg控制檯,測試用戶是否創建成功
GGSCI (local) 1> dblogin userid ogg
Password: ogg
Successfully logged into database.
3.源服務器配置
1、開啓ORACLE歸檔模式,設置日誌模式
[oracle@local ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database force logging;
SQL> alter database add supplemental log data;
SQL> alter database open;
2、登陸ogg控制檯,設置需要進行同步的oracle表
> dblogin userid ogg
> add trandata tb_student.
3、配置manager
> edit param mgr
PORT 7809
> info all(查看當前mgr狀態)
> start manager(啓動manager,啓動完後可以用info all再次查看狀態)
4、 添加一個ogg extract進程,用於抽取源服務器數據
> add extract E001, tranlog, begin now
> add rmttrail /opt/ogg/dirdat/ra, EXTRACT E001,MEGABYTES 100
> edit params E001
extract E001
userid ogg, password s123456
rmthost 192.168.1.113 , mgrport 7809
rmttrail /opt/ogg/dirdat/ra
table ogg.tb_student;
配置完成後可以通過info all查看到新添加的extract的狀態
5、啓動ogg extract命令
4.目標服務器配置
1.登陸ogg控制檯
> dblogin userid ogg password s123456
2.配置ogg manager&啓動manager(配置界面操作類似vi)
> edit param mgr
PORT 7809
> info all(查看當前mgr狀態)
3.在目標庫端創建檢查點表:
> edit params ./GLOBAL
CHECKPOINTTABLE ogg.checkpoint
> dblogin userid ogg passwork s123456
> add checkpointtable ogg.checkpoint
4.添加一個replicat進程
> ADD REPLICAT R001, EXTTRAIL /opt/ogg/dirdat/ra CHECKPOINTTABLE ogg.checkpoint
> edit params R001
REPLICAT R001
ASSUMETARGETDEFS
USERID ogg, PASSWORD s123456
DISCARDFILE /opt/ogg/dirrpt/R002.DSC, PURGE
MAP ogg.tb_student, TARGET ogg.tb_student;
配置完成後可以通過info all查看到新添加的extract的狀態
5.啓動ogg manager & replicat命令
GGSCI (local) 1> start manager
GGSCI (local) 1> start replicat r001