标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,682)
- DB2 (22)
- MySQL (73)
- Oracle (1,544)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (67)
- Oracle Bug (8)
- Oracle RAC (53)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (565)
- Oracle安装升级 (92)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (79)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- 断电引起的ORA-08102: 未找到索引关键字, 对象号 39故障处理
- ORA-00227: corrupt block detected in control file
- 手工删除19c rac
- 解决oracle数据文件路径有回车故障
- .wstop扩展名勒索数据库恢复
- Oracle Recovery Tools工具一键解决ORA-00376 ORA-01110故障(文件offline)
- OGG-02771 Input trail file format RELEASE 19.1 is different from previous trail file form at RELEASE 11.2.
- OGG-02246 Source redo compatibility level 19.0.0 requires trail FORMAT 12.2 or higher
- GoldenGate 19安装和打patch
- dd破坏asm磁盘头恢复
- 删除asmlib磁盘导致磁盘组故障恢复
- Kylin Linux 安装19c
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
分类目录归档:GoldenGate
Goldengate 配置oracle to mysql
以前oracle to mysql试验总是有乱码问题不能解决,后来和同事交流中,他说oracle使用ogg的11g版本,mysql使用ogg的10g版本可以解决乱码问题,开始我还是怀疑,因为想新的版本都不行,难道老版本就可以解决这个问题吗?抱着试试看的态度,做了个试验,尽然成功了,把试验的相关情况记录下来
mysql参数配置(cat /etc/my.cnf):
[client]
default-character-set = gbk
[mysqld]
lower_case_table_names=1–表名不区分大小写(省的在repl进程中因为大小写的问题导致不能捕获数据)
character-set-server = gbk
表/列编码:均为gbk
Note:
1、因为mysql是target端,所以对于log-bin/binlog_format参数无要求
2、通过以上设置确保mysql的所有相关编码均为gbk
系统编码配置(cat /etc/sysconfig/i18n):
source:
LANG=”zh_CN.GBK”
SUPPORTED=”zh_CN.GBK:zh_CN:zh”
SYSFONT=”latarcyrheb-sun16″
target:
LANG=”zh_CN.GBK”
SYSFONT=”latarcyrheb-sun16″
Note:是的系统编码和mysql编码相同
OGG配置过程:
source端:
add extract ext-all,tranlog,begin now ADD EXTTRAIL /opt/OGG/dirdat/extract/AL, EXTRACT ext-all edit params ext-all extract ext-all SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) userid is1ogg,password passw0rd exttrail /opt/OGG/dirdat/extract/AL discardfile /opt/OGG/discard/ext-all.txt, append, megabytes 100 DDL INCLUDE MAPPED OPTYPE alter OBJNAME ECP.TAB* TABLE ecp.*; add EXTRACT p-air, EXTTRAILSOURCE /opt/OGG/dirdat/extract/AL, BEGIN now add rmttrail /opt/OGG/dirdat/rl extract p-air edit params p-air extract p-air SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) userid is1ogg,password passw0rd RMTHOST 192.168.1.4,MGRPORT 7809,TCPBUFSIZE 100000,TCPFLUSHBYTES 300000 rmttrail /opt/OGG/dirdat/rl discardfile /opt/OGG/discard/p-air.txt, append, megabytes 100 TABLE ecp.*;
target端:
add replicat repl, exttrail /opt/OGG/dirdat/rl,nodbcheckpoint edit params repl replicat repl DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3306 TARGETDB ecp,userid root,password xifenfei assumetargetdefs reperror default,discard discardfile /tmp/mysql.dsc,append,megabytes 100 MAP ECP.TAB_UUM_DEPT, TARGET ecp.tab_uum_dept; MAP ECP.TAB_UUM_DEPT_LEADER, TARGET ecp.tab_uum_dept_leader;
发表在 GoldenGate
8 条评论
异构数据库初始化大字段处理
一、source端
SOURCEISTABLE SOURCEDB oracle RMTHOST 127.0.0.1, MGRPORT 7820 RMTFILE D:\ogg\oracle\dirdat\i1 table dbo.t_v; table dbo.t_t;
二、target端
SPECIALRUN END RUNTIME SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) userid ogg,password xifenfei EXTFILE D:\ogg\oracle\dirdat\i1 SOURCEDEFS D:\ogg\oracle\dirdef\t_v.def discardfile D:\ogg\oracle\dirtmp\repsz.dsc,append,megabytes 100 MAP "dbo.t_v", target mssql.t_v; MAP "dbo.t_t", target mssql.t_t , colmap ( id = id , text_t = @binary(t_text));
三、执行
extract paramfile dirprm\einit1.prm reportfile dirrpt\einit1.rpt
replicat paramfile dirprm\rinit1.prm reportfile dirrpt\rinit1.rpt
四、试验说明
如果大字段数据库过长,如这里的text字段类型过长是,在l1中有数据,但是target端的数据库中无对应数据,初步分析原因可能有:
1、defgen定义文件中确定文件长度导致
2、target端编码和clob列相关限制有关(可能性不大)
3、goldengate软件内在机制导致,还需要彻底的阅读官网文档
4、现在好像到target端的最终长度为4000byte(根据数据库编码不同区分汉字、字母、数字),在本测试中,如果source端使用ntext,target只能接收1000个汉字,如果是text类型,可以接受1333个汉字。
5、试验环境说明:sql server 2005 to oracle 11g,source端表(id int primary key auto,t_text text),target端(id number primary key,text_t clob)
—出现异常原因已经找到(2011年2月22日23:27:51)
When the size of a large object exceeds 4K, Oracle GoldenGate stores the data in segments within the Oracle GoldenGate trail. The first 4K is stored in the base segment, and the rest is stored in a series of 2K segments. Oracle GoldenGate does not support the filtering, column mapping, or manipulation of large objects of this size. Full Oracle GoldenGate functionality can be used for objects that are 4K or smaller.
大致意思就是当内容超过4k时,就不能使用过滤、列映射、或者操作大字段,当内容等于或者小于4k时,所有的goldengate函数都可以使用。上面问题是当t_text内容大于4k时,不能进行大对象操作。
疑问:那当有数据超过4k该怎么处理
—试验测试(2011年2月23日23:34:13)
初始化后,同步数据库过程中,异构数据库不同列类型(如:mssql中的text到oracle中的clob),也必须使用sourcedefs,使用适当的函数对列类型进行转换(如:colmap ( id = id , t_lob = @binary(t_lob))),对于大于4k的数据,还是和初始化一样不能被处理。该问题等待寻找解决方案
发表在 GoldenGate
2 条评论
goldengate同步sql server to oracle
准备工作,在sql server机器上建立odbc连接
一、初始化加载数据
1、source端
1)添加extract进程
ADD EXTRACT einito, SOURCEISTABLE edit param einito --以下添加到einito.prm文件中 EXTRACT einito SOURCEDB mssql_test RMTHOST 127.0.0.1, MGRPORT 7815 RMTTASK REPLICAT, GROUP rinitm TABLE dbo.t1;
2)生成defgen文件
edit params defgen ---以下为defgen.prm中内容 defsfile F:\ogg\mssql\dirdef\t1.def sourcedb mssql_test table dbo.t1; --退出ggsci(ogg安装目录dos下) exit defgen paramfile F:\ogg\mssql\dirprm\defgen.prm
2、target端
1)replicat 进程
ADD REPLICAT rinitm, SPECIALRUN edit params rinitm --以下内容在rinitm.prm文件中 replicat rinitm sourcedefs F:\ogg\oracle\dirdef\t1.def SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) USERID chf, PASSWORD xifenfei DISCARDFILE F:\ogg\oracle\dirrpt\RINItm.dsc, append MAP "dbo.t1", TARGET CHF.T1_1;
二、数据同步
1、source端
1)添加附件日志
dblogin sourcedb mssql_test add trandata dbo.t1
2)摄取进程(extract)
add extract extm,tranlog,begin now ADD EXTTRAIL F:\ogg\mssql\dirdat\ms, EXTRACT EXTM edit param extm --以下为extm.prm内容 extract extm SOURCEDB mssql_test exttrail F:\ogg\mssql\dirdat\ms dynamicresolution gettruncates tranlogoptions managesecondarytruncationpoint TABLE dbo.t1;
3)传递进程(data pump extract )
ADD EXTRACT pump1, EXTTRAILSOURCE F:\ogg\mssql\dirdat\ms, BEGIN now add rmttrail F:\ogg\oracle\dirdat\or extract pump1 edit params pump1 --以下为pump1.prm内容 extract pump1 SOURCEDB mssql_test --需要,不然不能获得数据 rmthost 127.0.0.1, mgrport 7815 rmttrail F:\ogg\oracle\dirdat\or PASSTHRU gettruncates TABLE dbo.t1;
2、target端
1)设置检查点表
edit params ./GLOBALS --下面一句为GLOBALS文件中内容 CHECKPOINTTABLE ogg.chkpoint dblogin userid ogg,password xifenfei ADD CHECKPOINTTABLE ogg.chkpoint
2)replicat进程
add replicat repl exttrail F:\ogg\oracle\dirdat\or,begin now,checkpointtable ogg.chkpoint edit params repl --以下为repl.prm中内容 replicat repl SETENV (NLS_LANG =AMERICAN_AMERICA.ZHS16GBK) userid ogg,password xifenfei sourcedefs F:\ogg\oracle\dirdef\t1.def reperror default,discard discardfile F:\ogg\oracle\dirtmp\repsz.dsc,append,megabytes 100 gettruncates MAP "dbo.t1", TARGET CHF.T1_1;
note:
因为defgen中的表名为小写,所以在replicat相关进程中,map表需要使用双引号小写
发表在 GoldenGate
评论关闭