`

Oracle CDC

 
阅读更多

 1Oracle 11g

1)同步模式

--初始化参数

--为了JVM的管理

ALTER SYSTEM SET JAVA_POOL_SIZE=50000000 SCOPE=BOTH;

 

--第二步,创建表空间、用户并授权

--Oracle官方建议自定义表空间,以便管理和控制,否则使用默认的系统表空间USERS大小有限制,会出问题

CREATE TABLESPACE ts_cdcpub  DATAFILE 'cdc11gsync.dbf' SIZE 200M AUTOEXTEND ON MAXSIZE 1000M;

CREATE USER cdcpub IDENTIFIED BY cdcpub DEFAULT TABLESPACE ts_cdcpub QUOTA UNLIMITED ON SYSTEM QUOTA UNLIMITED ON SYSAUX;

--为建立cdc的基础权限

GRANT CREATE SESSION TO cdcpub;

GRANT CREATE TABLE TO cdcpub;

GRANT CREATE JOB TO cdcpub;

GRANT SELECT ANY TABLE TO cdcpub;

GRANT UNLIMITED TABLESPACE TO cdcpub;

--数据字典视图和包的权限

GRANT SELECT_CATALOG_ROLE TO cdcpub;

GRANT EXECUTE_CATALOG_ROLE TO cdcpub;

 

2)异步模式

 

--第一步,初始化参数

declare

  job_queue_processes_num  number;  --作业队列数量,限制了执行作业的进程数

  streams_pool_size_num    number;  --streams池大小,用于缓存流进程在数据库间移动/复制数据时使用的队列消息。

  processes_num            number;  --进程数,限制能够连接到SGA的操作系统进程数

  sessions_num             number;  --会话数,限制了对指定实例的并发登陆数

  parallel_max_servers_num number;  --并发服务数,限制并发进程数

begin

  execute immediate ('alter system set java_pool_size = 50000000');  --java_pool_size参数控制java池的的大小,指定用于java开发时内存,官方建议值为50M

  execute immediate ('alter system set undo_retention = 3600');  --undo_retention参数用以控制事务提交以后undo信息保留的时间,单位为秒,官方建议值为3600秒,即1个小时

 

  select value into streams_pool_size_num from v$parameter where name = 'streams_pool_size';

  if (streams_pool_size_num >= 52428800) then

    streams_pool_size_num := streams_pool_size_num + 22020096*i;                                            --替换此处i为计划建立cdc的数量

  else

    streams_pool_size_num := 52428800 + 22020096*i;                                                                                            --替换此处i为计划建立cdc的数量

  end if;

  execute immediate ('alter system set streams_pool_size = '|| streams_pool_size_num||' scope=spfile');  --需重启数据库实例后,该参数生效

 

  select value into processes_num from v$parameter where name = 'processes';

  processes_num := processes_num + 7*i;                                                                                                                       --替换此处i为计划建立cdc的数量

  execute immediate ('alter system set processes = '||processes_num||' scope=spfile');                   --需重启数据库实例后,该参数生效

 

  select value into job_queue_processes_num from v$parameter where name = 'job_queue_processes';

  job_queue_processes_num:=job_queue_processes_num+2;

  if(job_queue_processes_num <1000) then

  execute immediate ('alter system set job_queue_processes ='|| job_queue_processes_num);

  end if;

  select value into sessions_num from v$parameter where name = 'sessions';

  sessions_num := sessions_num + 2*i;                                                                                                                           --替换此处i为计划建立cdc的数量

  execute immediate ('alter system set sessions ='|| sessions_num||' scope=spfile');                             --需重启数据库实例后,该参数生效

 

  select value into parallel_max_servers_num from v$parameter where name = 'parallel_max_servers';

  parallel_max_servers_num := parallel_max_servers_num + 5*i;                                                --替换此处i为计划建立cdc的数量

  execute immediate ('alter system set parallel_max_servers = '||parallel_max_servers_num);

end;

 

--第二步,打开日志归档模式(若已经是归档模式,可跳过),在sqlplus中运行

1)SQL>SHUTDOWN NORMAL/IMMEDIATE;

2)SQL>STARTUP MOUNT;

3)SQL>ALTER DATABASE ARCHIVELOG;

4)SQL>ALTER DATABASE OPEN;

 

--第三步,在归档模式下打开强制日志和补充日志

ALTER DATABASE FORCE LOGGING;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

--补充日志记录监控表的所有列值,schema.tablename为需要捕获表的架构和名称(若监控多个表,需要执行多次)

ALTER TABLE schema.tablename ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

 

--第四步,创建表空间、用户并授权

--建议自定义表空间,以便管理和控制存储,否则使用默认的系统表空间USERS大小有限制,会出问题

CREATE TABLESPACE ts_cdcpub DATAFILE 'cdc11gasync.dbf' SIZE 200M  AUTOEXTEND ON MAXSIZE 1000M;

CREATE USER cdcpub IDENTIFIED BY cdcpub DEFAULT TABLESPACE ts_cdcpub QUOTA UNLIMITED ON SYSTEM QUOTA UNLIMITED ON SYSAUX;

--为建立cdc的基础权限

GRANT CREATE SESSION TO cdcpub;

GRANT CREATE TABLE TO cdcpub;

GRANT CREATE SEQUENCE TO cdcpub;

GRANT UNLIMITED TABLESPACE TO cdcpub;

--需要DBA权限

GRANT DBA TO cdcpub;

--访问数据字典视图和包的权限

GRANT SELECT_CATALOG_ROLE TO cdcpub;

GRANT EXECUTE_CATALOG_ROLE TO cdcpub;

--Streams的管理权限

BEGIN DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(GRANTEE => 'cdcpub'); END;

 

--第五步,准备源表,schema.tablename为需要捕获表的架构和名称(若监控多个表,需要执行多次)

--若出现增量数据长时间没有捕获的情况,请重新执行这一步

BEGIN  DBMS_CAPTURE_ADM.PREPARE_TABLE_INSTANTIATION(TABLE_NAME =>'schema.tablename'); END;

 

分享到:
评论

相关推荐

    流批一体Streamsets Data Collector(SDC)管道Oracle CDC实时同步配置文档

    ### 流批一体Streamsets Data Collector(SDC)管道Oracle CDC实时同步配置详解 #### 一、概述 在大数据处理领域,Streamsets Data Collector (SDC)作为一种强大的数据集成工具,被广泛应用于各种复杂的数据流场景中...

    oracle cdc

    ### Oracle CDC (Change Data Capture) 概述 Oracle CDC(Change Data Capture)是一种高效的数据同步技术,主要用于在异构环境中实现实时数据捕捉、转换及传递。它通过监控数据库的日志文件来检测数据变化,并将...

    oracle cdc同步模式step by step

    ### Oracle CDC 同步模式详解 #### 一、概述 Oracle CDC (Change Data Capture) 是一种用于捕获数据库中表的变化并记录这些变化的技术。它主要用于实现数据的实时同步、审计跟踪以及支持业务智能等场景。本文将...

    傲飞数据整合工具 Oracle CDC实施手册.

    根据提供的文件信息,这里涉及的知识点主要集中在傲飞数据整合平台的Oracle CDC(Change Data Capture,变化数据捕获)插件的安装和配置过程。下面详细介绍这些知识点: 1. 数据整合平台介绍: 傲飞数据整合平台,...

    ORACLE CDC介绍

    Oracle CDC 介绍 Oracle CDC(Change Data Capture)是 Oracle 在数据库级别实现的增量抽取解决方案。CDC 可以在数据库层面上直接实现增量抽取功能,具有很高的性能和实时性。CDC 有两个模式:同步模式和异步模式。...

    使用 PDI 和 Oracle CDC 来实现Oracle 数据库向其他数据库的数据同步

    "使用 PDI 和 Oracle CDC 来实现 Oracle 数据库向其他数据库的数据同步" PDI(Pentaho Data Integration)是一种商业智能解决方案,旨在帮助用户快速、可靠地集成、转换和处理大量数据。Oracle CDC(Change Data ...

    oracle cdc教程

    ### Oracle CDC 教程 #### 1. CDC 简介 ##### 1.1 CDC 是一种数据增量处理技术 在构建数据仓库系统的 ETL(Extract, Transform, Load)过程中,增量数据的抽取是一个非常关键的环节。对于解决方案通常有两点要求...

    Oracle CDC 数据同步9i/10G

    Oracle Change Data Capture (CDC) 是 Oracle 数据库提供的一项高级特性,用于捕捉数据库中的更改数据,以便在异步环境中实现高效的数据同步。Oracle CDC 特别适用于大数据集成、实时数据分析和企业级应用程序之间的...

    ORACLE CDC.pdf

    Oracle CDC(Change Data Capture)是Oracle数据库提供的一种增量数据处理技术,主要应用于构建数据仓库系统的ETL(提取、转换、加载)过程中。在ETL流程中,准确且高效地抽取业务系统中的增量数据至关重要,以免对...

    Oracle cdc学习笔记

    ### Oracle CDC 学习笔记详解 #### 一、Oracle CDC 概述 Oracle CDC (Change Data Capture) 是一种用于捕获数据库中数据更改的技术。它主要用于实现数据的实时同步、审计跟踪以及支持业务智能等场景。通过配置CDC,...

    oracle cdc操作手册

    Oracle CDC(Change Data Capture)是一种高效的数据增量处理技术,尤其适用于构建数据仓库系统的ETL(提取、转换、加载)过程。在数据仓库中,确保数据的准确性和性能至关重要。CDC能够在不影响业务系统运行的情况...

    Oracle CDC cook_book

    ### Oracle CDC (Change Data Capture) Cook_Book #### 概述与术语 Oracle CDC(Change Data Capture)是一项关键的技术,用于捕获数据存储中的增量变化。随着数据存储量的不断增长,CDC 成为了实时或准实时数据...

    ORACLE CDC.docx

    【Oracle CDC】是一种在Oracle数据库中实现增量数据处理的技术,主要应用于数据仓库系统的ETL(抽取、转换、加载)过程。在构建数据仓库时,确保数据的准确性与处理性能至关重要。Oracle提供了多种方法来处理增量...

    oracle_cdc

    ### Oracle CDC 技术详解:实现数据库级别的增量数据同步 #### 概述 Oracle CDC(Change Data Capture)技术,作为Oracle数据库的一项核心功能,旨在提供一种高效的数据同步方案,尤其适用于处理增量数据的抽取与...

    关于同步OracleCDC的实现步骤[参考].pdf

    Oracle CDC(Change Data Capture)是一种高效的数据变更跟踪技术,它允许应用程序实时地捕获和处理数据库中的更改,而无需对源系统进行大量的读取操作。这项特性自Oracle 9i版本开始引入,对于数据集成、数据复制...

    flink 14.5 实现 oracle 11G cdc 功能

    1. **配置Oracle CDC连接器**:Flink提供了JDBC connector,它可以配合第三方库如Oracle GoldenGate或Oracle LogMiner来获取Oracle CDC事件。你需要确保已安装了相应的Oracle JDBC驱动(如ojdbc.jar),并将该驱动...

    cdc online 模式的详细配置

    在Oracle数据库环境中,CDC在线模式允许系统在不影响主业务应用性能的情况下,高效地收集和处理变更数据。本篇文章将深入探讨Oracle CDC在线模式的详细配置。 **概念与术语** 1. **CDC**: Change Data Capture,是...

    ORACLE_CDC.rar_oracle

    Oracle Change Data Capture (CDC) 是Oracle数据库提供的一种高级特性,用于捕获和跟踪数据库中的数据变化。这个"ORACLE_CDC.rar_oracle"压缩包文件很可能是关于如何使用Oracle CDC的手册,帮助用户理解并实施数据...

Global site tag (gtag.js) - Google Analytics