Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s2pNS-006UYR-2h for pgsql-general@arkaria.postgresql.org; Fri, 03 May 2024 09:38:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1s2pNP-007vNl-Gj for pgsql-general@arkaria.postgresql.org; Fri, 03 May 2024 09:38:48 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s2pNP-007vNc-05 for pgsql-general@lists.postgresql.org; Fri, 03 May 2024 09:38:48 +0000 Received: from mail-oi1-x235.google.com ([2607:f8b0:4864:20::235]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s2pNN-001DiU-0i for pgsql-general@lists.postgresql.org; Fri, 03 May 2024 09:38:46 +0000 Received: by mail-oi1-x235.google.com with SMTP id 5614622812f47-3c61486d3fcso5250132b6e.2 for ; Fri, 03 May 2024 02:38:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714729124; x=1715333924; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=issCdIEQf383rKG02uhcJmCTTGfVDM2VPFFEp/vpvTA=; b=YC61vqig//4qxEp4s0gsxX7gxZW+Bq5SLAG518nhdKaeHNZRmoRSe8h29zHRQ4SIZ+ 08TcJl7Bamms7826DJpGbaOx1kyAcaxX9pKVL7dr4ALu52mn2VK8y/PKejDTDCv0LuMl GEfOIX+aZeki3vZ5s7LJ6DaytKIzxueM7+bPgpvw3fMuEw8+x8WS3QFY/zR1pb3CdOeh iKIypJpy9bjBcHsLjXGl5lIZ8FnlMGpWXsFeOeVQ7+h/LUO5ITLrnF8vjeqrLz65U1ik N9ZIGEaperr5xbPlwqZUx972v6VzC+pnzazMPS0KAHT4YdJqPocTtFovmIlCP7buGS3s NgLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714729124; x=1715333924; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=issCdIEQf383rKG02uhcJmCTTGfVDM2VPFFEp/vpvTA=; b=aX/kC+tWTYFjN+2LRGRKELbl1tce0ATAFianxFAMz32DUjyWVctKrs4QP8k2Pnl0lQ ogE7tGpUxX0UiscxoSzhKMXp/W6V2PFJFORCVo9CFF1XIsxmosVTKP2nejdIk/2dWYDZ TqWcJBthcZbTQmAyc1/yyH58/ojXgQG18k9FXMtRzECGR7dvwIkre2R4WMtuuRsxDoRO Bx7tQMQLDzTDwmyUC8YIyeUqwE119gv2mm6LvVAbL/MlF3WUwo+Tn4PolIFgc8Ohq7WJ eKtFWmYj/UeR1heUMSpoEMT1idAch+dFObUXMaiXOK6VeYRoKHYQUTT7bUlPZfEoFVli bSWQ== X-Forwarded-Encrypted: i=1; AJvYcCW+mOlYkPeEEXN0qLLKssAg+ICVbsXV3e6ANLftpY3RkL0Cjbjtzxw694zRO9cKSOUr4RByBQp0O4t3QbW1m3XcjhCrglfBepHcT9svqdQ3oqAA X-Gm-Message-State: AOJu0YyXW7I5Ei062PBrG3TzxOHW5YU0QKymV90DkuzEukwdrnd0mLay GHpIgGVKZDR9QQhQknOXa1P+B9jDN+delE+mrKLUpRdzSSERhXhQMbiAqAWeHMDacx70Vf4zybL kuZ3e5OIWOoNK4ZM1F8LlU+OFr7tnDzut X-Google-Smtp-Source: AGHT+IFYBMZXDrB8KNItp54TaKlFOAmMSyL8yfRZ4+8sLcluCuzxnksFdxAxa1b4eV2Vkfgwl/zGSYp814t21XSwJk0= X-Received: by 2002:a05:6808:300e:b0:3c7:513b:4298 with SMTP id ay14-20020a056808300e00b003c7513b4298mr2802932oib.54.1714729124183; Fri, 03 May 2024 02:38:44 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Avinash Vallarapu Date: Fri, 3 May 2024 05:38:31 -0400 Message-ID: Subject: Re: Ora2pg Delta Migration: Oracle to PostgreSQL To: Muhammad Ikram , Amit Sharma Cc: Ron Johnson , PostgreSQL General Content-Type: multipart/alternative; boundary="0000000000005546950617897c74" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000005546950617897c74 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, Has anyone tried delta/incremental data migration for Oracle to PostgreSQL > using Ora2pg? Or what are the best options to run delta migration for > Oracle to PostgreSQL? There are a few ways of dealing with it when using Ora2Pg. *Option 1 : *Ora2Pg configuration file allows us to pass the conditions(predicates) to be applied to a table while migrating the data from a table. So, if there is a way to filter the data since the last full load, you can pass the condition to the configuration file, for each table. This is some work for sure but it works great if you are able to identify those conditions such as creation_date or last_updated_date, let's say. *Option2 :* Ora2Pg is currently CDC ready. What this means is that, Ora2Pg can provide the SCN at which the table copy has been initiated. Technically, we provide the SCN to the CDC tools or custom CDC techniques to continue replication since that SCN. *Option 2.1 :* Leverage Debezium, an Open Source solution to perform continuous replication from Oracle to PostgreSQL from the SCN produced by Ora2Pg for that table. So, it is all about Ora2Pg + Debezium It might be initially challenging, but you will get there. Regards, Avi Vallarapu, CEO, HexaCluster Corp. On Fri, May 3, 2024 at 3:25=E2=80=AFAM Muhammad Ikram w= rote: > Hi, > > Not related to Ora2PG but in the past I have used the EDB Migration > toolkit for such scenarios. Filterprops option can help in specifying > filter (where clause). > > Regards, > Ikram > > > On Fri, May 3, 2024 at 8:12=E2=80=AFAM Ron Johnson > wrote: > >> On Thu, May 2, 2024 at 8:28=E2=80=AFPM Amit Sharma = wrote: >> >>> Hello, >>> >>> Has anyone tried delta/incremental data migration for Oracle to >>> PostgreSQL using Ora2pg? Or what are the best options to run delta >>> migration for Oracle to PostgreSQL? >>> >> >> What do the ora2pg docs say about whether or not that feature is >> implemented? (It wasn't when I last used it in 2022.) >> >> > > > -- > Muhammad Ikram > > --0000000000005546950617897c74 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Has anyone tried delta/incremental da= ta migration for Oracle to PostgreSQL using Ora2pg? Or what are the best op= tions to run delta migration for Oracle to PostgreSQL?
There are a few ways of dealing with it when using Ora2Pg.

Option 1 : Ora2Pg configuration file allows us = to pass the conditions(predicates) to be=C2=A0applied to a table while migr= ating the data from a table. So, if there is a way to filter the data since= the last full load, you can pass the condition to the configuration file, = for each table. This is some work for sure but it works great if you are ab= le to identify those conditions such=C2=A0as creation_date or last_updated_= date, let's say.

Option2 : Ora2Pg is cu= rrently CDC ready. What this means is that, Ora2Pg can provide the SCN at w= hich the table copy has been initiated. Technically, we provide the SCN to = the CDC tools or custom CDC techniques to continue replication since that S= CN.

Option 2.1 : Leverage Debezium, = an Open Source solution to perform continuous replication from Oracle to Po= stgreSQL from the SCN produced by Ora2Pg for that table.

So, it is all about Ora2Pg=C2=A0+ Debezium

= It might be initially challenging, but you will get there.=C2=A0
=
Regards,
Avi Vallarapu,
CEO,=C2=A0
=
HexaCluster Corp.=C2=A0


=C2=A0=



On Fri, May 3, 2024 at 3:25=E2=80=AFAM = Muhammad Ikram <mmikram@gmail.com> wrote:
Hi,

Not related to Ora2PG but in the past= I have used the EDB Migration toolkit for such scenarios. Filterprops opti= on can help in specifying filter (where clause).

R= egards,
Ikram


On Thu= , May 2, 2024 at 8:28=E2=80=AFPM Amit Sharma <amitpgsql@gmail.com> wrote:
=
Hello,

Has anyone tried delta/increme= ntal data migration for Oracle to PostgreSQL using Ora2pg? Or what are the = best options to run delta migration for Oracle to PostgreSQL?

What do the ora2pg docs say about whether or= not that feature is implemented?=C2=A0 (It wasn't when I last used it = in 2022.)
=C2=A0


--
Muhammad Ikram


--0000000000005546950617897c74--