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_stu.
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_stu;
配置完成后可以通过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_stu;
配置完成后可以通过info all查看到新添加的extract的状态
5.启动ogg manager & replicat命令
GGSCI (local) 1> start manager
GGSCI (local) 1> start replicat r001