暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle GoldenGate将字符集设置

原创 龙镇君 2022-10-25
1424

Oracle GoldenGate将字符集设置分为两部分:数据平台字符集与操作系统区域的字符集。

从Oracle GoldenGate 11.2.1和更高版本开始,OGG默认支持字符集的转化。
OGG字符集设置准则:Target字符集与Source字符集一致,或者Target字符集是Source字符集的超集。

与字符集相关的参数:

1.SOURCECHARSET ZHS16GBK
适用范围:replicat
解释说明:使用SOURCECHARSET参数控制数据从源字符集到Replicat的目标字符集的转换
使用语法:SOURCECHARSET {source_charset | PASSTHRU | OVERRIDE} [DB2ZOS]
2.SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
适用范围:extract and replicat
解释说明:使用SETENV参数设置环境变量的值。 当Extract或Replicat启动时,它使用指定的值,而不是在操作系统环境中设置的值。
SETENV语句中的变量集将覆盖在操作系统级设置的任何现有变量。每个变量使用一个SETENV语句来设置。
适用语法:SETENV ( {environment_variable | GGS_CacheRetryCount | GGS_CacheRetryDelay} = 'value' )
3.HAVEUDTWITHNCHAR
适用范围:replicat
解释说明:当源数据包含具有NCHAR,NVARCHAR2或NCLOB属性的用户定义类型时,请使用HAVEUDTWITHNCHAR参数。
当跟踪中遇到此数据时,HAVEUDTWITHNCHAR会导致Replicat连接到AL32UTF8中的Oracle目标,这在用户定义的数据类型包含其中一个属性时是必需的。
如果目标的字符集为AL32UTF8,则不需要HAVEUDTWITHNCHAR。 但是,只有NLS_LANG设置为目标上的AL32UTF8才需要。
默认情况下,Replicat将忽略NLS_LANG并连接到数据库本机字符集中的Oracle数据库。
Replicat使用不支持NCHAR,NVARCHAR2或NCLOB属性的Oracle调用接口的OCIString对象,因此Replicat必须将其绑定为CHAR。
在这种情况下,连接到AL32UTF8中的目标可以防止数据丢失。
必须在参数文件中的USERID或USERIDALIAS参数之前指定HAVEUDTWITHNCHAR。、
使用语法:HAVEUDTWITHNCHAR
4.REPLACEBADCHAR
适用范围:extract and replicat
解释说明:当映射字符类型列时,在源或目标字符集中不存在有效代码点时,可使用REPLACEBADCHAR参数来控制进程的响应。
默认情况下,仅在源和目标数据库具有不同的字符集时执行无效代码点的检查,并且默认响应将被拒绝。
当源数据库和目标数据库具有相同的字符集时,可以使用FORCECHECK选项强制进程检查无效的代码点。
REPLACEBADCHAR适用于全局变量。
使用语法:REPLACEBADCHAR {ABORT | SKIP | ESCAPE | SUBSTITUTE string | NULL | SPACE} [FORCECHECK] [NOWARNING]
其余参数以后补充

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论