源端:

conn sh/sh

create table "学生" ("学号" number primary key,"姓名" varchar2(30))

*

ORA-00957: duplicate column name 重复列名

create table "学生" ("学号" number primary key, " 姓名" varchar2(30));

create materialized view log on "学生" with primary key;

create materialized view mv_student

refresh fast on commit

as

select "学生"."学号" as id, "学生"." 姓名" as name from "学生";

添加这个物化视图的附加日志

GGSCI (linux5.5) 1> dblogin userid goldengate, password goldengate

info trandata sh.mv_student

add trandata sh.mv_student

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

TEST                           TABLE

TEST1                          TABLE

TEST4                          TABLE

????                           TABLE

MLOG$_????                     TABLE

RUPD$_????                     TABLE

MV_STUDENT                     TABLE

一个一个指定,不能用模糊匹配,否则物化视图的日志、中文表,物化视图也会复制过去

GGSCI (linux5.5) 3> edit params ext_sh

TABLE SH.test1;

TABLE SH.test4;

TABLE SH.mv_student;

GGSCI (linux5.5) 5> stop ext_sh

GGSCI (linux5.5) 7> start ext_sh

SQL> desc sh."学生"

Name                                      Null?    Type

----------------------------------------- -------- ----------------------------

????                                      NOT NULL NUMBER

????                                              VARCHAR2(30)

如果用模糊匹配:

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

TEST1                          TABLE

TEST4                          TABLE

????                           TABLE

BIN$6TRNVHJWkIHgQKjAqQoNFg==$0 TABLE

MLOG$_????                     TABLE

RUPD$_????                     TABLE

SQL> desc sh."学生"

ORA-00942: table or view does not exist

目标端

dblogin userid goldengate, password goldengate

add checkpointtable goldengate.rep_mv_ckpt

add replicat rep_mv,exttrail ./dirdat/d2,checkpointtable rep_mv_ckpt

GGSCI (linux5.5) 5> edit params rep_sh

mapexclude sh.mv_student

GGSCI (linux5.5) 7> stop rep_sh

GGSCI (linux5.5) 9> start rep_sh

GGSCI (linux5.5) 10> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    STOPPED     REP_MV      00:00:00      00:04:37

REPLICAT    RUNNING     REP_OE      00:00:00      00:00:03

REPLICAT    RUNNING     REP_SH      00:09:26      00:00:03

REPLICAT    RUNNING     REP_T1      00:00:00      00:00:01

REPLICAT    RUNNING     REP_T401    00:00:00      00:00:01

REPLICAT    RUNNING     REP_T402    00:00:00      00:00:01

REPLICAT    RUNNING     REP_T403    00:00:00      00:00:01

GGSCI (linux5.5) 7> edit params rep_mv

REPLICAT rep_mv

SETENV (NLS_LANG="American_America.ZHS16GBK")

SETENV (ORACLE_SID=test)

USERID goldengate,PASSWORD goldengate

REPORTCOUNT EVERY 30 MINUTES, RATE

REPERROR DEFAULT, ABEND

numfiles 5000

--HANDLECOLLISIONS

assumetargetdefs

DISCARDFILE ./dirrpt/rep_mv.dsc, APPEND, MEGABYTES 1000

ALLOWNOOPUPDATES

DDL INCLUDE MAPPED

DDLOPTIONS REPORT

map sh.mv_student, target sh.mv_student;

GGSCI (linux5.5) 9> start rep_mv

初始化:

conn sh/sh

create table "学生" ("学号" number primary key, " 姓名" varchar2(30));

create or replace view mv_student

as

select "学生"."学号" as id, "学生"." 姓名" as name from "学生";

GGSCI (linux5.5) 10> alter replicat rep_mv, begin now   把以前没有执行的事务直接抛弃掉

源端:

conn sh/sh

insert into "学生" values (4,'张三4');

commit;

目标端

select * from "学生";

使用物化视图解决GoldenGate不能使用中文表名问题的更多相关文章

  1. 解决mysql shell执行中文表名报command not found错误

    mysql -h 192.168.22.201 -uusername -ppassword --default-character-set=utf8 rom3 -e "DELETE FROM ...

  2. Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、

    查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t; ...

  3. db2 中文表名和字段

    建库语句 create db test on D: using codeset GBK territory CN 或者 territory cn codeset 和 territory 都是需要指定 ...

  4. Android GreenDao 中文表名,中文字段DAO生成乱码的问题

    在gradle.properties 文件中加入编码类型 # Project-wide Gradle settings. # IDE (e.g. Android Studio) users: # Gr ...

  5. calcite物化视图详解

    概述 物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图. 当用户查询的时候,原先创建的物化视图会注册到优化器中,用户的查询命中物化 ...

  6. postgres中的视图和物化视图

    视图和物化视图区别 postgres中的视图和mysql中的视图是一样的,在查询的时候进行扫描子表的操作,而物化视图则是实实在在地将数据存成一张表.说说版本,物化视图是在9.3 之后才有的逻辑. 比较 ...

  7. Oracle数据库入门——如何根据物化视图日志快速刷新物化视图

    Oracle物化视图的快速刷新机制是通过物化视图日志完成的.Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理. 首先,看一下物化视图的结构:SQL& ...

  8. Oracle数据库入门——物化视图语法

    一.Oracle物化视图语法 create materialized view [view_name]refresh [fast|complete|force][on [commit|demand] ...

  9. Oracle 物化视图 说明

    一.    物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可 ...

随机推荐

  1. zzulioj--1716--毒(模拟水题)

     1716: 毒 Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 96  Solved: 43 SubmitStatusWeb Board Desc ...

  2. vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件

    vue引入swiper  vue使用swiper  vue脚手架使用swiper /引入js文件/引入css文件 ------------------------------------------- ...

  3. JS数组去重 包含去除多个 NaN

    Array.prototype.uniq = function () { var arr = []; var flag = true; this.forEach(function(item) {   ...

  4. mysql实战45讲 (三) 事务隔离:为什么你改了我还看不见 极客时间读书笔记

    提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务.最经典的例子就是转账,你要给朋友小王转100块钱,而此时你的银行卡只有100块钱. 转账过程具体到程序里会有一系列的操作,比如查询余额 ...

  5. (转载)Android:学习AIDL,这一篇文章就够了(上)

    前言 在决定用这个标题之前甚是忐忑,主要是担心自己对AIDL的理解不够深入,到时候大家看了之后说——你这是什么玩意儿,就这么点东西就敢说够了?简直是坐井观天不知所谓——那样就很尴尬了.不过又转念一想, ...

  6. Angular4集成ng2-file-upload

      在Github上找到了一个支持Angular4好用的文件上传组件ng2-file-upload,这里简单介绍一下这个库的集成使用方案.  本文基于该组件的1.2.1版. 1. 安装 安装非常简单, ...

  7. 3DS MAX玩家必看!70个提高渲染速度的小技巧

    3DS MAX玩家必看!70个提高渲染速度的小技巧 (注:节省RAM不一定会加快渲染速度.请同学们根据实际情况加以利用.) 1. 尽量限制Ploygon数量,越少渲染速度越快 2. 如果使用Vray, ...

  8. 中级前端工程师要掌握的JavaScript 技巧

    1.判断对象的数据类型 2.Es5实现数组map方法 3.使用reduce实现数组map方法 4.ES5 实现数组filter方法 5.使用reduce实现filter方法 6.ES5 实现数组som ...

  9. jquery 遍历 table 下所有得tr td

    $("#middle").contents().find("tbody tr").each(function(i,n){ var child = $(this) ...

  10. fwupdate-efi 与 grub2-common 冲突

    在CentOS-7Minimal系统中使用命令如下命令yum groupinstall -y "GNOME Desktop"安装 图形界面时提示:fwupdate-efi 与 gr ...