Oracle Kapatma Yöntemi


9

Yükseltme veya düzeltme eki yapmadan önce veritabanını kapatmak birkaç yolla yapılabilir.

shutdown immediate;

veya

shutdown abort;
startup restrict;
shutdown immediate;

veya

shutdown abort;
startup restrict;
shutdown;

veya

alter system checkpoint;
shutdown abort;
startup restrict;
shutdown immediate;

Tabii ki başka seçenekler de var. Hangisi tercih edilmeli ve neden?

Yanıtlar:


12

Bakım (veya soğuk yedekleme) için kapatmanın amacı, veritabanının başlangıçta geri alma / kurtarma işlemine gerek kalmadan tutarlı bir durumda bırakılmasıdır.

shutdownTeoride bunu başarmak için 3 SQL * Plus komutu vardır, bunların hepsi örneğe bağlanan yeni oturumları hemen önler :

  1. shutdown normalya da sadece shutdown: tüm oturumların bağlantısının kesilmesini bekler. Bu mod pratikte nadiren kullanılır, çünkü bağlantıları açık bırakmayan iyi niyetli istemcilere dayanır. Bu, shutdownçalışan işlemleri iptal etmeyen tek moddu.
  2. shutdown transactional: İşlemler tamamlandıktan sonra oturumların bağlantısını keserek yeni işlemlerin başlamasını önler.
  3. shutdown immediate: tüm oturumların bağlantısını derhal keser ve kapatmadan önce kesintili işlemleri geri alır. Bağlantı kesilmelerinin hemen gerçekleştiğini, ancak kesintiye uğrayan işlemlerin geri alınmasının zaman alabileceği için kapatma işlemi olmayabilir.

Dördüncü modu shutdownolup shutdown abort. Bu, güç kablosunu çekmeye benzer - örnek artık herhangi bir temizlik olmadan durur . Genellikle veritabanını daha sonra tekrar yükseltmek ve örneğinizde olduğu gibi hemen sonra kapatmak istiyorsunuz. Kavramlar rehberi şöyle diyor :

Bu mod, başka bir kapatma biçiminin başarılı olmadığı gibi acil durumlar için tasarlanmıştır.

Verdiğiniz tüm örnekler bir kontrol noktası gerçekleştirmek parçası olarak shutdown [normal]ya da shutdown immediatehiç muhtemelen bu yüzden açık kontrol noktalarını denetleme kurtarma için gerekli zamanı azaltmak .

Genel tavsiye:

  • Kullanmayın shutdown normal.
  • İptal edilen işlemleri en aza indirmek istediğinizde shutdown transactional yalnızca katılmış kapatma için kullanın (yalnızca bu tür kapatma , zaman aşımları ihlal edildiğinde veritabanını kapatması garanti edilmediğinden ).
  • shutdown immediateKatılımsız kapatma için veya şu anda çalışan işlemleri önemsemediğinizde kullanın .
  • Kullanmayın shutdown abortbu daha yaygın bugün olduğu o Oracle çok daha erken sürümlerinde oldu - Mecbur kalmadıkça (artı başlangıç / kapatma). Diğer durumlarda (düzeltme eki / yükseltme değil), kesinti süresini en aza indirmeniz gerekiyorsa bu mod uygun olabilir.

Dezavantajları hakkında daha fazla bilgi verebilir misiniz shutdown abort? Antagonist oynamak, eğer güç çekildiğinde Oracle'ın doğru bir şekilde iyileşmesine güvenebilirsek shutdown abort, özellikle daha hızlıysa ve hemen a startup restrictve a yapacaksak, a sırasında ona güvenmemeliyiz shutdown immediate? Başka bir deyişle, Oracle'ın korkunç uyarısını desteklemek için görebildiğimiz gerçekler var shutdown abortmı?
Leigh Riffel

@Leigh - Bildiğim tek özel tehlike , çevrimiçi günlüklerin yanlışlıkla yedeklenmesi ile shutdown abortilgilidir, ancak bu ancak daha sonra temiz bir kapatma yapmamanız durumundadır. Ne yaptığınızı biliyorsanız, mükemmel bir şekilde güvenli kabul edilebilir - ve Oracle'ın pozisyonunun "korkunç bir uyarı" olarak kabul edilip edilmediğinden emin değilim ;-)shutdown abort
Jack, topanswers.xyz den

3

Ben bir veritabanı aşağı getirmek için en hızlı yolu çünkü kapatma iptal yöntemini tercih . kapatma işleminden sonra yapılamayan bazı işlemler var, ör.

  • controlfile veritabanını controlfile resetlogs oluşturma ile yeniden oluşturun (veritabanını yeniden adlandırmak, günlük dosyalarını yeniden adlandırmak için data dosyalarını yeniden adlandırmak için)
  • dbid'i dbms_backup_restore'daki yordamla değiştirin (bu, 8i'de dbid'i değiştirmek için tek yöntemdi)

her iki durumda da veritabanı zarar görmüş ve bir tam yedeklemeden geri yüklenmesi gerekir.

9i beri veritabanı yeniden adlandırma veya dbid değişiklik dbnewid yardımcı programı ile yapılabilir . Bildiğim kadarıyla yardımcı program veritabanı düzgün kapatıldığını kontrol eder. veri dosyalarının, geçici dosyaların ve günlük dosyalarının yeniden adlandırılması, elbette kontrol dosyasını yeniden oluşturmadan uygun sql deyimlerini yürüterek yapılabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.