Öğretici: PostgreSQL için Azure Veritabanı Geçirme/Yükseltme - Tek Sunucudan PostgreSQL için Azure Veritabanı'a - Azure portal aracılığıyla DMS kullanarak tek sunucu çevrimiçi
veritabanlarını PostgreSQL için Azure Veritabanı - Tek Sunucu örneğinden PostgreSQL için Azure Veritabanı - Tek Sunucu örneğinin aynı veya farklı sürümüne geçirmek için Azure Veritabanı Geçiş Hizmeti kullanabilirsiniz veya PostgreSQL için Azure Veritabanı - Minimum kapalı kalma süresine sahip Esnek Sunucu. Bu öğreticide, Azure Veritabanı Geçiş Hizmeti'daki çevrimiçi geçiş etkinliğini kullanarak DVD Kiralama örnek veritabanını bir PostgreSQL için Azure Veritabanı v10'dan PostgreSQL için Azure Veritabanı - Tek Sunucu'ya geçirirsiniz.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- pg_dump yardımcı programını kullanarak örnek şemayı geçirin.
- Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
- Azure Veritabanı Geçiş Hizmeti'de bir geçiş projesi oluşturun.
- Geçişi çalıştırma.
- Geçişi izleme.
- Tam geçiş gerçekleştirin.
Not
Çevrimiçi geçiş gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanmak için Premium fiyatlandırma katmanını temel alan bir örnek oluşturmanız gerekir. Geçiş işlemi sırasında veri hırsızlığını önlemek için diski şifreleriz
Önemli
En iyi geçiş deneyimi için Microsoft, hedef veritabanıyla aynı Azure bölgesinde bir Azure Veritabanı Geçiş Hizmeti örneği oluşturmanızı önerir. Verileri bölgeler veya coğrafyalar arasında taşımak, geçiş sürecini yavaşlatabilir ve hatalara neden olabilir.
Önemli
postgreSQL sürüm 9.x ve üzeri için PostgreSQL için Azure Veritabanı geçişi desteklenir. Bu öğreticiyi, bir PostgreSQL için Azure Veritabanı örneğinden başka bir PostgreSQL için Azure Veritabanı örneğine veya Hiper Ölçek (Citus) örneğine geçirmek için de kullanabilirsiniz. PostgreSQL 9.5 ve 9.6'dan geçişin kaynak örnekte fazladan mantıksal çoğaltma ayrıcalıkları gerektirdiğini unutmayın.
Önkoşullar
Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:
Desteklenen geçiş ve sürüm birleşimleri için Azure Veritabanı Geçiş Hizmeti tarafından desteklenen geçiş senaryolarının durumunu denetleyin.
DVD Kiralama veritabanına sahip mevcut PostgreSQL için Azure Veritabanı sürüm 10 ve üzeri bir örnek.
Ayrıca hedef PostgreSQL için Azure Veritabanı sürümünün şirket içi PostgreSQL sürümüne eşit veya bundan sonraki bir sürüm olması gerektiğini unutmayın. Örneğin, PostgreSQL 10 PostgreSQL için Azure Veritabanı 10 veya 11'e geçiş yapabilir ancak PostgreSQL için Azure Veritabanı 9.6'ya geçiremez.
Verileri geçirmek için hedef veritabanı sunucusu olarak bir PostgreSQL için Azure Veritabanı sunucusuoluşturun veya PostgreSQL için Azure Veritabanı - Hiper Ölçek (Citus) sunucusu oluşturun.
Azure Resource Manager dağıtım modelini kullanarak Azure Veritabanı Geçiş Hizmeti için Microsoft Azure Sanal Ağ oluşturun. Sanal ağ oluşturma hakkında daha fazla bilgi için Sanal Ağ Belgelerine ve özellikle adım adım ayrıntıları içeren hızlı başlangıç makalelerine bakın.
Sanal ağınız için Ağ Güvenlik Grubu (NSG) kurallarının ServiceBus, Depolama ve AzureMonitor için ServiceTag'in 443 numaralı giden bağlantı noktasını engellemediğinden emin olun. Sanal ağ NSG trafiği filtreleme hakkında daha fazla ayrıntı için Ağ trafiğini ağ güvenlik gruplarıyla filtreleme makalesine bakın.
Azure Veritabanı Geçiş Hizmeti kaynak veritabanlarına erişmesine izin vermek için PostgreSQL için Azure Veritabanı kaynak için sunucu düzeyinde bir güvenlik duvarı kuralı oluşturun. Azure Veritabanı Geçiş Hizmeti için kullanılan sanal ağın alt ağ aralığını sağlayın.
Azure Veritabanı Geçiş Hizmeti hedef veritabanlarına erişmesine izin vermek için PostgreSQL için Azure Veritabanı hedef için sunucu düzeyinde bir güvenlik duvarı kuralı oluşturun. Azure Veritabanı Geçiş Hizmeti için kullanılan sanal ağın alt ağ aralığını sağlayın.
PostgreSQL için Azure Veritabanı kaynağında mantıksal çoğaltmayı etkinleştirin.
Kaynak olarak kullanılan PostgreSQL için Azure Veritabanı örneğinde aşağıdaki Sunucu parametrelerini ayarlayın:
- max_replication_slots = [yuva sayısı], on yuvaya ayarlamanızı öneririz
- max_wal_senders =[eşzamanlı görev sayısı] - max_wal_senders parametresi, çalışabilecek eşzamanlı görevlerin sayısını ayarlar; önerilen ayar 10 görevdir
Not
Yukarıdaki sunucu parametreleri statiktir ve etkili olması için PostgreSQL için Azure Veritabanı örneğinizin yeniden başlatılmasını gerektirir. Sunucu parametrelerini geçiş yapma hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Sunucu Parametrelerini Yapılandırma.
Önemli
Mevcut veritabanınızdaki tüm tablolar, değişikliklerin hedef veritabanıyla eşitlenebilmesini sağlamak için birincil anahtara ihtiyaç duyar.
Örnek şemayı geçirme
Tablo şemaları, dizinler ve saklı yordamlar gibi tüm veritabanı nesnelerini tamamlamak için kaynak veritabanındaki şemayı ayıklamamız ve veritabanına uygulamamız gerekir.
Bir veritabanına yönelik şema döküm dosyası oluşturmak için pg_dump -s komutunu kullanın.
pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
Örneğin, dvdrental veritabanı için bir şema döküm dosyası oluşturmak için:
pg_dump -O -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental -s -x > dvdrentalSchema.sql
pg_dump yardımcı programını kullanma hakkında daha fazla bilgi için pg-dump öğreticisindeki örneklere bakın.
Hedef ortamınız olan PostgreSQL için Azure Veritabanı içinde boş bir veritabanı oluşturun.
Veritabanına bağlanma ve veritabanı oluşturma hakkında ayrıntılı bilgi için Azure portal PostgreSQL için Azure Veritabanı sunucusu oluşturma veya PostgreSQL için Azure Veritabanı- Hiper Ölçek (Citus) sunucusu oluşturma makalesine bakın Azure portal.
Not
PostgreSQL için Azure Veritabanı - Hiper Ölçek 'in (Citus) tek bir veritabanı vardır: citus.
Şema döküm dosyasını geri yükleyerek, şemayı oluşturduğunuz hedef veritabanına aktarın.
psql -h hostname -U db_username -d db_name < your_schema.sql
Örnek:
psql -h mypgserver-source.postgres.database.azure.com -U pguser@mypgserver-source -d dvdrental citus < dvdrentalSchema.sql
Not
Geçiş hizmeti, güvenilir ve sağlam bir veri geçişi sağlamak için yabancı anahtarları etkinleştirme/devre dışı bırakma işlemlerini dahili olarak işler ve tetikler. Sonuç olarak, hedef veritabanı şemasında herhangi bir değişiklik yapma konusunda endişelenmeniz gerekmez.
Kaynak sağlayıcısını kaydetme
İlk Veritabanı Geçiş Hizmeti örneğinizi oluşturmadan önce Microsoft.DataMigration kaynak sağlayıcısını kaydedin.
Azure portalında oturum açın. Abonelikler'i arayın ve seçin.
Azure Veritabanı Geçiş Hizmeti örneğini oluşturmak istediğiniz aboneliği seçin ve ardından Kaynak sağlayıcıları'nı seçin.
Geçiş için arama yapın ve ardından Microsoft.DataMigration'aKaydol'u seçin.
DMS örneği oluşturma
Azure portal + Kaynak oluştur'u seçin, Azure Veritabanı Geçiş Hizmeti arayın ve açılan listeden Azure Veritabanı Geçiş Hizmeti seçin.
Azure Veritabanı Geçiş Hizmeti ekranında Oluştur'u seçin.
Geçiş Hizmeti Oluştur ekranında bir ad, abonelik, yeni veya mevcut bir kaynak grubu ve hizmetin konumunu belirtin.
Mevcut bir sanal ağı seçin veya yeni bir ağ oluşturun.
Sanal ağ, Azure Veritabanı Geçiş Hizmeti kaynak PostgreSQL sunucusuna ve hedef PostgreSQL için Azure Veritabanı örneğine erişim sağlar.
Azure portal sanal ağ oluşturma hakkında daha fazla bilgi için Azure portal kullanarak sanal ağ oluşturma makalesine bakın.
Fiyatlandırma katmanını seçin.
Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.
Hizmeti oluşturmak için Gözden geçir + oluştur'u seçin.
Hizmet oluşturma işlemi yaklaşık 10-15 dakika içinde tamamlanır.
Geçiş projesi oluşturma
Hizmet oluşturulduktan sonra Azure portaldan bulun, açın ve yeni bir geçiş projesi oluşturun.
Azure portalda Tüm hizmetler'i seçin, Azure Veritabanı Geçiş Hizmeti araması yapın ve Azure Veritabanı Geçiş Hizmeti'ni seçin.
Azure Veritabanı Geçiş Hizmetleri ekranında, oluşturduğunuz Azure Veritabanı Geçiş Hizmeti örneğin adını arayın, örneği seçin ve ardından + Yeni Geçiş Projesi'ni seçin.
Yeni geçiş projesi ekranında proje için bir ad belirtin, Kaynak sunucu türü metin kutusunda PostgreSQL'i seçin, Hedef sunucu türü metin kutusunda PostgreSQL için Azure Veritabanı'i seçin.
Not
Kaynak sunucu bir PostgreSQL için Azure Veritabanı örneği olsa bile Kaynak sunucu türündePostgreSQL'i seçin.
Etkinlik türünü seçin bölümünde Çevrimiçi veri geçişi'ni seçin.
Not
Alternatif olarak, Yalnızca proje oluştur'u seçerek geçiş projesini şimdi oluşturabilir ve geçişi daha sonra yürütebilirsiniz.
Kaydet'i seçin, verileri geçirmek için Azure Veritabanı Geçiş Hizmeti başarıyla kullanma gereksinimlerini not edin ve ardından Etkinlik oluştur ve çalıştır'ı seçin.
Kaynak ayrıntılarını belirtme
Kaynak Ayrıntıları Ekle ekranında, kaynak PostgreSQL örneğinin bağlantı ayrıntılarını belirtin.
Not
"Sunucu adı", "Sunucu bağlantı noktası", "Veritabanı adı" gibi ayrıntıları bulabilirsiniz. PostgreSQL için Azure Veritabanı portalında.
Kaydet’i seçin.
Hedef ayrıntılarını belirtme
Hedef ayrıntıları ekranında, DVD Rentals şemasının pg_dump kullanılarak dağıtıldığı hiper ölçek (Citus) için önceden sağlanan örnek olan hedef Hiper Ölçek (Citus) sunucusunun bağlantı ayrıntılarını belirtin.
Not
Bir PostgreSQL için Azure Veritabanı örneğinden başka bir PostgreSQL için Azure Veritabanı tek sunuculu örneğe veya hiper ölçek (Citus) sunucusuna geçiş yapabilirsiniz.
Kaydet'i seçin ve Hedef veritabanlarıyla eşleyin ekranında geçiş yapılacak kaynak ve hedef veritabanlarını eşleyin.
Hedef veritabanı kaynak veritabanıyla aynı veritabanı adını içeriyorsa, Azure Veritabanı Geçiş Hizmeti varsayılan olarak hedef veritabanını seçer.
Kaydet'i seçin ve geçiş ayarları ekranında varsayılan değerleri kabul edin.
Kaydet'i seçin, Geçiş özeti ekranındaki Etkinlik adı metin kutusunda geçiş etkinliği için bir ad belirtin ve ardından, kaynak ve hedef ayrıntılarının önceden belirttiğiniz ayrıntılarla eşleştiğinden emin olmak üzere özeti gözden geçirin.
Geçişi çalıştırma
- Geçişi çalıştır'ı seçin.
Geçiş etkinliği penceresi görüntülenir ve etkinliğin Durumu , Yedekleme Sürüyor olarak gösterilecek şekilde güncelleştirilmelidir. PostgreSQL için Azure Veritabanı 9.5 veya 9.6'dan yükseltme yaparken aşağıdaki hatayla karşılaşabilirsiniz:
Bir senaryo bilinmeyen bir hata bildirdi. 28000: "40.121.141.121" ana bilgisayarından çoğaltma bağlantısı için pg_hba.conf girdisi yok, kullanıcı "sr"
Bunun nedeni PostgreSQL'in gerekli mantıksal çoğaltma yapıtlarını oluşturmak için uygun ayrıcalıklara sahip olmamasıdır. Gerekli ayrıcalıkları etkinleştirmek için aşağıdakileri yapabilirsiniz:
- Geçirmeye/yükseltmeye çalıştığınız kaynak PostgreSQL için Azure Veritabanı sunucusu için "Bağlantı güvenliği" ayarlarını açın.
- Adı "_replrule" ile biten yeni bir güvenlik duvarı kuralı ekleyin ve hata iletisindeki IP adresini başlangıç IP'sine ve Bitiş IP'sine ekleyin. Yukarıdaki hata örneği için -
Güvenlik duvarı kuralı adı = sr_replrule; Başlangıç IP'i = 40.121.141.121; Uç IP = 40.121.141.121
- Kaydet'e tıklayın ve değişikliğin tamamlanmasını sağlayın.
- DMS etkinliğini yeniden deneyin.
Geçişi izleme
Geçiş etkinliği ekranında Yenile'yi seçerek, gösterilen verileri, geçişin Durum bilgisi Tamamlandı olana kadar güncelleştirebilirsiniz.
Geçiş tamamlandığında Veritabanı Adı'nın altında, Tam veri yükü ve Artımlı veri eşitleme işlemleri için geçiş durumuna ulaşmak için belirli bir veritabanını seçin.
Not
Tam veri yükü ilk yük geçiş durumunu gösterirken Artımlı veri eşitlemesi değişiklik veri yakalama (CDC) durumunu gösterir.
Tam geçiş gerçekleştirme
İlk Tam yük tamamlandıktan sonra, veritabanları Geçiş için hazır olarak işaretlenir.
Veritabanı geçişini tamamlamaya hazır olduğunuzda Tam Geçişi Başlat seçeneğini belirleyin.
Kaynak veritabanına gelen tüm işlemlerin durdurulmasını sağlamak için Bekleyen değişiklikler sayacı 0'ı gösterene kadar bekleyin, Onayla onay kutusunu ve ardından Uygula'yı seçin.
Veritabanı geçiş durumu Tamamlandı olarak gösterildiğinde, dizileri yeniden oluşturun (varsa) ve uygulamalarınızı yeni PostgreSQL için Azure Veritabanı hedef örneğine bağlayın.
Not
Azure Veritabanı Geçiş Hizmeti, PostgreSQL için Azure Veritabanı - Tek Sunucu'da düşük kapalı kalma süresiyle ana sürüm yükseltmeleri gerçekleştirmek için kullanılabilir. Önce istenen daha yüksek PostgreSQL sürümüne, ağ ayarlarına ve parametrelere sahip bir hedef veritabanı yapılandırabilirsiniz. Ardından, yukarıda açıklanan yordamı kullanarak hedef veritabanlarına geçişi başlatabilirsiniz. Hedef veritabanı sunucusuna tam geçiş yaptıktan sonra, uygulama bağlantı dizenizi hedef veritabanı sunucusuna işaret eden şekilde güncelleştirebilirsiniz.
Sonraki adımlar
- PostgreSQL için Azure Veritabanı'na yönelik çevrimiçi geçiş gerçekleştirirken karşılaşılan bilinen sorunlar ve sınırlamalar hakkında bilgi için PostgreSQL için Azure Veritabanı geçiş işlemleri ile ilgili bilinen sorunlar ve geçici çözümler başlıklı makaleye bakın.
- Azure Veritabanı Geçiş Hizmeti hakkında bilgi için What is the Azure Database Migration Service? (Azure Veritabanı Geçiş Hizmeti nedir?) başlıklı makaleye bakın.
- PostgreSQL için Azure Veritabanı hakkında bilgi için PostgreSQL için Azure Veritabanı nedir? makalesine bakın.