Azure Data Factory veya Azure Synapse Analytics kullanarak Oracle'dan ve Oracle'a 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, Bir Oracle veritabanından ve 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 bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/havuz) | (1) (2) |
Arama etkinliği | (1) (2) |
Betik 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.
Bu Oracle bağlayıcısı özellikle şunları destekler:
- Oracle veritabanının aşağıdaki sürümleri:
- Oracle 19c R1 (19.1) ve üzeri
- Oracle 18c R1 (18.1) ve üzeri
- Oracle 12c R1 (12.1) ve üzeri
- Oracle 11g R1 (11.1) ve üzeri
- Oracle 10g R1 (10.1) ve üzeri
- Oracle 9i R2 (9.2) ve üzeri
- Oracle 8i R3 (8.1.7) ve üzeri
- Oracle Veritabanı Bulutu Exadata Hizmeti
- Oracle kaynağından paralel kopyalama. Ayrıntılar için Oracle'dan paralel kopya bölümüne bakın.
Not
Oracle proxy sunucusu 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ı yerleşik bir Oracle sürücüsü sağlar. Bu nedenle, Oracle'dan ve oracle'a 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'a bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde Oracle'a 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 araması yapın ve Oracle 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 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 bağlı hizmeti aşağıdaki özellikleri destekler:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | type özelliği Oracle olarak ayarlanmalıdır. | Yes |
connectionString | Oracle Veritabanı ö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 veya Oracle Hizmet Adı'nı 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>; Gelişmiş Oracle yerel bağlantı seçenekleri için TNSNAMES'de bir girdi eklemeyi seçebilirsiniz. Şirket içinde barındırılan tümleştirme çalışma zamanının yüklü olduğu makinedeki ORA dosyası ve Oracle bağlı hizmetinde Oracle Hizmet Adı bağlantı türünü 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 |
İpucu
"ORA-01025: UPI parametresi aralık dışında" hatasını alırsanız ve Oracle sürümünüz 8i ise bağlantı dizesi ekleyinWireProtocolMode=1
. Ardından yeniden deneyin.
Yük devretme senaryosu için birden çok Oracle örneğiniz varsa Oracle bağlı hizmeti 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 üste (:
) değerlerine 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=AccountingOracleServer: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ında ş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 sunucu tarafında Oracle Advanced Security (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 Application Development Framework (ADF) bağlayıcısı, Oracle ile bağlantı kurarken OAS'de yapılandırdığınız şifreleme yöntemini kullanmak için otomatik olarak anlaşma sağlar.
TLS kullanmak için, aşağıdaki üç yöntemden birini uygulayarak SSL sunucusu kimlik doğrulaması için ayarlayın
truststore
:Yöntem 1 (önerilir):
TLS/SSL sertifikasını yerel sertifika deposuna aktararak yükleyin. Yerleşik Oracle sürücüsü, gerekli sertifikayı sertifika deposundan yükleyebilir.
Hizmette Oracle bağlantı dizesi ile
EncryptionMethod=1
yapılandırın.
2. Yöntem:
TLS/SSL sertifika bilgilerini alın. TLS/SSL sertifikanızın Ayırt Edici Kodlama Kuralları (DER) ile kodlanmış veya Gizlilik Gelişmiş Posta (PEM) kodlanmış sertifika bilgilerini alın.
openssl x509 -inform (DER|PEM) -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -text
Hizmette Oracle bağlantı dizesi
EncryptionMethod=1
ve buna karşılık gelenTrustStore
değeri yapılandırın. ÖrneğinHost=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore= data:// -----BEGIN CERTIFICATE-----<certificate content>-----END CERTIFICATE-----
Not
- Alanının değerine
TrustStore
ön ekdata://
eklenmelidir. - Birden çok sertifika için içerik belirtirken ve arasında
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
her sertifikanın içeriğini belirtin. Tire sayısı (-----
), hemEND CERTIFICATE
deBEGIN CERTIFICATE
sonrasında aynı olmalıdır. Örneğin:
-----BEGIN CERTIFICATE-----<certificate content 1>-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----<certificate content 2>-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----<certificate content 3>-----END CERTIFICATE-----
- Alanı en
TrustStore
fazla 8192 karakter uzunluğunda içeriği destekler.
- Alanının değerine
Yöntem 3:
truststore
Dosyayı AES256 gibi güçlü şifrelemelerle oluşturun.openssl pkcs12 -in [Full Path to the DER/PEM Certificate including the name of the DER/PEM Certificate] -out [Path and name of TrustStore] -passout pass:[Keystore PWD] -keypbe AES-256-CBC -certpbe AES-256-CBC -nokeys -export
truststore
Dosyayı şirket içinde barındırılan tümleştirme çalışma zamanı makinesine yerleştirin. Örneğin, dosyasını konumundaC:\MyTrustStoreFile
yerleştirin.Hizmette Oracle bağlantı dizesi
EncryptionMethod=1
ve buna karşılık gelenTrustStore
/TrustStorePassword
değeri yapılandırın. Örneğin,Host=<host>;Port=<port>;Sid=<sid>;User Id=<username>;Password=<password>;EncryptionMethod=1;TrustStore=C:\\MyTrustStoreFile;TrustStorePassword=<trust_store_password>
.
Örnek:
{
"name": "OracleLinkedService",
"properties": {
"type": "Oracle",
"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": "OracleLinkedService",
"properties": {
"type": "Oracle",
"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 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.
ve'den Oracle'a veri kopyalamak için veri kümesinin tür özelliğini olarak OracleTable
ayarlayın. Aşağıdaki özellikler desteklenir.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin tür özelliği olarak OracleTable ayarlanmalıdır. |
Yes |
schema | Şemanın adı. | Kaynak için Hayır, havuz için Evet |
table | Tablo/görünümün adı. | Kaynak için Hayır, havuz için Evet |
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 . |
Kaynak için Hayır, havuz için Evet |
Örnek:
{
"name": "OracleDataset",
"properties":
{
"type": "OracleTable",
"schema": [],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
},
"linkedServiceName": {
"referenceName": "<Oracle linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopyalama etkinliğinin özellikleri
Bu bölümde Oracle kaynağı ve havuzu 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
İpucu
Veri bölümlemeyi kullanarak Oracle'dan verileri verimli bir şekilde yüklemek için Oracle'ın Paralel kopyası bölümünden daha fazla bilgi edinin.
Oracle'dan veri kopyalamak için kopyalama etkinliğindeki kaynak türünü olarak OracleSource
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 OracleSource 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'dan paralel kopya bölümüne bakın. |
Hayır |
convertDecimalToInteger | Sıfır veya belirtilmemiş ölçek içeren Oracle NUMBER türü karşılık gelen tamsayıya dönüştürülür. İzin verilen değerler true ve false (varsayılan) değerleridir. | Hayır |
partitionOptions | Oracle'dan 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 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 . Bir örnek için Oracle'dan 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 . Bir örnek için Oracle'dan 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 . Bir örnek için Oracle'dan 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 . Bir örnek için Oracle'dan paralel kopya bölümüne bakın. |
Hayır |
Örnek: Bölümleme olmadan temel bir sorgu kullanarak verileri kopyalama
"activities":[
{
"name": "CopyFromOracle",
"type": "Copy",
"inputs": [
{
"referenceName": "<Oracle input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "OracleSource",
"convertDecimalToInteger": false,
"oracleReaderQuery": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Havuz olarak Oracle
Verileri Oracle'a kopyalamak için kopyalama etkinliğindeki havuz türünü olarak OracleSink
ayarlayın. Kopyalama etkinliği havuzu bölümünde aşağıdaki özellikler desteklenir.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği havuzu type özelliği olarak OracleSink ayarlanmalıdır. |
Yes |
writeBatchSize | Arabellek boyutu değerine ulaştığında writeBatchSize SQL tablosuna veri ekler.İzin verilen değerler Tamsayıdır (satır sayısı). |
Hayır (varsayılan değer 10.000'dir) |
writeBatchTimeout | Toplu ekleme işleminin zaman aşımına uğramadan önce tamamlanması için bekleme süresi. İzin verilen değerler Zaman Aralığı'dır. Örnek olarak 00:30:00 (30 dakika) gösteriliyor. |
Hayır |
preCopyScript | Her çalıştırmada Oracle'a veri yazmadan önce kopyalama etkinliğinin çalıştırılması için bir SQL sorgusu belirtin. Önceden yüklenmiş verileri temizlemek için bu özelliği kullanabilirsiniz. | Hayır |
maxConcurrentConnections | 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. | Hayır |
Örnek:
"activities":[
{
"name": "CopyToOracle",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Oracle output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "OracleSink"
}
}
}
]
Oracle'dan paralel kopya
Oracle bağlayıcısı, Oracle'dan 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ş kopyalamayı etkinleştirdiğinizde hizmet, verileri bölümlere göre yüklemek için Oracle kaynağınızda 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 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 (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 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'a 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'a 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": "OracleSource",
"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": "OracleSource",
"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>"
}
}
Oracle için veri türü eşlemesi
Oracle'dan ve oracle'a veri kopyaladığınızda, hizmet içinde aşağıdaki ara veri türü eşlemeleri kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.
Oracle veri türü | Ara veri türü |
---|---|
BFILE | Bayt[] |
BLOB | Bayt[] (yalnızca Oracle 10g ve üzeri sürümlerde desteklenir) |
CHAR | String |
CLOB | String |
DATE | DateTime |
FLOAT | Ondalık, Dize (duyarlık > 28 ise) |
TAM SAYI | Ondalık, Dize (duyarlık > 28 ise) |
UZUN | String |
LONG RAW | Bayt[] |
NCHAR | String |
NCLOB | String |
SAYI (p,s) | Ondalık, Dize (p > 28 ise) |
Duyarlık ve ölçek olmadan SAYI | Çift |
NVARCHAR2 | String |
ÇİĞ | Bayt[] |
ROWID | String |
TIMESTAMP | DateTime |
YEREL SAAT DILIMI ILE ZAMAN DAMGASı | String |
SAAT DILIMI ILE ZAMAN DAMGASı | String |
İŞARETSIZ TAMSAYı | Sayı |
VARCHAR2 | String |
XML | String |
Not
INTERVAL YEAR TO MONTH ve INTERVAL DAY TO SECOND veri türleri desteklenmez.
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ı.