إعداد قاعدة بيانات المصدر للاستنساخ

أداة Oracle GoldenGate هي أداة استنساخ قاعدة بيانات توفر نظام استنساخ آمن ومرن وقابل للتوسيع لإرسال البيانات إلى مستودع البيانات. قبل التمكن من استنساخ البيانات، يجب إعداد قاعدة البيانات المصدر لدعم Oracle GoldenGate.

قم بإعداد قاعدة بيانات المصدر الخاصة بك لإرسال البيانات إلى مستودع البيانات:

  1. اتصل بقاعدة بيانات المصدر باستخدام SQL*Plus كمستخدم لديه حق وصول المسئول.
  2. قم بتكوين مخطط قاعدة بيانات 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');
  3. قم بتكوين المستخدم/مخطط قاعدة البيانات المصدر في قاعدة البيانات المصدر pdb1:
    alter session set container=pdb1;
    CREATE user adwsrc IDENTIFIED BY ADWpass123_#;
    grant dba, connect, resource to adwsrc;
  4. تأكد من أن قاعدة البيانات تستخدم Archivelog.

    يعتمد 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;
  5. لتكوين جدول بيانات مصدر، قم بالاتصال بقاعدة البيانات المصدر باستخدام 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")
     		  );