- 为 Tableau 分析从多个内部部署 Oracle 数据库创建数据集
- 准备用于复制的源数据库
准备用于复制的源数据库
Oracle GoldenGate 是一个数据库复制工具,它提供了安全、灵活且可扩展的复制平台来将数据发送到数据仓库。在复制数据之前,必须准备源数据库以支持Oracle GoldenGate。
将源数据库设置为将数据发送到数据仓库 :
- 以具有管理员访问权限的用户身份使用 SQL*Plus 连接到源数据库。
- 创建Oracle GoldenGate 方案(表空间/用户)并授予将数据库命名为
pdb1
的所需权限:create tablespace ogg_tbs datafile 'ogg_tbs01.dbf' size 100m; alter session set container=pdb1; create tablespace ogg_tbs datafile 'ogg_tbs02.dbf' size 100m; connect to CDB$ROOT create user c##ggadmin identified by ADWpass123_# default tablespace ogg_tbs temporary tablespace temp; grant dba TO c##ggadmin CONTAINER=all; exec dbms_goldengate_auth.grant_admin_privilege('c##ggadmin',container=>'all');
- 在源数据库中创建源用户/方案
pdb1
:alter session set container=pdb1; CREATE user adwsrc IDENTIFIED BY ADWpass123_#; grant dba, connect, resource to adwsrc;
- 确保数据库使用的是归档日志。
Oracle GoldenGate 依赖于重做日志来捕获需要复制源事务处理的数据。开始Oracle GoldenGate 处理之前,必须正确配置源系统上的重做日志。
select LOG_MODE from v$database; LOG_MODE ------------ ARCHIVELOG ALTER DATABASE FORCE LOGGING; ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH; ALTER SYSTEM SET recyclebin=off SCOPE=SPFILE; ALTER SYSTEM SWITCH LOGFILE; ALTER SYSTEM SET streams_pool_size=1024M scope=both;
- 要创建源数据表,请使用 SQL*Plus 以
ADWSRC
身份连接到源数据库,并创建表rec_data
。例如:CREATE TABLE "REC_DATA" ("REQ_ID" NUMBER, "HIS_REF_STATUS" VARCHAR2(50 BYTE), "REQ_NUMBER" NUMBER, "TOTAL_OPENING" NUMBER, "OPENINGS_LEFT_TO_FILL_ACCEPTED" NUMBER, "OPENINGS_LEFT_TO_FILL_HIRED" NUMBER, "REQ_BY_RECRUITER" NUMBER, "REQ_APPROVED" NUMBER, "REQ_CANCELLED" NUMBER, "REQ_FILLED" NUMBER, "REQ_HOLD" NUMBER, "REQ_SOURCE" VARCHAR2(40 BYTE), "REQ_SOURCE_TYPE" VARCHAR2(80 BYTE), "CANDIDATE_FEMALE" NUMBER, "CANDIDATE_AGE40" NUMBER, "SUBMISSION" NUMBER, "SUBMISSION_ACE" NUMBER, "SUBMISSION_HIRED" NUMBER, "SUBMISSION_OFFER_EXTENDED" NUMBER, "SUBMISSION_OFFER_REFUSED" NUMBER, "SUBMISSION_OFFER_ACCEPTED" NUMBER, "CANDIDATE" NUMBER, "COUNTRY" VARCHAR2(60 BYTE), "STATE" VARCHAR2(60 BYTE), "REGION" VARCHAR2(60 BYTE), "CITY" VARCHAR2(60 BYTE), "ETHNICITY" VARCHAR2(60 BYTE), "GENDER" VARCHAR2(30 BYTE), "RACE" VARCHAR2(30 BYTE), "CURRENT_STATUS_ID" NUMBER, "CANDIDATE_STATUS" VARCHAR2(40 BYTE), "STATUS" VARCHAR2(40 BYTE), "REQ_DIRECT_SOURCE" VARCHAR2(30 BYTE), "BU_NAME" VARCHAR2(50 BYTE), "PERFORMANCE" VARCHAR2(40 BYTE), "HIRING_MANAGER" VARCHAR2(60 BYTE), "RECRUITER" VARCHAR2(60 BYTE), "DAYS_OPEN" NUMBER, "REVENUE" NUMBER(8,2), "CALLS_VOLUME" NUMBER, "COST" NUMBER(8,2), "SERVICE_CENTER" VARCHAR2(40 BYTE), "OPEN_DATE" DATE, "OPEN_YEAR" NUMBER, "OPEN_MONTH_N" NUMBER, "OPEN_MONTH_W" VARCHAR2(14 BYTE), "OPEN_QUARTER" VARCHAR2(10 BYTE), "GEO_REGION" VARCHAR2(10 BYTE), "REVENUE_PER_TARGET" NUMBER, "REVENUE_PERCENTAGE_PER_TARGET" NUMBER(5,2), "SEQUENCE" NUMBER, CONSTRAINT REC_DATA_PK PRIMARY KEY ("REQ_ID") );