Azure Data Factory veya Azure Synapse Analytics kullanarak Oracle için Amazon RDS'den veri kopyalama
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu makalede, Oracle için Amazon RDS veritabanından veri kopyalamak için Azure Data Factory'deki kopyalama etkinliğinin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bakış üzerine inşa eder.
Desteklenen özellikler
Bu Oracle için Amazon RDS bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/-) | (1) (2) |
Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı
Kopyalama etkinliği tarafından kaynak veya havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Özellikle bu Oracle için Amazon RDS bağlayıcısı şunları destekler:
- Oracle için Amazon RDS veritabanının aşağıdaki sürümleri:
- Oracle 19c R1 (19.1) ve üzeri için Amazon RDS
- Oracle 18c R1 (18.1) ve üzeri için Amazon RDS
- Oracle 12c R1 (12.1) ve üzeri için Amazon RDS
- Oracle 11g R1 (11.1) ve üzeri için Amazon RDS
- Oracle için Amazon RDS kaynağından paralel kopyalama. Ayrıntılar için Oracle için Amazon RDS'den paralel kopya bölümüne bakın.
Not
Oracle proxy sunucusu için Amazon RDS desteklenmez.
Önkoşullar
Veri deponuz bir şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için yapılandırmanız gerekir.
Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime'ı kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.
Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket içi ağa erişmek için Azure Data Factory'deki yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.
Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.
Tümleştirme çalışma zamanı, Oracle için yerleşik bir Amazon RDS sürücüsü sağlar. Bu nedenle, Oracle için Amazon RDS'den veri kopyalarken bir sürücüyü el ile yüklemeniz gerekmez.
Kullanmaya başlayın
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak Oracle için Amazon RDS'ye bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde Oracle için Amazon RDS'ye bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Oracle için Amazon RDS'yi arayın ve Oracle için Amazon RDS bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, Oracle için Amazon RDS bağlayıcısına özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
Oracle için Amazon RDS bağlı hizmeti aşağıdaki özellikleri destekler:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | type özelliği AmazonRdsForOracle olarak ayarlanmalıdır. | Yes |
connectionString | Oracle Veritabanı için Amazon RDS örneğine bağlanmak için gereken bilgileri belirtir. Ayrıca Azure Key Vault'a parola ekleyebilir ve yapılandırmayı password bağlantı dizesi çıkarabilirsiniz. Diğer ayrıntılarla birlikte aşağıdaki örneklere ve Azure Key Vault'ta kimlik bilgilerini depolama bölümüne bakın. Desteklenen bağlantı türü: Veritabanınızı tanımlamak için Oracle SID için Amazon RDS veya Oracle Service Name için Amazon RDS kullanabilirsiniz: - SID kullanıyorsanız: Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>; - Hizmet Adı kullanıyorsanız: Host=<host>;Port=<port>;ServiceName=<servicename>;User Id=<username>;Password=<password>; Oracle için gelişmiş Amazon RDS yerel bağlantı seçenekleri için TNSNAMES'de bir giriş eklemeyi seçebilirsiniz. Oracle için Amazon RDS sunucusunda ve Oracle için Amazon RDS bağlı hizmetinde ORA dosyası, Oracle Hizmet Adı bağlantı türü için Amazon RDS'yi kullanmayı ve ilgili hizmet adını yapılandırmayı seçin. |
Yes |
connectVia | Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime kullanılır. | Hayır |
Yük devretme senaryosu için Oracle için birden çok Amazon RDS örneğiniz varsa Oracle bağlı hizmeti için Amazon RDS oluşturabilir ve birincil ana bilgisayarı, bağlantı noktasını, kullanıcı adını, parolayı vb. doldurabilir ve özellik adı ve değeri olarak AlternateServers
(HostName=<secondary host>:PortNumber=<secondary port>:ServiceName=<secondary service name>)
yeni bir "Ek bağlantı özellikleri" ekleyebilirsiniz. Köşeli ayraçları kaçırmayın ve ayırıcı olarak iki nokta üst üstelerine (:
) dikkat edin. Örneğin, aşağıdaki alternatif sunucu değeri, bağlantı yük devretmesi için iki alternatif veritabanı sunucusu tanımlar: (HostName=AccountingAmazonRdsForOracleServer:PortNumber=1521:SID=Accounting,HostName=255.201.11.24:PortNumber=1522:ServiceName=ABackup.NA.MyCompany)
.
Servis talebinize göre bağlantı dizesi olarak ayarlayabileceğiniz diğer bağlantı özellikleri:
Özellik | Açıklama | İzin verilen değerler |
---|---|---|
ArraySize | Bağlayıcının tek bir ağ gidiş dönüşte getirebileceği bayt sayısı. Örneğin, ArraySize=10485760 .Daha büyük değerler, ağ üzerinden veri getirme sayısını azaltarak aktarım hızını artırır. Daha küçük değerler, sunucunun veri iletmesini beklerken daha az gecikme olduğundan yanıt süresini artırır. |
1 ile 4294967296 (4 GB) bir tamsayı. Varsayılan değer 60000 olarak belirlenmiştir. 1 değeri bayt sayısını tanımlamaz, ancak tam olarak bir veri satırı için alan ayırmayı gösterir. |
Oracle bağlantısı için Amazon RDS'de şifrelemeyi etkinleştirmek için iki seçeneğiniz vardır:
Üçlü DES Şifrelemesi (3DES) ve Gelişmiş Şifreleme Standardı (AES) kullanmak için, Oracle için Amazon RDS sunucu tarafında Oracle Gelişmiş Güvenlik (OAS) bölümüne gidin ve şifreleme ayarlarını yapılandırın. Ayrıntılar için bu Oracle belgelerine bakın. Oracle için Amazon RDS Uygulama Geliştirme Çerçevesi (ADF) bağlayıcısı, Oracle için Amazon RDS'ye bağlantı kurarken OAS'de yapılandırdığınız şifreleme yöntemini kullanmak üzere otomatik olarak anlaşma sağlar.
TLS kullanmak için:
TLS/SSL sertifika bilgilerini alın. TLS/SSL sertifikanızın Ayırt Edici Kodlama Kuralları (DER) kodlanmış sertifika bilgilerini alın ve çıktıyı kaydedin (----- Sertifikayı Başlat ... Sertifikayı -----) bir metin dosyası olarak sonlandır.
openssl x509 -inform DER -in [Full Path to the DER Certificate including the name of the DER Certificate] -text
Örnek: DERcert.cer sertifika bilgilerini ayıklayın ve çıkışı cert.txt kaydedin.
openssl x509 -inform DER -in DERcert.cer -text Output: -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX -----END CERTIFICATE-----
veya
truststore
oluşturunkeystore
. Aşağıdaki komut, dosyayı PKCS-12 biçiminde parolayla veya parola olmadan oluştururtruststore
.openssl pkcs12 -in [Path to the file created in the previous step] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -nokeys -export
Örnek: Parolayla MyTrustStoreFile adlı bir PKCS12
truststore
dosyası oluşturun.openssl pkcs12 -in cert.txt -out MyTrustStoreFile -passout pass:ThePWD -nokeys -export
truststore
Dosyayı şirket içinde barındırılan IR makinesine yerleştirin. Örneğin, dosyayı C:\MyTrustStoreFile dizinine yerleştirin.Hizmette Oracle bağlantı dizesi için Amazon RDS'yi ve buna karşılık gelen
TrustStore
/TrustStorePassword
değeri yapılandırın.EncryptionMethod=1
Örneğin,Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>
.
Örnek:
{
"name": "AmazonRdsForOracleLinkedService",
"properties": {
"type": "AmazonRdsForOracle",
"typeProperties": {
"connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örnek: Azure Key Vault'ta parola depolama
{
"name": "AmazonRdsForOracleLinkedService",
"properties": {
"type": "AmazonRdsForOracle",
"typeProperties": {
"connectionString": "Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Veri kümesi özellikleri
Bu bölümde, Oracle için Amazon RDS veri kümesi tarafından desteklenen özelliklerin listesi sağlanır. Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . Veri kümeleri.
Oracle için Amazon RDS'den veri kopyalamak için veri kümesinin type özelliğini olarak AmazonRdsForOracleTable
ayarlayın. Aşağıdaki özellikler desteklenir.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin tür özelliği olarak AmazonRdsForOracleTable ayarlanmalıdır. |
Yes |
schema | Şemanın adı. | Hayır |
table | Tablo/görünümün adı. | Hayır |
tableName | Şema içeren tablonun/görünümün adı. Bu özellik geriye dönük uyumluluk için desteklenir. Yeni iş yükü için ve table kullanınschema . |
Hayır |
Örnek:
{
"name": "AmazonRdsForOracleDataset",
"properties":
{
"type": "AmazonRdsForOracleTable",
"schema": [],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
},
"linkedServiceName": {
"referenceName": "<Amazon RDS for Oracle linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopyalama etkinliğinin özellikleri
Bu bölümde, Oracle için Amazon RDS kaynağı tarafından desteklenen özelliklerin listesi sağlanır. Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . İşlem hatları.
Kaynak olarak Oracle için Amazon RDS
İpucu
Veri bölümlemeyi kullanarak Oracle için Amazon RDS'den verileri verimli bir şekilde yüklemek için Oracle için Amazon RDS'den paralel kopyalama bölümünden daha fazla bilgi edinin.
Oracle için Amazon RDS'den veri kopyalamak için kopyalama etkinliğindeki kaynak türünü olarak AmazonRdsForOracleSource
ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği olarak AmazonRdsForOracleSource ayarlanmalıdır. |
Yes |
oracleReaderQuery | 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 için Amazon RDS'den paralel kopya bölümüne bakın. |
Hayır |
partitionOptions | Oracle için Amazon RDS'den veri yüklemek için kullanılan veri bölümleme seçeneklerini belirtir. İzin verilen değerler şunlardır: Hiçbiri (varsayılan), PhysicalPartitionsOfTable ve DynamicRange. Bir bölüm seçeneği etkinleştirildiğinde (yani değil None ), Oracle için Amazon RDS veritabanından verileri eşzamanlı olarak yüklemek için paralellik derecesi kopyalama etkinliğindeki parallelCopies ayar tarafından denetlenmektedir. |
Hayır |
partitionSettings | Veri bölümleme ayarlarının grubunu belirtin. Bölüm seçeneği olmadığında None uygulayın. |
Hayır |
partitionNames | Kopyalanması gereken fiziksel bölümlerin listesi. Bölüm seçeneği olduğunda PhysicalPartitionsOfTable uygulayın. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfTabularPartitionName . Örneğin, Oracle için Amazon RDS'den paralel kopya bölümüne bakın. |
Hayır |
partitionColumnName | 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. Bölüm seçeneği olduğunda DynamicRange uygulayın. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfRangePartitionColumnName . Örneğin, Oracle için Amazon RDS'den paralel kopya bölümüne bakın. |
Hayır |
partitionUpperBound | Verileri kopyalamak için bölüm sütununun en yüksek değeri. Bölüm seçeneği olduğunda DynamicRange uygulayın. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfRangePartitionUpbound . Örneğin, Oracle için Amazon RDS'den paralel kopya bölümüne bakın. |
Hayır |
partitionLowerBound | Verileri kopyalamak için bölüm sütununun en düşük değeri. Bölüm seçeneği olduğunda DynamicRange uygulayın. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfRangePartitionLowbound . Örneğin, Oracle için Amazon RDS'den paralel kopya bölümüne bakın. |
Hayır |
Örnek: Bölümleme olmadan temel bir sorgu kullanarak verileri kopyalama
"activities":[
{
"name": "CopyFromAmazonRdsForOracle",
"type": "Copy",
"inputs": [
{
"referenceName": "<Amazon RDS for Oracle input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AmazonRdsForOracleSource",
"oracleReaderQuery": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Oracle için Amazon RDS'den paralel kopya
Oracle için Amazon RDS bağlayıcısı, Oracle için Amazon RDS'den paralel olarak veri 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ş kopyayı etkinleştirdiğinizde hizmet, Oracle kaynağınızın bölümlere göre veri yüklemesi için Amazon RDS'nizde paralel sorgular çalıştırır. Paralel derece, kopyalama etkinliğindeki parallelCopies
ayar tarafından denetlenilir. Örneğin, dört olarak ayarlarsanız parallelCopies
hizmet, belirtilen bölüm seçeneğinize ve ayarlarınıza göre aynı anda dört sorgu oluşturur ve çalıştırır ve her sorgu Oracle için Amazon RDS veritabanınızdan verilerin bir bölümünü alır.
Özellikle Oracle için Amazon RDS 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 (yalnızca klasör adını belirtin) yazmanız önerilir; 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çeneği: Tablonun fiziksel bölümleri. Sorgu: SELECT * FROM <TABLENAME> PARTITION("?AdfTabularPartitionName") WHERE <your_additional_where_clause> .Bölüm adı: Veri kopyalanacak bölüm adlarını belirtin. Belirtilmezse hizmet, Oracle için Amazon RDS veri kümesinde belirttiğiniz tablodaki fiziksel bölümleri otomatik olarak algılar. Yürütme sırasında hizmet ?AdfTabularPartitionName yerine gerçek bölüm adını alır ve Oracle için Amazon RDS'ye 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 ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound 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, , ?AdfRangePartitionUpbound ve ?AdfRangePartitionLowbound değerlerini her bölüm için gerçek sütun adı ve değer aralıklarıyla değiştirir ?AdfRangePartitionColumnName ve Oracle için Amazon RDS'ye 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.
Örnek: fiziksel bölüm içeren sorgu
"source": {
"type": "AmazonRdsForOracleSource",
"query": "SELECT * FROM <TABLENAME> PARTITION(\"?AdfTabularPartitionName\") WHERE <your_additional_where_clause>",
"partitionOption": "PhysicalPartitionsOfTable",
"partitionSettings": {
"partitionNames": [
"<partitionA_name>",
"<partitionB_name>"
]
}
}
Örnek: dinamik aralık bölümü olan sorgu
"source": {
"type": "AmazonRdsForOracleSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column>",
"partitionLowerBound": "<lower_value_of_partition_column>"
}
}
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . Desteklenen veri depoları.