之前几天一直再弄Oracle stream
只知道有Capture Staging Apply
然后就不学走先学跑的完成以下动作
3.1 Stop Capture
connect /@THAMW;
BEGIN
DBMS_CAPTURE_ADM.STOP_CAPTURE(capture_name => 'STREAM_CAPTURE');
END;
/
3.2 Stop apply
connect /@THAMR;
BEGIN
DBMS_APPLY_ADM.STOP_APPLY(apply_name => 'STREAM_APPLY');
END;
/
3.3 Add APPLY rules in destination site
connect /@THAMR;
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'THAMWDA1.WILLIAM',
streams_type => 'APPLY',
streams_name => 'STREAM_APPLY',
queue_name => '.STREAM_Q',
include_dml => true,
include_ddl => true,
source_database => 'THAMW',
inclusion_rule => true);
END;
/
3.4 Setup DML handler for APPLY in destination site 4 types )
connect /@THAMR;
BEGIN
DBMS_APPLY_ADM.SET_DML_HANDLER(
object_name => 'THAMWDA1.WILLIAM',
object_type => 'TABLE',
operation_name => 'INSERT',
error_handler => false,
user_procedure => '.DML_HANDLER_APPEND',
apply_database_link => NULL,
apply_name => NULL );
END;
/
BEGIN
DBMS_APPLY_ADM.SET_DML_HANDLER(
object_name => 'THAMWDA1.WILLIAM',
object_type => 'TABLE',
operation_name => 'UPDATE',
error_handler => false,
user_procedure => '.DML_HANDLER_APPEND',
apply_database_link => NULL,
apply_name => NULL );
END;
/
BEGIN
DBMS_APPLY_ADM.SET_DML_HANDLER(
object_name => 'THAMWDA1.WILLIAM',
object_type => 'TABLE',
operation_name => 'DELETE',
error_handler => false,
user_procedure => '.DML_HANDLER_APPEND',
apply_database_link => NULL,
apply_name => NULL );
END;
/
3.5 Setup DML error handler for APPLY in destination site
connect /@THAMR;
BEGIN
DBMS_APPLY_ADM.SET_DML_HANDLER(
object_name => 'THAMWDA1.WILLIAM',
object_type => 'TABLE',
operation_name => 'INSERT',
error_handler => true,
user_procedure => '.errors_pkg.regions_pk_error',
apply_database_link => NULL,
apply_name => NULL);
END;
/
3.6 Add Capture rules in source site
connect /@THAMW;
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'THAMWDA1.WILLIAM',
streams_type => 'CAPTURE',
streams_name => 'STREAM_CAPTURE',
queue_name => '.STREAM_Q',
include_dml => true,
include_ddl => true,
inclusion_rule => true,
source_database => 'THAMW');
END;
/
3.7 Add propagation rules in source site
connect /@THAMW;
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_PROPAGATION_RULES
(
table_name => 'THAMWDA1.WILLIAM',
streams_name =>'STREAM_PROP',
source_queue_name => '.STREAM_Q',
destination_queue_name => '.STREAM_Q@THAMR',
include_dml => true,
include_ddl => true,
source_database => 'THAMW',
inclusion_rule => true
);
END;
/
3.8 Create schema and add columns in destination site (3 types )
/*导出,导入格式*/
host exp /@THAMW tables=THAMWDA1.WILLIAM ROWS=N
host imp /@THAMR fromuser=THAMWDA1 touser=THAMWDA1 ignore=y
connect /@THAMR;
ALTER TABLE THAMWDA1.WILLIAM
ADD (
TRANS_OPERATION VARCHAR2(1) DEFAULT 'I' NOT NULL,
T_STAMP VARCHAR2(26 byte) DEFAULT
SUBSTR(TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD HH24.MI.SSxFF'),1,26) NOT NULL ,
TRANS_FLAG VARCHAR2(1) DEFAULT 'Y' NOT NULL) ;
3.9 Table instantiation
/*导出数据*/
host exp /@THAMW tables=THAMWDA1.WILLIAM object_consistent=y
file=/oracle/THAMWDA1.WILLIAM.dmp
在destination site依次�行:
connect /@THAMR
truncate table THAMWDA1.WILLIAM;
alter table THAMWDA1.WILLIAM drop supplemental log data (primary key,
unique, foreign key) columns;
/*导入数据*/
host imp /@THAMR fromuser=THAMWDA1 touser=THAMWDA1 ignore=y
streams_instantiation=y STREAMS_CONFIGURATION=y
file=/oracle/THAMWDA1.WILLIAM.dmp
connect /@THAMR
alter table THAMWDA1.WILLIAM drop supplemental log data (primary key,
unique, foreign key) columns;
3.10 �定not compare old value (capture)
BEGIN
DBMS_APPLY_ADM.COMPARE_OLD_VALUES(
object_name => 'THAMWDA1.WILLIAM',
column_list => '*',
operation => '*',
compare => false);
END;
/
3.11 Start APPLY in destination site
connect /@THAMR;
BEGIN
DBMS_APPLY_ADM.START_APPLY(apply_name => 'STREAM_APPLY');
END;
/
3.12 Start CAPTURE in source site
connect /@THAMW;
BEGIN
DBMS_CAPTURE_ADM.START_CAPTURE(capture_name => 'STREAM_CAPTURE');
END;
/
注意:在原表的格式如下
CREATE TABLE WILLIAM
(
SID VARCHAR2(16 BYTE)
)
TABLESPACE MPPTUSR1
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
结果是只能同步到Insert不能同步Update、delete
然后师傅说是没有INDEX的原因
我也不知道为什么
然后这样就可以了
CREATE TABLE WILLIAM
(
SID VARCHAR2(16 BYTE)
)
TABLESPACE MPPTUSR1
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
ALTER TABLE WILLIAM ADD (
PRIMARY KEY
(SID)
USING INDEX
TABLESPACE MPPTIDX1
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 512K
NEXT 512K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
));
估计是这行出现了问题:
alter table THAMWDA1.WILLIAM drop supplemental log data (primary key,
unique, foreign key) columns;
究竟为什么还是不清楚
分享到:
相关推荐
接下来,我们将详细探讨这款模板的特点、功能以及如何在Blogger平台上应用。 首先,我们来关注一下模板的设计风格。"彩色圆点"是这个模板的核心元素,这些圆点可能被用作分隔符、导航指示或者装饰元素,为整个博客...
它可能具有响应式设计,这意味着无论用户是在桌面、平板还是手机上访问,都能获得良好的浏览体验。此外,免费版可能会提供基本的功能,如广告位、社交分享按钮、多列布局等,帮助初学者快速搭建一个功能齐全的博客。...
根据提供的信息,我们可以总结出以下关于“Google Blogger For Dummies...通过阅读本书,用户可以全面掌握使用Google Blogger平台的各种技能,无论是在技术层面还是在内容创作和商业运营方面都将获得宝贵的经验和启示。
在这个例子中,"Flex blogger" 提供了一个基础的博客系统,用户可以创建、编辑和发布博客文章。 首先,我们需要理解Flex的基本概念。Flex是基于ActionScript 3.0,这是一种面向对象的编程语言,与JavaScript类似但...
Ajax-blogger-dynamic-slider.zip,blogger动态滑块(按标签/最近的帖子),ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不...
【Typecho 仿Blogger主题 Watermark Birds】是一款专为Typecho博客系统设计的主题,灵感来源于Blogger平台上的Watermark Birds样式。这个主题旨在提供一个类似Blogger的用户体验,同时考虑到国内用户对Blogger可能...
Blogger News App是一个Android应用程序模板,用于显示来自Blogger站点的帖子或文章。它加载所有博客文章,标签,页面和显示在一个美丽的和精心设计的布局。在Android平台下运行,并使用Android Studio与Java编程...
《博客链接主题模型在博客挖掘中的应用》 一、引言与背景 本文探讨的是一个在数据挖掘领域具有重要意义的主题——博客挖掘。博客作为一种在线日志网站,其条目按时间逆序排列,构成了庞大的博客圈(blogosphere)...
"Blogger 是最常用的博客平台,Blogger 是 google 的传奇产品之一,至今仍在广泛使用",这句话强调了 Blogger 在博客领域的地位,它是 Google 的一款经典产品,拥有广泛的用户基础和持续的活跃度。 提到的 "桌面...
【描述】虽然描述信息简洁,但我们可以推测这个数据集可能包含了新浪博主(可能是部分或全部)的博客内容以及他们在微博上的活动记录。这些数据可能包括但不限于博客文章、评论、转发、点赞、用户个人信息、时间戳等...
《JSF博客系统“myblogger”详解》 在IT领域,Java Server Faces(JSF)作为一种成熟的MVC(Model-View-Controller)框架,被广泛用于构建企业级Web应用程序。今天,我们将深入探讨一个由个人开发的JSF博客系统——...
CSDN Blogger是一款专为CSDN博客用户设计的实用工具,它主要的功能是对用户在CSDN博客上的文章进行备份,并且支持代码语法高亮显示。这一工具对于程序员和IT爱好者来说尤其重要,因为他们经常在CSDN平台上分享技术...
-臧超博客blogger模板开源代码共享- 【基于blogger建立的博客】【欢迎访问】 臧超博客blogger模板开源代码,献给喜欢Blogger的朋友。 1.模板移植自专业的Wordpress模板:iBluety 从专业的wordpress模板移植:iBluety...
Pebble是一个非常轻型的,人个化的blogger ,它作为一个可以在标准J2EE web容器中运行的一个Web应用程序,使用了标准的一些技术,如JSP, Servlets, filters, JSP 定制标签, JSTL 和 JAXP。
【material-blogger:Google Blogger的Material Design模板】 Google Blogger是一个流行的博客平台,允许用户创建、设计和分享他们的想法。Material Design是Google推出的一种设计语言,它强调清晰的视觉层次、响应...
1. **Google Blogger简介**:Google Blogger是谷歌公司提供的免费博客服务,允许用户轻松创建和发布内容。它提供了丰富的自定义选项,包括模板选择、布局调整和域名绑定,使得博客可以个性化并具有专业外观。 2. **...
Bansky Dellarte-Blogger模板 Blogger自定义主题,这是Blogger发布平台的基本主题模板。 #案例分析 一个简单的模板,用于发布有关人文,艺术和历史领域的社论内容的著作。 此模板的起源来自法国评论家兼编辑M. ...
1. **跨平台性**:由于 PHP 是一种解释型的服务器端脚本语言,可以在多种操作系统上运行,包括 Windows、Linux 和 macOS,因此 PHP-Blogger 可以在各种不同的服务器环境中无缝工作。 2. **易用性**:PHP-Blogger ...
将 CLIENT ID 和 CLIENT SECRET 分别存储在 BLOGGER_CLIENT_ID 和 BLOGGER_CLIENT_SECRET 中 在 BLOGGER_TOKEN_FILE 中设置要存储 ACCESS_TOKEN 的文件的路径。 例如:BLOGGER_TOKEN_FILE=$HOME/token.dat 在 ...
基本的Blogger模板 此模板是使用架构标记从头开始构建的,我使用架构是因为该帮助搜索引擎了解网站结构的一部分并帮助在搜索引擎中建立索引。 而且我使用开放图协议来帮助社交媒体,例如Facebook进行抓取并为博客...