GGS: Sybase to Oracle
Step 1: Start the GGSCI on Source and Target
| Source | Target |
|
Oracle GoldenGate Command Interpreter for Sybase |
Oracle GoldenGate Command Interpreter for Oracle |
Tip: Should I use the same version of Oracle GoldenGate on the Source and Target?
Yes, it is recommended to use the same version on both the source and target. However, If the Oracle GoldenGate versions on the source and target database are different, it is a good practice to use the RELEASE option of the EXTFILE/RMTFILE and EXTTRAIL/RMTTRAIL parameter, especially if you have a lower version of Oracle GoldenGate on the target.
Example: EXTFILE ./dirdat/em, FORMAT RELEASE 11.2
1. Use a defgen paramfile with NOEXTATTR option, or
2. Generate definition file with the same OGG version as the OGG target site version.
$ ./defgen paramfile ./dirprm/defgen.prm reportfile ./dirrpt/defgen.31Jul2013.rptNOEXTATTR
We then need to modify and check the Oracle GoldenGate Manager parameter file to prepare the replication. The following table shows the Oracle GoldenGate Manager setup on the source and target system:
| Source | Target |
|
export DSQUERY=ASE1 port 15021 GGSCI> start mgr |
GGSCI> edit param mgr
port 15021 GGSCI> start mgr |
Step 2: Set up the Source and Target Database
创建city表
| Source (Sybase ASE 16) | Target (Oracle Database 11.2.0.1) |
|
isql -Uogguser -Pogguser -SASE1 create table city (id int, name varchar(10) insert into city values (1,'New York') > select count(1) from city |
connect swat/swat create table city (id int, name varchar2(10); insert into city values (1,'New York'); > select count(1) from city; |
Step 3: Set up the Secondary Truncation Point in Sybase Transaction Log
When using Oracle GoldenGate for Sybase, you need to setup the secondary truncation point.This is because Oracle GoldenGate uses the secondary truncation point to identify data that remains to be processed.
To set up the secondary truncation point, you need to login Sybase database with a user who hassa_role privilege and run the “dbcc settrunc(‘ltm’,valid)” command. The detailed steps are shown as follows:
Source
Shell> isql -Uogguser -Pogguser -SASE1
1> use pubs2
2> go
1> dbcc settrunc('ltm', 'valid')
2> go
ltm_truncpage ltm_trunc_state db_rep_stat gen_id dbid dbname lti_version
------------- --------------- ----------- ----------- ------ ------------ -----------
524307 1 1 0 5 sydatabase 0
Step 4: Prepare the Source Database and Target Database
Connect to the source DB and add trandata. In addition, confirm that Oracle GoldenGate user can access on the target database shown as follows:
| Source | Target |
|
GGSCI >dblogin sourcedb pubs2@ASE1 userid ogguser password ogguser GGSCI > info trandata dbo.city Transaction logging disabled for table dbo.city GGSCI > add trandata dbo.city Transaction logging enabled for table suser.regions. |
GGSCI > dblogin userid swat, password swat GGSCI > list table swat.city |
Why I get the "ERROR: Cannot use database syd_database. error, no additional information available." error?
Answer: The problem is the parsing issue in Oracle GoldenGate 11.2.1 version if the database has special characters such as “_” in the database and schema name. The current solution is to remove the special characters.
Because we are working on heterogeneous database replication, you have to create the database metadata definition file on the source system and copy the generated definition file to the target.
| Source | Target |
|
emaster.prm: extract emaster sourcedb pubs2@ASE1 userid ogguser password ogguser statoptions resetreportstats report at 00:01 reportcount every 60 seconds, rate table dbo.city; |
rmaster.prm:
replicat rmaster sourcedefs ./dirout/city.def discardfile ./dirrpt/rmaster.dsc, purge map dbo.city, target swat.city; |
|
Adding the Extract: GGSCI> add extract emaster, tranlog, begin now GGSCI> add exttrail ./dirdat/em, extract emaster, megabytes 50 |
Adding the Replicat: GGSCI >edit param ./GLOBALS GGSCHEMA goldengate CHECKPOINTTABLE goldengate.checkpoint GGSCI>ADD CHECKPOINTTABLE goldengate.checkpointtable GGSCI>add replicat rmaster, exttrail ./dirdat/pm |
|
pmaster.prm: extract pmaster rmttrail ./dirdat/pm passthru table dbo.city; |
|
|
Adding the Pump: GGSCI > add extract pmaster, exttrailsource ./dirdat/em EXTRACT added. GGSCI > add rmttrail ./dirdat/pm, extract pmaster, megabytes 50 RMTTRAIL added. |
|
|
Insert a New Record in Sybase 1> Insert into regions values(5,'Antarctica') 2> go (1 row affected) |
SQL> select * from regions; ---- ---------------------- 1 Europe 2 Americas 3 Asia 4 Middle East and Africa 5 Antarctica |
|
Delete a Record in Sybase 1> delete from regions where region_id=5 2> go (1 row affected) |
SQL> select * from regions; ---- ---------------------- 1 Europe 2 Americas 3 Asia 4 Middle East and Africa |
Now, we have completed the basic setups of a one-way replication from Sybase ASE database to Oracle Database.Feel free to let me know if you have any questions or comments on the tips I provided above.
Installing Oracle GoldenGate for Sybase:
Step 1: Download Oracle GoldenGate for Sybase
Step 2: Unzip the Oracle GoldenGate zip File.
Unzip the downloaded file with the following commands:
unzip V32422-01.zip
tar xvf ggs_Linux_x86_sybase15_5_32bit.tar
Check the shared library path:
env |grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/home/sybase/ASE-15_0/lib:/home/sybase/DataAccess/ODBC/lib:
/home/sybase/OCS-15_0/lib:/home/sybase/OCS-15_0/lib3p:/home/sybase/ASE-15_0/lib:
/home/sybase/DataAccess/ODBC/lib:/home/sybase/OCS-15_0/lib:
/home/sybase/OCS-15_0/lib3p:
Add the OGG installation path to the path (PATH) and shared library path (LD_LIBRARY_PATH) environment variables:
export PATH=/home/ogg_for_sybase:$PATH
export LD_LIBRARY_PATH=/home/ogg_for_sybase:$LD_LIBRARY_PATH
Note:
LD_LIBRARY_PATH=
/opt/sybase/ASE-16_0/lib:
/opt/sybase/OCS-16_0/lib:
/opt/sybase/OCS-16_0/lib3p:
/opt/sybase/OCS-16_0/lib3p64:
/opt/sybase/DataAccess/ODBC/lib:
/opt/sybase/DataAccess64/ODBC/lib:
Step 3: Create Oracle GoldenGate
Run the ggsci command in the folder where Oracle GoldenGate files are unzipped:
./ggsci
GGSCI> create subdirs
...
GGSCI>Exit
Step 4: Create Database User in Sybase for Replication.
In the Sybase database, create a database user for Oracle GoldenGate, and grant the sa_role and thereplication_role to that user:
Isql –Usa –P –SASE1
1> sp_addlogin ogguser,ogguser
2> go
Password correctly set.
Account unlocked.
New login created.
(return status = 0)
1> sp_adduser ogguser
2> go
New user added.
(return status = 0)
1> sp_role 'grant', replication_role, ogguser
2> go
Authorization updated.
(return status = 0) 1> sp_role 'grant', sa_role, ogguser
2> go
Authorization updated.
(return status = 0)
Step 5: Start GGSCI
export DSQUERY=ASE1
>./ggsci
GGSCI> edit param mgr
port 15002
GGSCI> start mgr
GGSCI> info mgr
Manager is running (IP port syslab.us.oracle.com.15002)
Tip:Why do I get the "unrecognized parameter (SOURCEDB)" error?
Make sure you set the DSQUERY environment variable, you can also include the source DB server in the dblogin command shown as follows:
dblogin sourcedb sydatabase@ASE1 userid ogguser password ogguser
port 15002
GGSCI> start mgr
GGSCI> info mgr
Manager is running (IP port syslab.us.oracle.com.15002)
Make sure you set the DSQUERY environment variable, you can also include the source DB server in the dblogin command shown as follows:
GGS: Sybase to Oracle的更多相关文章
- sql: sybase与oracle中insert into select和select into的用法
1. sybase与oracle中insert into select和select into的用法 http://wjlvivid.iteye.com/blog/1921679 Sybase 一.首 ...
- sql: sybase 和 oracle 比较
1. sybase 和 oracle 比较 http://blog.itpub.net/14067/viewspace-1030014/ Oracle采用多线索多进程体系结构 Sybase采用单进程多 ...
- Sybase to Oracle Golden Gate
Sybase 安装Golden Gate: 下载,然后create subdirs.并且在两端配置好mgr,设置好端口7809 创建golden gate用户ogguser,并且给它授权sa和repl ...
- sybase数据库和oracle数据库中字段中含有换行符的解决办法
最近在做数据库从sybase到oracle的迁移工作,sybase数据库表bcp导出后,通过sqlldr导入到oracle数据库,然后oracle数据库通过spool按照sybase数据库bcp的格式 ...
- 76 道 Oracle Goldengate 面试问题
基础 12c新特性 性能 Troubleshoot 其它 1. Oracle Goldengate 支持部署到哪些拓扑? GoldenGate supports the following topol ...
- Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理
1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...
- oracle日记
win7旗舰版安装oracle11g 64位用sql plus可以登录 但用pl/sql dev报错ORA-12560 小型数据库:access.foxbase 中型数据库:mysql.sqlserv ...
- [置顶] Oracle 11g ASM:如何在 ASMCMD 命令行工具中创建 Oracle ACFS 文件系统
实验环境:Oracle 11g R2 RAC (11.2.0.3.5) Oracle Enterprise Linux 5.6 x86 1.创建 ASM 磁盘组 在两节点 ...
- Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 3
DDL Setup Steps SQL> grant execute on utl_file to ggs; Grant succeeded. Create GLOBALS file [orac ...
随机推荐
- Linux与Windows文件传输实现
Linux与Windows文件传输实现 一.概述 在学习Linux服务器的时候,我们有时需要与Windows下的文件进行交互传输,这个时候我们需要如何实现呢?今天是我第一次在博客园上写文章,此时正值学 ...
- Umbraco文档类型定义多个template
利用这个可以同时写PC端和手机端的网站, 在Template中,建立手机端的模板: 在文档类型中,同时选择两个模板,在浏览的时候在URL后加上Template的名称 + .aspx 就可以浏览到你写的 ...
- Python练习册--PIL处理图片之加水印
背景 最近在看到了Python 练习册,每天一个小程序 这个项目,非常有趣,也比较实用. 晚上看了这第000题,关于Python图片处理: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似 ...
- Handler发送Message
用Handler更新UI package activity.cyq.handlermessage; import android.content.res.Resources; import andro ...
- How Old Are You?
今天要分享的是一个测年龄的小应用,就类似是http://how-old.net官网测年龄的功能一样,我的也是这样一个功能,细节捕获当然没有how-old多啦,不过这些主要是基于一个第三方的jar包,我 ...
- Android 图片开发内幕系列第一篇
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很 ...
- js格式化日期,获取当月的第一天,与最后一天.
//格式化日期 function setDate(date){ y=date.getFullYear(); m=date.getMonth()+1; d=date.getDate(); ...
- Lambda表达式的本质是匿名函数
1.委托的简介: 委托可以简单的理解为方法的列表,添加的方法的参数类型,个数,顺序必须和委托一致, 也就是说委托起到了托管方法的作用,并且约束了要调用的方法. //1声明委托 public deleg ...
- WCF之错误和异常
CLR异常无法跨越服务边界,所有的异常都被封装(序列化)为SOAP Fault,可以让所有平台的用户接收到. SOAP1.1只有Body.1.2中含有Header+Body. 未捕获异常 异常会从逻辑 ...
- Linux下动态共享库加载及使用详解【转】
原文地址:http://blog.chinaunix.net/uid-29025972-id-3855500.html 对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while l ...