Aracılığıyla paylaş


Oracle yayımcılar sorun giderme

Bu konuda bir Oracle Yayımcı yapılandırma ve kullanırken oluşabilecek sorunların sayısını listeler.

Oracle istemcisi ve ağ yazılımı ile ilgili bir hata ortaya çıkar

The account under which Microsoft SQL Server runs on the Distributor must be granted read and execute permissions for the directory (and all subdirectories) in which the Oracle client networking software is installed.İzinlere sahip veya Oracle istemci bileşenleri düzgün yüklü değilse, aşağıdaki hata iletisini alırsınız:

"[Microsoft ole db Provider for Oracle] ile sunucu bağlantısı başarısız oldu.Oracle istemci ve ağ bileşenleri bulundu.Bu bileşenler Oracle Corporation tarafından sağlanan ve Oracle 7.3.3 veya daha sonra istemci yazılımı yüklemesinin bir parçasıdır.%1 Sağlayıcısı işlev bu bileşenler yüklenmedikçe. "

Uygun bir Oracle istemcisi dağıtıcıda yüklenmişse, emin SQL Server durdurulup yeniden sonra istemci yükleme tamamlandı.Bunun için gerekli SQL Server için tanı istemci bileşenleri.

İzin verilen ve bileşenlerinin düzgün yüklü olduğu, ancak bu hata devam ederse doğrulanmış, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI adresindeki kayıt defteri ayarlarının doğru olduğunu doğrulayın:

  • Oracle 10 g'için olan doğru ayarları

    • OracleOciLib = oci.dll

    • OracleSqlLib orasql10.dll =

    • OracleXaLib oraclient10.dll =

  • Oracle 9i'için olan doğru ayarları

    • OracleOciLib = oci.dll

    • OracleSqlLib orasql9.dll =

    • OracleXaLib oraclient9.dll =

Dağıtıcı sql Server Oracle veritabanı örneğine bağlanamıyor

If the SQL Server Distributor cannot connect to the Oracle Publisher, ensure that:

  • Gerekli Oracle yazılımı dağıtıcı üzerinde yüklü.

  • Oracle veritabanının çevrimiçi olduğundan ve sql gibi araç kullanarak bağlanabileceğiniz * artı.

  • Oturum açma çoğaltma kullanımlar için Oracle yayımcı bağlanmak için yeterli izinlere sahiptir.Daha fazla bilgi için bkz: Bir Oracle Yayımcı yapılandırma.

  • Oracle yayımcı yapılandırma sırasında tanımlanan tns adları tnsnames.ora dosyasındaki listelenir.

  • Doğru Oracle Giriş ve yol kullanılır.Yalnızca küme Oracle ikili dosyalarının yüklü olsa bile, SQL Server dağıtıcı, ortam değişkenleri için Oracle ilgili emin olmak Giriş düzgün ayarlandığından.Ortam değişkeni değerlerini değiştirirseniz, yeniden başlatılmasına ve gereken SQL Server için bir değişiklik olması etkili.

Yapılandırma ve bağlanırlığını sınama hakkında daha fazla bilgi için bkz: "yükleme ve yapılandırma Oracle istemci ağ yazılımı, SQL Server dağıtıcı" in Bir Oracle Yayımcı yapılandırma.

Oracle Yayımcı başka bir dağıtıcı ile ilişkili olduğu

Bir Oracle Yayımcı yalnızca biriyle ilişkilendirilen SQL Server dağıtıcı.Farklı bir dağıtıcı Oracle yayımcı ile ilişkili ise, başka bir dağıtıcı kullanılmadan önce onu kesilmesini gerekir.Dağıtıcı önce açılmış olup, aşağıdaki hata iletilerinden birini alırsınız:

  • ' Oracle sunucusu örnek '<OraclePublisherName>' kullanmak için önceden yapılandırılmış '<SQLServerDistributorName>' Dağıtıcı olarak.Kullanmaya başlamak için '<NewSQLServerDistributorName>' onun dağıtıcı olarak Oracle Sunucusu geçerli çoğaltma yapılandırmasına kaldırmanız gerekir örnek, sunucu üzerindeki tüm yayınları siler örnek. "

  • ' Oracle sunucusu '<OracleServerName>' zaten yayımcı olarak tanımlanan '<OraclePublisherName>' dağıtımcı üzerindeki '<SQLServerDistributorName>.<DistributionDatabaseName>'.Publisher bırakma veya ortak eşanlamlı bırakın '<SynonymName>' yeniden oluşturmak için. "

Oracle yayımcı bırakılan olduğunda, Oracle veritabanı çoğaltma nesneleri otomatik olarak temizlenmesini.Ancak, bazı durumlarda Oracle çoğaltma nesneleri elle temizleme gereklidir.Oracle çoğaltma nesneleri çoğaltma tarafından oluşturulan el ile temizlemek için:

  1. Oracle publisher dba izinleriyle bağlanır.

  2. sql komutu DROP PUBLIC SYNONYM MSSQLSERVERDISTRIBUTOR;.

  3. Issue the SQL command DROP USER <replication_administrative_user_schema>CASCADE;.

sql Server hata 21663 birincil anahtar eksikliği ile ilgili ortaya çıkar

İşlem yayımları makalelerinde, geçerli bir birincil anahtar olmalıdır.Geçerli bir birincil anahtar olmayan, bir makale eklemeye çalıştığınızda aşağıdaki hata iletisini alırsınız:

"Kaynak tablo için geçerli birincil anahtar olmayan bulundu [<TableOwner>].<TableName>"

Birincil anahtarlar gereksinimleri hakkında daha fazla bilgi için "Benzersiz dizinler ve kısıtlamalar" bölümüne bakın. konudaki Tasarım konuları ve Oracle yayımcılar için sınırlamalar.

sql Server hata 21642 bir çift bağlantılı sunucu oturumu ile ilgili ortaya çıkar

Bir Oracle Yayımcı ilk yapılandırıldığında, Yayımcı ve dağıtımcı arasında bağlantı için bir bağlantılı sunucu girişi oluşturulur.Bağlantılı sunucu Oracle tns hizmet adı olarak aynı ada sahip.Aynı ada sahip bir bağlantılı sunucu oluşturmak çalışırsanız, aşağıdaki hata iletisi gösterilir:

"Türdeş olmayan yayımcılar bağlantılı sunucu gerektirir.A bağlantılı sunucu adlı '<LinkedServerName>' zaten var.Lütfen bağlantılı sunucu kaldırın veya farklı bir yayımcı adı seçin."

Doğrudan bağlantılı sunucu oluşturmak çalışırsanız veya Oracle Yayımcı arasındaki ilişkiyi daha önce bırakılan bu hata ortaya çıkar ve SQL Server , dağıtıcı ve size şimdi deneyen it. yeniden yapılandırmakYayımcı yeniden yapılandırmak çalışırken bu hata iletisini alırsanız, bağlantılı sunucu ile doğrudan sp_dropserver (Transact-SQL).

Oracle Yayımcı bağlantılı sunucu bağlantısı üzerinden bağlanmak gerekiyorsa, tns hizmet adını oluşturursanız ve daha sonra bu adı ararken kullanmak sp_addlinkedserver (Transact-SQL).tns hizmet adları oluşturma hakkında daha fazla bilgi için Oracle belgelerine bakın.

sql Server hata 7395 iç içe geçmiş hareketleri ile ilgili ortaya çıkar

Açmaya çalışırsanız, yürütmek iç içe geçmiş hareketleri Oracle Yayımcı bağlantılı sunucu bağlantısı üzerinden aşağıdaki hatayı alırsınız:

"ole db sağlayıcı 'msdaora' için iç içe geçmiş bir hareketi başlatmak açılamıyor bağlantılı sunucu için '<sunucuadı>'.xact_abort seçeneği off için küme olduğu için iç içe geçmiş bir hareket gerekli."

Çoğaltma depolanan yordamlar yapılandırmak veya Oracle Yayımcı korumak için kullanırsanız, yordamları belirtik işlem içinde sarılır.

sql Server hata 21617 yükseltilmiş

Oracle yayımlama kullanan Oracle uygulama sql * plus için Oracle veritabanı Yayımcı destek kod paket karşıdan yüklemek için.Oracle Yayımcı yapılandırmaya çalışmadan önce SQL Server doğrular, sql * plus dağıtıcı sistem yol üzerinden erişebileceğinizsql * plus, aşağıdaki hata iletisi gösterilir yüklenemiyor:

"Çalıştırılamıyor sql * plus.Bazı Oracle istemci kodu yüklü en son sürüm yapan dağıtımcı. "

Müşterinizin sql * plus dağıtıcı.Bir Oracle 10 g istemci yüklemesi için bu yürütülebilir sqlplus.exe adıdır.Genellikle % ORACLE_HOME%/bin de yüklenir.Doğrulamak için yolu sql * plus görünür sistem yolunda sistem değişkeni değerini incelemek yol:

  1. Sağ Bilgisayarımve i Özellikler.

  2. ' I Gelişmiş sekmesini ve sonra ortam değişkenleri.

  3. De Ortam değişkenleri iletişim kutusunda Sistem değişkenleri liste, seçme yol değişkeni tıklatın ve sonra düzenleme.

  4. De Sistem değişkeni Düzenle iletişim kutusu: yol içeren klasörü sqlplus.exe, yok değişken değeri metin onu eklenecek dize kutusuna.

  5. ' I Tamam her Aç iletişim kutusunda, değişiklikleri kaydedip çıkmak için.

Dağıtıcı üzerinde sqlplus.exe bulamazsanız, güncel bir sürüm kullanarak dağıtıcı adresindeki Oracle istemci yazılımını yükleyin.Daha fazla bilgi için bkz: Bir Oracle Yayımcı yapılandırma.

sql Server hata 21620 yükseltilmiş

Önceki sürüm 8.1, Oracle yayımlama Oracle istemci yazılımı dağıtıcı üzerinde yüklü sürüm 9 gerektirir bir Oracle veritabanına bağlanıyorsanız.8.1 Veya daha yeni bir sürümü olan bir Oracle veritabanına bağlanıyorsanız, Oracle istemci yazılımı sürüm 10 veya üstü olması önerilir.

Oracle Yayımcı yapılandırma girişiminde bulunmadan önce Oracle yayımlama, doğrular sürüm sql * plus 9 veya sonraki bir sürüm dağıtıcı sistemi yol üzerinden erişilebilir.Değilse, aşağıdaki hata iletisi görüntülenir:

"sürüm sql * plus yani sistemi aracılığıyla erişilebilen Path değişkeni Oracle yayımlama desteklemek için geçerli değil.Bazı Oracle istemci kodu yüklü en son sürüm yapan dağıtımcı. "

Oracle istemci yazılımı dağıtıcı üzerinde yüklü birden çok sürümü varsa, en son sürümü en az sürüm 9 ve o sistem yol değişkeni bu sürümü için ilk başvuran olduğundan emin olun (diğer sürümleri için başvurular bulunabilir en son ilk görünür sürece).Sistem yol değişkeni düzenleme hakkında daha fazla bilgi için "sql Server hata 21617 olan oluşturulur" bölümüne bakın Bu konunun önceki kısımlarında.

sql Server hatası 21624 veya 21629 hatası neden oldu

64-Bit dağıtıcıları için Oracle yayımlama Oracle oledb Sağlayıcısı Oracle (OraOLEDB.Oracle) için kullanır.Oracle oledb sağlayıcı yüklü ve dağıtıcı üzerinde kayıtlı olduğundan emin olun.Sağlayıcı yüklü ve kayıtlı, aşağıdaki hata iletilerinden biri veya ikisi gösterilir:

  • "Kayıtlı Oracle oledb sağlayıcı, OraOLEDB.Oracle, dağıtımcı '% s' konumunda bulmak oluşturulamıyor.Oracle oledb sağlayıcı geçerli bir sürüm yüklü ve kayıtlı en emin dağıtımcı. "

  • "İçin Oracle, OraOLEDB.Oracle Oracle oledb Sağlayıcısı kayıtlı olduğunu gösteren CLSID kayıt defteri anahtar konumunda yok dağıtımcı.Oracle oledb sağlayıcı yüklü ve kayıtlı en emin dağıtımcı. "

Oracle istemci yazılımı sürüm kullanıyorsanız, 10 g, sağlayıcı OraOLEDB10.dll ise; Sürüm 9i'için OraOLEDB.dll kadar.Sağlayıcı %ORACLE_HOME%\BIN (örneğin, C:\oracle\product\10.1.0\Client_1\bin) yüklenir.Dağıtıcı üzerinde Oracle oledb sağlayıcı yüklü olduğunu belirlemek, Oracle istemci yazılımını yükleyin Oracle tarafından sağlanan bir disk alanından yükleyin.Daha fazla bilgi için bkz: Bir Oracle Yayımcı yapılandırma.

Oracle oledb sağlayıcı yüklüyse, kayıtlı olduğundan emin olun.Sağlayıcı dll, kaydolmak için yürütmek aşağıdaki komut dizinden dll yüklü olduğu ve daha sonra Dur ve yeniden SQL Server örnek:

  1. regsvr32 OraOLEDB10.dllor regsvr32 OraOLEDB.dll.

sql Server hatası 21626 veya 21627 hatası neden oldu

Oracle yayımlama ortamı doğru olarak yapılandırıldığını doğrulamak için SQL Server bağlanmak için Oracle yayımcı yapılandırma sırasında belirtilen oturum açma kimlik bilgileri ile çalışırIf the SQL Server Distributor cannot connect to the Oracle Publisher, one of the following error messages is shown:

  • "Oracle veritabanı sunucusu '% s' için bağlantı kurulamıyor OraOLEDB.Oracle Oracle oledb sağlayıcı kullanarak."

  • "Oracle veritabanı sunucusu '% s' için bağlantı kurulamıyor msdaora Microsoft oledb sağlayıcı kullanarak."

Bu hata iletisi gösteriliyorsa, Oracle veritabanı bağlanabilirliği sql çalıştırarak doğrulayın * aynı oturum açma ve Oracle yayımcı yapılandırma sırasında belirtilen parola kullanılarak doğrudan artı.Daha fazla bilgi için "sql Server dağıtıcı olamaz bağlanmak için Oracle veritabanı örneği" bölümüne bakın Bu konunun önceki kısımlarında.

sql Server hata 21628 yükseltilmiş

For 64-bit Distributors, Oracle publishing uses the Oracle OLEDB Provider for Oracle (OraOLEDB.Oracle).SQL Server creates a registry entry to allow the Oracle provider to run in process with SQL Server.Okuma veya yazma bu kayıt defteri girdisi bir sorun varsa, aşağıdaki hata iletisini gösterilmiştir:

"Güncelleştirilemiyor dağıtımcı '% s' kayıt defteri işlemi ile çalışacak şekilde OraOLEDB.Oracle Oracle oledb sağlayıcı izin vermek için SQL Server.Geçerli oturumun değiştirme yetkisi emin SQL Server ait kayıt defteri anahtarlarını. "

Oracle yayımlama gerektirir kayıt defteri girdisi yok ve küme için 1 64 bit dağıtıcıları için.Girdi yoksa, SQL Server deneyecek oluşturun.Giriş var, ancak, küme için 0, kümeting değiştirilmez; Oracle yayımcı yapılandırma başarısız olur.

Görüntülemek ve kayıt defteri ayarını değiştirmek için:

  1. ' I Startve i çalıştırmak.

  2. De çalıştırmak iletişim kutusunda, tür regeditve i Tamam.

  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft sql Server\ için gidin<ÖrnekAdı>\Providers.

    Sağlayıcılar altında bir klasör OraOLEDB.Oracle adlı olmalıdır dahil.Bu klasör içinde dword değerinin adı olmalıdır AllowInProcess, bir değeri olan 1.

  4. Belirlerseniz, AllowInProcess olan küme için 0, kayıt defteri girdisini güncelleştirmek 1:

    1. Girdisini sağ tıklatın ve sonra tıklatın Değiştir.

    2. De Dize Düzenle iletişim kutusunda, tür 1 , Değer verisi alan.

sql Server hata 21684 yükseltilmiş

Yönetimsel kullanıcı hesabı yeterli ayrıcalıklara sahip değil, aşağıdaki hata iletisi görüntülenir:

"Oracle publisher '% s' için yönetici oturum açma ile ilişkili izinleri yeterli değildir."

Kullanıcı için izinleri doğrulamak için yürütmek aşağıdaki sorgu: SELECT * from session_privs.The output should be similar to the following:

PRIVILEGE

------------------

CREATE SESSION

CREATE TABLE

CREATE PUBLIC SYNONYM

DROP PUBLIC SYNONYM

CREATE VIEW

CREATE SEQUENCE

CREATE PROCEDURE

CREATE TRIGGER

İzin sorunları için çoğaltma kullanıcı şema karşılaştığınız

Çoğaltma kullanıcı şema anlatılan "Oluşturma kullanıcı şema elle" izinleri olması gerekir in Bir Oracle Yayımcı yapılandırma.

Oracle hatası ora-01000

Çoğaltma yayın makaleleri ekleme işlemi sırasında Oracle Yayımcı imleçleri kullanır.Bu işlem sırasında imleçler yayımcı üzerinde kullanılabilir en fazla sayısını aşması mümkündür.Bu durumda, aşağıdaki hata ortaya çıkar:

"ORA-01000: Maksimum açık imleçler aşıldı"

Bu sorunu önlemek için emin max_open_cursors kümeOracle veritabanlarındaki ting olan küme yeterince yüksek bir sayıya (en az 1000).Bu ayar hakkında daha fazla bilgi için Oracle belgelerine bakın.

Oracle hatası ora-01555

anlık görüntü çoğaltması çoğaltması çoğaltma aşağıdaki Oracle veritabanı hata ilgilidir; Oracle veri okuma tutarlı görünümleri nasıl yapıları için ilişkilidir:

"ORA-01555: Anlık görüntü çok eski"

Oracle veri noktası olarak okuma tutarlı görünümleri yapıları Rollback parçaları olarak bilinen nesneleri kullanarak, saat bir sql deyim verilir.Bir "anlık görüntü görüntüsünü çok eski" diğer eş zamanlı oturumlar tarafından geri yükleme bilgisi üzerine yazıldığında hata ortaya çıkabilir.Oracle 9i önce boyutu ve/veya geri alma segmentleri sayısını artırmak ve özel geri alma kesimine büyük hareketler atamak için bu hata sıklığını azaltmak için önerilen yöntem idi.

Oracle 9i'de Oracle geri alma bölütü yerini geri alma tablo alanı kavramı kullanılmaya başlandı."anlık görüntü çok eski" önlemek için Hata Oracle 9i'nda önerilir, sizin:

  • Uygun bir boş alan miktarı ile bir geri alma tablo alanı oluşturun.

  • Saklama garantisi ayarlamak tablo alanı (Oracle 10 g ve daha büyük).

  • Oracle başlatma parametreleri undo_management ve UNDO_RETENTION yapılandırın.

"anlık görüntü çok eski" önleme hakkında daha fazla ayrıntı için hata, Oracle belgelerine başvurun.

Oracle hatası ora-22285

BDOSYA sütun bir tablo içeriyorsa, sütun için veri dosya sisteminde depolanır.Çoğaltma yönetimsel kullanıcı hesabı aşağıdaki sözdizimini kullanarak verilerin saklanacağı dizin için erişim verilmelidir:

GRANT READ ON DIRECTORY <directory_name> TO <replication_administrative_user_schema>

Erişim izni yoksa, aşağıdaki hata Günlük Okuyucu Aracısı tarafından oluşturulur:

"ORA-22285: Varolmayan dizini veya dosyayı FILEOPEN operasyon için"

Yayımcı'ın yeniden yapılandırılması gerektiren yapılan değişiklikler

Değişiklikleri çoğaltma meta veriler tabloları veya yordamları bırak ve Yayımcı yeniden yapılandırma gerektirir.Publisher'ı yeniden yapılandırmak için yayımcı bırak ve kullanarak yeniden yapılandırma SQL Server Management Studio, Transact-sql veya rmo.Yayımcı yapılandırma hakkında daha fazla bilgi için bkz: Bir Oracle Yayımcı yapılandırma.

Bir Oracle Yayımcı bırakmak için (sql Server Management Studio'yu)

  1. Oracle Yayımcı uygulamasında için Dağıtımcı olarak bağlanmak SQL Server Management Studio ve genişletin sunucu düğümü.

  2. Sağ çoğaltmave i Distributor Properties'i.

  3. Üzerinde Yayımcılar sayfa Distributor Properties'i iletişim kutusunda, onay kutularını temizleyin Oracle Yayımcı için.

  4. Click OK.

Bir Oracle Yayımcı (Transact-sql) bırak için