我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行ogg的字符分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行ogg的字符分析

今天就跟大家聊聊有关如何进行ogg的字符分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

我们所熟知oracle的字符集一旦创建完毕后最好不要修改,关于oracle goldengate的字符集问题还是需要注意的,因为如果目标端和源端字符集不一致,而有些字符无法在目标端表示ogg可能无法保证数据一致性。

源库字符集:
SQL> select value from v$nls_parameters where parameter='NLS_CHARACTERSET';

VALUE
----------------------------------------------------------------
AL32UTF8

如果这里小鱼在源端设置SETENV(NLS_LANG=“AMERICAN_AMERICA.ZHS16GBK”)去指定源端客户端的字符集
GGSCI (dg01) 21> view params exiaoyu

extract exiaoyu
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID="xiaoyu")
userid ogg,password ogg
dynamicresolution
gettruncates
report at 2:00
reportrollover at 3:00
warnlongtrans 3h,checkinterval 10m
exttrail ./dirdat/dd
table xiaoyu.*;
table xiaoyugg.*;

来看看对应的extract进程的报告,发现此时ogg发觉源端客户端的NLS_LANG变量和源端数据库字符集不一致,从而选择源端数据库字符集,并没有根据extract进程参数中的SETENV指定。
GGSCI (dg01) 52> view report exiaoyu

** Running with the following parameters **
***********************************************************************

2013-06-04 04:50:27 INFO OGG-03035 Operating system character set identified as UTF-8. Locale: en_US, LC_ALL:.
extract exiaoyu
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
Set environment variable (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
SETENV (ORACLE_SID="xiaoyu")
Set environment variable (ORACLE_SID=xiaoyu)
userid ogg,password ***

2013-06-04 04:50:28 INFO OGG-03500 WARNING: NLS_LANG environment variable does not match database character set, or not set. Using database character set value of AL32UTF8.

[oracle@ogg 11.2]$ oggerr 3500
03500, 00000, "WARNING: NLS_LANG environment variable does not match database character set, or not set. Using database character set value of {0}"
// *{0}: nls_charset (String)
// *Cause: The NLS_LANG environment variable is not set to the same as the
// database character set. Oracle GoldenGate is using the database
// character set.
// *Action: None
看来源端设置NLS_LANG跟oracle database的字符集不一致时,ogg还是会选择oracle database的字符集,而忽略掉extract的进程参数SETEVN NLS_LANG


接下来测试目标端:
这里也指定SETENV(NLS_LANG=”AMERICAN_AMERICA.ZHS16GBK”)
GGSCI (ogg.single) 15> view params rxiaoyu

replicat rxiaoyu
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_SID="xiaoyu")
userid ogg,password ogg
assumetargetdefs
gettruncates
report at 2:00
reportrollover at 3:00
discardfile ./dirrpt/discard_rxiaoyu.dsc,append,megabytes 100
map xiaoyu.xiaoyu10,target xiaoyu.xiaoyu10,filter(@getenv("transaction","csn")>1074454806);
map xiaoyu.*,target xiaoyu.*;
map xiaoyugg.*,target ogg.*;


观察目标端的replicat进程,发现ogg选择了进程参数中SETENV(NLS_LANG=“AMERICAN_AMERICA.ZHS16GBK”)
GGSCI (ogg.single) 17> view report rxiaoyu
。。。
2013-06-05 03:14:14 WARNING OGG-03504 NLS_LANG character set ZHS16GBK on the target is different from the source database character set AL32UTF8. Replication may not be valid if the source data has an incompatible character for the target NLS_LANG character set


此时ogg给出的提示需要在replicat进程中正确设置SETENV NLS_LANG变量,这里源端传递的是AL32UTF8字符集,目标端通过replicat进程参数SETENV NLS_LANG指定的是ZHS16GBK,而ogg也采用了replicat进程的参数,并没有选择源端的字符集。
[oracle@ogg 11.2]$ oggerr 3504
03504, 00000, "NLS_LANG character set {0} on the target is different from the source database character set {1}. Replication may not be valid if the source data has an incompatible character for the target NLS_LANG character set."
// *{0}: nls_lang_charset (String)
// *{1}: class="lazy" data-src_db_charset (String)
// *Cause: The NLS_LANG environment variable on the target is set to a
// different character set than the character set of the source
// database.
// *Action: Set the NLS_LANG environment variable on the target to the
// character set of the source database that is shown in the message.
// You can use the SETENV parameter in the Replicat parameter file to
// set it for the Replicat session.


而ogg报出的3504警告是为了提醒目标端字符集和源端不一致,可能会引起replicat进程异常,这里ogg也推荐在replicat进程中设置NLS_LANG使目标端和源端一致。


那么对于字符集对ogg的影响就是源端和目标端,如果源端和目标端database字符集一直,这里在进程中直接采用一致的SETENV NLS_LANG都等于缺省的数据库字符集即可,而对于源端和目标端字符集不一致的,则需要在目标端手动指定replicat进程参数SETENV NLS_LANG等于源端字符集,当然对于最后在数据库中数据行小鱼认为还是需要再次转化成目标端oracle database的字符集。(ogg也是一个同步复制产品,其技术原理依然不能脱离oracle database)

看完上述内容,你们对如何进行ogg的字符分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行ogg的字符分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行Python 字符串分析

今天就跟大家聊聊有关如何进行Python 字符串分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.for重新实现:1+2+3…+100=? 运行结果: Python代码: 点击(
2023-06-04

如何进行JS,PY,TS版无重复字符的最长子串分析

本篇文章给大家分享的是有关如何进行JS,PY,TS版无重复字符的最长子串分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目描述:给定一个字符串,请你找出其中不含有重复字符的
2023-06-02

如何进行abstract的分析

这篇文章将为大家详细讲解有关如何进行abstract的分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。抽象类: abstract抽象:不具体,看不明白。抽象类表象体现。在不断抽取过程中,将
2023-06-02

Python中如何针对任意多的分隔符进行拆分字符串

这篇文章给大家介绍Python中如何针对任意多的分隔符进行拆分字符串,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我们需要将字符串拆分为不同的字段,但是分隔符(以及分隔符之间的空格)在整个字符串中并不一致。字符串对象的
2023-06-02

如何进行Request的分析

如何进行Request的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍Request类是一个http请求的类,对于爬虫而言是一个很重要的类。通常在Spider中创建这样
2023-06-17

如何进行JDBC的分析

这篇文章给大家介绍如何进行JDBC的分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 数据库编程的基础条件如果你想实现代码操作数据库,那么以下条件是你实现它的前提编程语言:例如 Java、C++、Python 等
2023-06-22

MySQL如何进行区分大小写的字符串比较?

As we know that MySQL is not case-sensitive while comparing characters but it can be changed i.e. MySQL can perform case
2023-10-22

如何利用 Java String 类进行字符串分割?(Java String类如何实现字符串分割)

在Java编程中,String类是处理字符串的重要工具,其中字符串分割是一个常见的操作。本文将详细介绍JavaString类如何实现字符串分割。一、字符串分割的概念字符串分割是将一个字符串按照指定的分隔符拆分成多个子
如何利用 Java String 类进行字符串分割?(Java String类如何实现字符串分割)
Java2024-12-19

如何进行MV-Sketch的分析

如何进行MV-Sketch的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。网络测量是对网络行为进行特征化、对各项指标进行量化并充分理解与正确认识互联网的最基本手段,支持
2023-06-03

如何进行SAP CPI的分析

本篇文章为大家展示了如何进行SAP CPI的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。最近Jerry由于项目需要,又得学习一个新工具:SAP Cloud Platform Integrati
2023-06-04

vue如何进行字符串转换

这篇文章主要介绍了vue如何进行字符串转换的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue如何进行字符串转换文章都会有所收获,下面我们一起来看看吧。VueJS的string过滤器VueJS提供了多个内置的过
2023-07-05

linux如何进行字符集修改

这篇文章主要讲解了“linux如何进行字符集修改”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux如何进行字符集修改”吧!修改方法:1、打开“/etc/sysconfig/i18n”文
2023-06-26

php如何进行字符串替换

这篇文章主要讲解了“php如何进行字符串替换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何进行字符串替换”吧!字符串替换方法:1、使用str_replace()函数,语法“str_
2023-06-29

mysql如何进行字符类型的转换

这篇“mysql如何进行字符类型的转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql如何进行字符类型的转换”文章吧
2023-04-21

编程热搜

目录