Aracılığıyla paylaş


Tasarım konuları ve Oracle Yayımcılar için kısıtlamaları

Publishing from an Oracle database is designed to work nearly identically to publishing from a Microsoft SQL Server database.Ancak, aşağıdaki sınırlamalar ve sorunlar farkında olmalısınız:

  • Oracle Gateway seçeneği Oracle yüzdesi seçeneği üzerinde geliştirilmiş performans sağlar; ancak, bu seçeneği aynı yayımlamak için kullanılamaz tablo birden çok işlem yayınlardaki.A tablo en fazla bir işlem yayım ve herhangi bir sayıda anlık görüntü görüntü yayınları bulunabilir.Aynı tabloda birden çok işlem yayınlarında yayımlamak istiyorsanız, Oracle tamamlandı seçeneğini seçin.

  • Çoğaltma, yayımlama tabloları, dizinler ve materialized görünümleri destekler.Diğer nesneler çoğaltılmaz.

  • Oracle veri işleme ve depolama arasındaki küçük bazı farklılıklar vardır ve SQL Server çoğaltma etkileyen veritabanları.

  • Nasıl işlem çoğaltma özellikleri, bir Oracle Yayımcı kullanılırken desteklenir farklılıkları vardır.

Oracle gelen nesneler Publishing desteği

Aşağıdaki nesneler, Oracle veritabanlarından çoğaltılan çoğaltmayı destekler:

  • Tablolar

  • Dizin düzenlenmiş tabloları

  • Dizinler

  • (Tablolar olarak yinelenir) materialized görünümleri

Aşağıdaki tablolarda yayımlanmış bulunabilir ancak değil çoğaltılır:

  • Etki alanı tabanlı dizin

  • Dizin işlev tabanlı

  • Varsayılanları

  • Kısıtlamalarını denetleyin.

  • Yabancı anahtarlar

  • Depolama seçenekleri (tablespaces, kümeler, vs.)

Aşağıdaki nesneler yinelenemez:

  • Iç içe geçmiş tablolar

  • Görünümler

  • Paketleri, paket gövdeler, yordamları ve Tetikleyicileri

  • Kuyrukları

  • Sıraları

  • Eşanlamlıları

Desteklenen veri türleri hakkında daha fazla bilgi için bkz: Oracle Yayımcılar için veri türü eşleştirme.

SQL Server ile Oracle arasındaki farkları

  • Oracle, bazı nesneler için farklı en büyük boyut sınırı vardır.En büyük boyutu sınırları içinde karşılık gelen nesneler için yayın Oracle veritabanında oluşturulan tüm nesneler bağlı SQL Server. Sınırları hakkında bilgi için SQL Server, bkz: SQL Server için en yüksek kapasite belirtimleri.

  • Varsayılan olarak, Oracle nesne adlarını büyük durum oluşturulur.Büyük durum Oracle nesnelerin adlarını yayımlarken bunları yoluyla tedarik sağlamak bir SQL Server Oracle veritabanı büyük durum olmaları durumunda dağıtımcı. Nesneleri doğru olarak belirlemek için hata durum belirten bir hata iletisi nesne bulunamıyor'de neden olabilir.

  • Oracle gelen biraz farklı bir SQL diyalekt sahiptir... SQL Server; Satır süzgeçleri Oracle uyumlu sözdiziminde yazılması gerekir.

Büyük bir nesne ile ilgili konuları

Büyük bir nesne (LOB) veri makale günlüğünde depolanan tablo; LOB veri güncelleştirmeleri her zaman alınır doğrudan gelen yayımlanmış tablo.LOB etkileyen bir işlem, çoğaltma tetikleyicisi yinelenmiş üzerinde yalnızca harekete, güncelleştirmelerin işlem yayınlarında çoğaltılan tablo.LOB'lar içeren satırları eklenen veya silinen yangın oracle tetikler; ancak güncelleştirmelerin LOB sütunlara Tetikleyicileri harekete değil.Ancak aynı satırda olmayan LOB sütunu da aynı Oracle hareketinde güncelleştirilir hemen LOB sütun için bir güncelleştirme çoğaltılacaktır.Tersi durumda, Abone tarafında LOB sütun olmayan LOB sütununun aynı satırındaki bir sonraki güncelleştirmesine gerçekleştiğinde yenilenir.Bu davranış, uygulamanız için kabul edilebilir olduğundan emin olun.

Işlem yayınlardaki LOB sütunları güncelleştirmeleri çoğaltmak için aşağıdaki stratejiler birini uygulama yazarken dikkate alın:

  • Silmek ve bu satırı güncelleştirmek yerine, bir işlem içinde satırları yeniden takın: Satır re-inserting yeni LOB belirtin. DELETE ve ınsert, Tetikleyicileri harekete olduğundan, satır çoğaltılacaktır.

  • Aynı Oracle işlemin bir parçası bir satır olmayan LOB sütunu güncelleştirmek veya LOB sütunun yanında Satır güncelleştirmedeki olmayan LOB sütun içerebilir.Her iki durumda olmayan-LOB güncelleştirmenin sütun, tetikleyici harekete sağlar.

LOB'lar hakkında daha fazla bilgi için bkz: Oracle Yayımcılar için veri türü eşleştirme.

Benzersiz dizinler ve kısıtlamalar

Benzersiz dizinler ve kısıtlamalar (birincil anahtar kısıtlamaları dahil) bulunan sütunlar, hem anlık görüntü görüntü hem de işlem çoğaltma için bazı kısıtlamalar için uygun olmalıdır.Bu sınırlamalara bağlı, kısıtlama veya dizin çoğaltılmaz.

  • Sütun bir dizinde izin sayısı SQL Server 16'dır.

  • Benzersiz kısıtlamaları dahil tüm sütunların veri türlerini desteklenen gerekir.Veri türleri hakkında daha fazla bilgi için bkz: Oracle Yayımcılar için veri türü eşleştirme.

  • Benzersiz kısıtlamaları dahil tüm sütunları yayımlanmış (bunlara filtre uygulanamaz).

  • Benzersiz kısıtlama veya dizin katılan sütunlar, null olmamalıdır.

Ayrıca, aşağıdaki konuları göz önünde bulundurun:

  • Oracle ve SQL Server NULL farklı biçimde işler: Oracle permits multiple rows with NULL values for columns that allow NULL and are included in unique constraints or indexes.SQL Server enforces uniqueness by only permitting a single row with a NULL value for the same column.Bir benzersiz (unique) sınırlaması veya dizin, NULL olduğundan, yayımlanmış tablosu dizin veya kısıtlama içinde bulunan sütunlar için BOş değerlerle birden fazla satır içeriyorsa abone bir kısıtlama ihlali ortaya çıkabilecek veren yayımlayamazsınız.

  • alan izleyen boşlukları için benzersizlik ilkesi sınarken, tarafından yoksayılır SQL Server Ancak Oracle değil.

Gibi SQL Server işlem çoğaltma, Oracle işlem yayımları tablolarda birincil anahtar gerektiren; birincil anahtarı yukarıda belirtilen kurallara göre benzersiz olması gerekir. Birincil anahtar önceki madde işaretleri belirtilen kurallara bağlı olmayan, tablo için işlem çoğaltma yayımlanamaz.

Oracle yayımlamayı ve standart bir işlem çoğaltma arasındaki farklar

  • Bir Oracle Yayımcı adıyla aynı olamaz: its SQL Server dağıtımcı; herhangi bir SQL Server dağıtımcı; kullanan bir yayımcı veya yayın aldığınız tüm abonelere. Yayınları aynı dağıtımcı tarafından verilen her benzersiz bir adı olmalıdır.

  • Bir tablo içinde bir Oracle yayımlanmış yayın çoğaltılmış verileri alamıyor.Bu nedenle, Oracle yayımlama desteklemez: anlık güncelleştirme ya da kuyruğa alınmış güncelleştirme abonelikler veya topolojiler, s yayın yayın tabloları eşler arası ve çift yönlü çoğaltma gibi abonelik tabloları da görür.

  • Oracle veritabanına yabancı anahtar ilişkileri için birincil anahtar olmayan abonelerine çoğaltıldı.Ancak, değişiklikleri teslim gibi ilişkileri veride saklanır.

  • Standart bir işlem yayımları tabloları en çok 1000 sütunların destekler.Oracle işlem yayımları 995 sütunları (çoğaltma için yayımlanan her tablo beş sütun ekler) destekler.

  • Harmanlama yan tümcesi, büyük/küçük harfe duyarlı bir karşılaştırma etkinleştirmek için CREATE tablo deyimleri için birincil anahtar ve benzersiz kısıtlamaları için önemli olduğu eklenir.Bu davranış ile belirtilen şema seçeneği, 0x1000 denetlenir @ schema_option parametresisp_addarticle (Transact-SQL).

  • Saklı yordamlar, yapılandırmak veya bir Oracle Yayımcı korumak için kullanıyorsanız, açık bir işlem içinde yordamlar koymayın.Bunun için Oracle bağlanmak için kullanılan bir bağlantılı sunucu üzerinde desteklenmiyor Yayımcı.

  • Sihirbaz ile çekme temelli abonelik için bir Oracle yayın oluşturursanız, yeni abonelik Sihirbazı ile sağlanan kullanmalısınız. SQL Server 2005 ve sonraki sürümleri. Önceki sürümleri için SQL Server, ancak, saklı yordam ve SQL-DMO arabirimleri Kur çekme abonelik Oracle yayınlar için kullanabilirsiniz.

  • Saklı yordamlar değişiklikleri aboneleri (varsayılan), MCALL sözdizimi desteklenir, ancak yayın bir Oracle Yayımcı'dan olduğunda davranış sahiptir unutmayın.Genellikle, hangi sütunların, Yayımcı tarafında güncelleştirildi gösteren bir bit eşlem MCALL sağlar.Bir Oracle yayınıyla, bit eşlem her zaman tüm sütunları güncelleştirildi gösterir.Saklı yordamlar kullanma hakkında daha fazla bilgi için bkz: Değişiklikler için işlem makaleleri nasıl yayılma belirtme.

Işlem çoğaltma özelliğinin desteği

  • Oracle yayınları SQL Server yayın destekleyen tüm şema seçenekleri desteklemez.Şema seçenekleri hakkında daha fazla bilgi için bkz: sp_addarticle (Transact-SQL).

  • Oracle yayınları abonelere hemen güncelleştirmek veya kuyruğa alınmış güncelleştirme aboneliği veya eşler arası veya çift yönlü topolojisinde düğümler edemiyor.

  • Oracle yayınları abonelere otomatik olarak bir yedek kopyadan başlatılamıyor.

  • SQL Server iki doğrulama türlerini destekler: ikili ve rowcount. Oracle yayımcılar rowcount doğrulama destekler.Daha fazla bilgi için bkz: Doğrulama veri yinelenmiş..

  • SQL Server iki anlık görüntü biçimleri sunar: Yerel Kullanımıbcp modu ve karakter modu. Oracle yayımcılar karakter modu anlık görüntüleri destekler.

  • Şema değişiklikleri, yayımlanmış bir Oracle tabloları için desteklenir.Şema değişiklikleri yapmak için , yayın öne, değişiklikleri yapın ve sonra yayın ve tüm abonelikler yeniden oluşturun.

    Not

    Şema değişiklikleri izleyen açılır ve yayın ve abonelikleri re-creation ne saat, aktivite yayımlanmış tabloları üzerinde oluştuğu anda gerçekleştirilmesi durumunda, 'çoğaltma desteği yalnızca' abonelikleri seçeneği belirtebilirsiniz.Bu, bunları her abone için anlık görüntü görüntü kopyalamak zorunda kalmadan eşitlenmesini sağlar.Daha fazla bilgi için bkz: Işlem bir aboneliği olmayan bir anlık görüntü başlatılıyor.

Çoğaltma güvenlik modeli

Oracle yayımlanması için güvenlik modeli güvenlik modeli aşağıdaki istisnalar standart işlem çoğaltma için aynıdır:

Çoğaltma güvenliği hakkında daha fazla bilgi için bkz: Güvenlik ve koruma (çoğaltma).