Kopyalama etkinliğinde Oracle veritabanını yapılandırma
Bu makalede, oracle veritabanından ve veritabanından veri kopyalamak için veri işlem hattındaki kopyalama etkinliğinin nasıl kullanılacağı özetlenmiştir.
Desteklenen yapılandırma
Kopyalama etkinliği altındaki her sekmenin yapılandırması için sırasıyla aşağıdaki bölümlere gidin.
Genel
Genel ayarlar sekmesini yapılandırmak için Genel ayarlar kılavuzuna bakın.
Kaynak
Aşağıdaki özellikler, kopyalama etkinliğinin Kaynak sekmesinde Oracle veritabanı için desteklenir.
Aşağıdaki özellikler gereklidir:
- Bağlantı: Bağlantı listesinden bir Oracle veritabanı bağlantısı seçin. Bağlantı yoksa, bağlantı listesinin alt kısmındaki Diğer'i seçerek yeni bir Oracle veritabanı bağlantısı oluşturun.
- Sorguyu kullan: Tablo veya Sorgu'dan öğesini seçin.
Tablo'ya seçerseniz:
Tablo: Oracle veritabanında veri okunacak tablonun adını belirtin. Şemayı ve tablo adını girmek için açılan listeden tabloyu seçin veya El ile gir'i seçin.
Sorgu'yu seçerseniz:
Gelişmiş'in altında aşağıdaki alanları belirtebilirsiniz:
Bölüm seçeneği: Oracle veritabanından veri yüklemek için kullanılan veri bölümleme seçeneklerini belirtir. Bölüm seçeneği etkinleştirildiğinde (Hiçbiri değil), Oracle veritabanından verileri eşzamanlı olarak yüklemek için paralellik derecesi, kopyalama etkinliği ayarları sekmesindeki Kopyalama paralelliği derecesi tarafından denetlenmektedir.
Hiçbiri'ni seçerseniz bölüm kullanmamayı seçersiniz.
Tablonun Fiziksel bölümleri'ne seçerseniz:
Bölüm adları: Kopyalanması gereken fiziksel bölümlerin listesini belirtin.
Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın
?DfTabularPartitionName
. Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın.
Dinamik aralık'ı seçerseniz:
Bölüm sütunu adı: Paralel kopyalama için aralık bölümleme tarafından kullanılacak tamsayı türünde kaynak sütunun adını belirtin. Belirtilmezse, tablonun birincil anahtarı otomatik olarak algılanır ve bölüm sütunu olarak kullanılır.
Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın
?DfRangePartitionColumnName
. Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın.Bölüm üst sınırı: Verileri kopyalamak için bölüm sütununun en yüksek değerini belirtin.
Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın
?DfRangePartitionUpbound
. Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın.Bölüm alt sınırı: Verileri kopyalamak için bölüm sütununun en düşük değerini belirtin.
Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın
?DfRangePartitionLowbound
. Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın.
Sorgu zaman aşımı (dakika):Sorgu komutu yürütme için zaman aşımını belirtin; varsayılan değer 120 dakikadır. Bu özellik için bir parametre ayarlandıysa, izin verilen değerler "02:00:00" (120 dakika) gibi zaman aralığıdır.
Ek sütunlar: Kaynak dosyaların göreli yolunu veya statik değerini depolamak için ek veri sütunları ekleyin. İfade, ikincisi için desteklenir.
Hedef
Aşağıdaki özellikler, kopyalama etkinliğinin Hedef sekmesi altında Oracle veritabanı için desteklenir.
Aşağıdaki özellikler gereklidir:
- Bağlantı: Bağlantı listesinden bir Oracle veritabanı bağlantısı seçin. Bağlantı yoksa, bağlantı listesinin en altındaki Diğer'i seçerek yeni bir Oracle veritabanı bağlantısı oluşturun.
- Tablo: Açılan listeden veritabanınızdaki tabloyu seçin. Veya şemayı ve tablo adını girmek için El ile Enter'ı işaretleyin.
Gelişmiş'in altında aşağıdaki alanları belirtebilirsiniz:
- Kopyalama öncesi betiği: Her çalıştırmada Oracle veritabanına veri yazmadan önce yürütülecek kopyalama etkinliği için bir SQL sorgusu belirtin. Önceden yüklenmiş verileri temizlemek için bu özelliği kullanabilirsiniz.
- Toplu iş yazma zaman aşımı: Toplu ekleme işleminin zaman aşımına uğramadan önce tamamlanması için bekleme süresi. İzin verilen değer zaman aralığıdır. Örnek olarak 00:30:00 (30 dakika) gösteriliyor.
- Toplu iş boyutu yazma: Toplu iş başına Oracle veritabanı tablosuna eklenecek satır sayısını belirtin. İzin verilen değer tamsayıdır (satır sayısı). Varsayılan değer 10.000'dir.
- En fazla eşzamanlı bağlantı: Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin.
Eşleme
Eşleme sekmesi yapılandırması için Eşleme sekmesinin altında Eşlemelerinizi yapılandırma bölümüne gidin.
Ayarlar
Ayarlar sekmesi yapılandırması için ayarlar sekmesinin altındaki Diğer ayarlarınızı yapılandırma bölümüne bakın.
Oracle veritabanından paralel kopyalama
Oracle veritabanı bağlayıcısı, Oracle veritabanındaki verileri paralel olarak kopyalamak için yerleşik veri bölümleme sağlar. Veri bölümleme seçeneklerini kopyalama etkinliğinin Kaynak sekmesinde bulabilirsiniz.
Bölümlenmiş kopyalamayı etkinleştirdiğinizde hizmet, bölümlere göre veri yüklemek için Oracle veritabanı kaynağınızda paralel sorgular çalıştırır. Paralel derece, kopyalama etkinliği ayarları sekmesindeki Kopya paralelliği derecesi ayarıyla denetlenilir. Örneğin, Kopyalama paralelliği Derecesini dört olarak ayarlarsanız, hizmet aynı anda belirtilen bölüm seçeneğinize ve ayarlarınıza göre dört sorgu oluşturur ve çalıştırır ve her sorgu Oracle veritabanınızdan verilerin bir bölümünü alır.
Özellikle Oracle veritabanınızdan büyük miktarda veri yüklediğinizde veri bölümleme ile paralel kopyalamayı etkinleştirmeniz önerilir. Farklı senaryolar için önerilen yapılandırmalar aşağıdadır. Verileri dosya tabanlı veri deposuna kopyalarken, bir klasöre birden çok dosya olarak yazmanız önerilir (yalnızca klasör adını belirtin), bu durumda performans tek bir dosyaya yazmaktan daha iyidir.
Senaryo | Önerilen ayarlar |
---|---|
Fiziksel bölümleri olan büyük tablodan tam yük. | Bölüm seçeneği: Tablonun fiziksel bölümleri. Yürütme sırasında, hizmet fiziksel bölümleri otomatik olarak algılar ve bölümlere göre verileri kopyalar. |
Veri bölümleme için bir tamsayı sütunuyla birlikte fiziksel bölümler olmadan büyük tablodan tam yük. | Bölüm seçenekleri: Dinamik aralık bölümü. Bölüm sütunu: Verileri bölümleme için kullanılan sütunu belirtin. Belirtilmezse birincil anahtar sütunu kullanılır. |
Fiziksel bölümler içeren özel bir sorgu kullanarak büyük miktarda veri yükleyin. | Bölüm seçenekleri: Tablonun fiziksel bölümleri. Sorgu: SELECT * FROM <TABLENAME> PARTITION("?DfTabularPartitionName") WHERE <your_additional_where_clause> . Bölüm adı: Veri kopyalanacak bölüm adlarını belirtin. Belirtilmezse, hizmet Oracle veritabanı verilerinde belirttiğiniz tablodaki fiziksel bölümleri otomatik olarak algılar. Yürütme sırasında hizmet ?DfTabularPartitionName yerine gerçek bölüm adını alır ve Oracle veritabanına gönderir. |
Veri bölümleme için bir tamsayı sütunuylayken fiziksel bölümler olmadan özel bir sorgu kullanarak büyük miktarda veri yükleyin. | Bölüm seçenekleri: Dinamik aralık bölümü. Sorgu: SELECT * FROM <TABLENAME> WHERE ?DfRangePartitionColumnName <= ?DfRangePartitionUpbound AND ?DfRangePartitionColumnName >= ?DfRangePartitionLowbound AND <your_additional_where_clause> .Bölüm sütunu: Verileri bölümleme için kullanılan sütunu belirtin. Tamsayı veri türüne sahip sütuna göre bölümleyebilirsiniz. Bölüm üst sınırı ve bölüm alt sınırı: Yalnızca alt ve üst aralık arasındaki verileri almak için bölüm sütununa göre filtrelemek isteyip istemediğinizi belirtin. Yürütme sırasında, hizmet , ?DfRangePartitionUpbound ve ?DfRangePartitionLowbound yerine ?DfRangePartitionColumnName her bölüm için gerçek sütun adı ve değer aralıkları ekler ve Oracle veritabanına gönderir. Örneğin, "ID" bölüm sütununuz alt sınır 1 ve üst sınır 80 olarak ayarlanırsa, paralel kopya 4 olarak ayarlanırsa, hizmet verileri 4 bölüme göre alır. Kimlikleri sırasıyla [1,20], [21, 40], [41, 60] ve [61, 80] arasındadır.' |
İpucu
Bölümlenmemiş bir tablodan veri kopyalarken, bir tamsayı sütununa göre bölümleme yapmak için "Dinamik aralık" bölümleme seçeneğini kullanabilirsiniz. Kaynak verilerinizde bu tür bir sütun yoksa, bir sütun oluşturmak ve bunu bölüm sütunu olarak kullanmak için kaynak sorgudaki ORA_HASH işlevinden yararlanabilirsiniz.
Tablo özeti
Aşağıdaki tablolar Oracle veritabanındaki kopyalama etkinliği hakkında daha fazla bilgi içerir.
Kaynak bilgileri
Veri Akışı Adı | Açıklama | Değer | Zorunlu | JSON betik özelliği |
---|---|---|---|---|
Bağlantı | Kaynak veri deposuyla bağlantınız. | <Oracle veritabanı bağlantınız> | Yes | bağlantı |
Sorguyu kullanma | Oracle veritabanından veri okumanın yolu. Belirtilen tablodan verileri okumak için Tablo uygula veya SQL sorgularını kullanarak verileri okumak için Sorgu'yu uygulayın. | • Tablo • Sorgu |
Yes | / |
Tablo için | ||||
şema adı | Şemanın adı. | < şema adınız > | Hayır | schema |
tablo adı | Tablonun adı. | < tablonuzun adı > | Hayır | table |
Sorgu için | ||||
Sorgu | Verileri okumak için özel SQL sorgusunu kullanın. SELECT * FROM MyTable bunun bir örneğidir. Bölümlenmiş yükü etkinleştirdiğinizde, sorgunuzda ilgili yerleşik bölüm parametrelerini bağlamanız gerekir. Örnekler için Oracle veritabanından paralel kopya bölümüne bakın. |
< SQL sorguları > | Hayır | oracleReaderQuery |
Bölüm seçeneği | Oracle veritabanından veri yüklemek için kullanılan veri bölümleme seçenekleri. | • Yok (varsayılan) • Tablonun fiziksel bölümleri • Dinamik aralık |
Hayır | / |
Tablonun Fiziksel bölümleri için | ||||
Bölüm adları | Kopyalanması gereken fiziksel bölümlerin listesi. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?DfTabularPartitionName . |
< bölüm adlarınız > | Hayır | partitionNames |
Dinamik aralık için | ||||
Bölüm sütunu adı | Paralel kopyalama için aralık bölümleme tarafından kullanılacak tamsayı türünde kaynak sütunun adını belirtin. Belirtilmezse, tablonun birincil anahtarı otomatik olarak algılanır ve bölüm sütunu olarak kullanılır. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?DfRangePartitionColumnName . Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın. |
< bölüm sütun adlarınız > | Hayır | partitionColumnName |
Bölüm üst sınırı | Verileri kopyalamak için bölüm sütununun en yüksek değerini belirtin. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?DfRangePartitionUpbound . Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın. |
< bölümünüzün üst sınırı > | Hayır | partitionUpperBound |
Bölüm alt sınırı | Verileri kopyalamak için bölüm sütununun en düşük değerini belirtin. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?DfRangePartitionLowbound . Bir örnek için Oracle veritabanından paralel kopya bölümüne bakın. |
< bölümünüzün alt sınırı > | Hayır | partitionLowerBound |
Sorgu zaman aşımı | Sorgu komutu yürütme zaman aşımı varsayılan olarak 120 dakikadır. | timespan | Hayır | queryTimeout |
Ek sütunlar | Kaynak dosyaların göreli yolunu veya statik değerini depolamak için ek veri sütunları ekleyin. İfade, ikincisi için desteklenir. | • Adı •Değer |
Hayır | additionalColumns: •ad •değer |
Hedef bilgileri
Veri Akışı Adı | Açıklama | Değer | Zorunlu | JSON betik özelliği |
---|---|---|---|---|
Bağlantı | Hedef veri deposuna bağlantınız. | <Oracle veritabanı bağlantınız> | Yes | bağlantı |
Table | Hedef veri tablonuz. | <hedef tablonuzun adı> | Yes | / |
şema adı | Şemanın adı. | < şema adınız > | Yes | schema |
tablo adı | Tablonun adı. | < tablonuzun adı > | Yes | table |
Ön kopyalama betiği | Her çalıştırmada Oracle veritabanına veri yazmadan önce yürütülecek kopyalama etkinliği için bir SQL sorgusu. Önceden yüklenmiş verileri temizlemek için bu özelliği kullanabilirsiniz. | < kopyalama öncesi betiğiniz > | Hayır | preCopyScript |
Toplu iş yazma zaman aşımı | Toplu ekleme işleminin zaman aşımına uğramadan önce tamamlanması için bekleme süresi. | timespan | Hayır | writeBatchTimeout |
Toplu iş boyutu yazma | Toplu iş başına SQL tablosuna eklenecek satır sayısı. | integer (varsayılan değer 10.000'dir) |
Hayır | writeBatchSize |
En fazla eşzamanlı bağlantı | Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. | < en fazla eşzamanlı bağlantı > | Hayır | maxConcurrentConnections |