- 從多個企業內部部署 Oracle 資料庫建立資料市集以進行重要 BI 分析
- 準備複製的來源資料庫
準備複製的來源資料庫
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") );