Azure Backup kullanarak Azure Linux VM'sinde Oracle Veritabanını yedekleme ve kurtarma
Şunlar için geçerlidir: ✔️ Linux VM'leri
Bu makalede, Oracle Veritabanı dosyalarını ve Oracle hızlı kurtarma alanını içeren sanal makine (VM) disklerinin disk anlık görüntülerini almak için Azure Backup kullanımı gösterilmektedir. Azure Backup kullanarak yedekleme olarak uygun olan ve Kurtarma Hizmetleri kasasında depolanan tam disk anlık görüntülerini alabilirsiniz.
Azure Backup ayrıca, verileri geri yüklemek için daha fazla düzeltmenin gerekli olmadığından emin olmak için uygulamayla tutarlı yedeklemeler sağlar. Uygulamayla tutarlı yedeklemeler hem dosya sistemi hem de Oracle Otomatik Depolama Yönetimi (ASM) veritabanlarıyla çalışır.
Uygulamayla tutarlı verilerin geri yüklenmesi geri yükleme süresini kısalttığı için hızlı bir şekilde çalışır duruma dönebilirsiniz. Geri yükleme sonrasında Oracle Database kurtarması hala gereklidir. Yakalanan ve ayrı bir Azure dosya paylaşımında depolanan Oracle arşivlenmiş yineleme günlük dosyalarını kullanarak kurtarmayı kolaylaştırırsınız.
Bu makalede aşağıdaki görevlerde size yol gösterilir:
- Uygulamayla tutarlı yedekleme ile veritabanını yedekleyin.
- Veritabanını bir kurtarma noktasından geri yükleyin ve kurtarın.
- VM'yi bir kurtarma noktasından geri yükleyin.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'de Bash için Hızlı Başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yi yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz. Azure CLI'yi Docker kapsayıcısında çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz. Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Yedekleme ve kurtarma işlemini gerçekleştirmek için öncelikle Oracle Database 12.1 veya sonraki bir sürümünün yüklü bir örneğine sahip bir Linux VM oluşturmanız gerekir.
Azure VM'de Oracle Veritabanı örneği oluşturma bölümünde yer alan adımları izleyerek bir Oracle Veritabanı örneği oluşturun.
Ortamı hazırlama
Ortamı hazırlamak için şu adımları tamamlayın:
VM’ye bağlanma
VM ile Secure Shell (SSH) oturumu oluşturmak için aşağıdaki komutu kullanın. değerini VM'nizin genel adres değeriyle değiştirin
<publicIpAddress>
.ssh azureuser@<publicIpAddress>
Kök kullanıcıya geçin:
sudo su -
oracle
Kullanıcıyı /etc/sudoers dosyasına ekleyin:echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Oracle arşivlenmiş yineleme günlük dosyaları için Azure Dosyalar depolama alanı ayarlama
Oracle Veritabanı örneğinin arşivlenen yineleme günlük dosyaları, veritabanı kurtarmada önemli bir rol oynar. Geçmişte alınan bir veritabanı anlık görüntüsünden ileri gitmek için gereken kaydedilmiş işlemleri depolar.
Veritabanı modundayken ARCHIVELOG
, çevrimiçi yineleme günlük dosyalarının içeriği dolup geçiş yaptıklarında arşivler. Bir yedeklemeyle birlikte, veritabanı kaybolduğunda belirli bir noktaya kurtarma gerçekleştirmeleri gerekir.
Oracle, yinelemeli günlük dosyalarını farklı konumlarda arşivleyebilmenizi sağlar. Sektördeki en iyi uygulama, bu hedeflerden en az birinin uzak depolamada olması gerektiğidir, bu nedenle konak depolama alanından ayrıdır ve bağımsız anlık görüntülerle korunur. Azure Dosyalar bu gereksinimleri karşılar.
Azure dosya paylaşımı, Sunucu İleti Bloğu (SMB) veya Ağ Dosya Sistemi (NFS) protokollerini kullanarak bir Linux veya Windows VM'ye normal bir dosya sistemi bileşeni olarak eklediğiniz depolama alanıdır. Linux'ta arşiv günlüğü depolama alanı olarak kullanılacak bir Azure dosya paylaşımını (SMB 3.0 protokolü kullanılarak) ayarlamak için bkz. Linux'ta SMB Azure dosya paylaşımını bağlama. Kurulumu tamamladığınızda bu kılavuza dönün ve kalan tüm adımları tamamlayın.
Veritabanlarını hazırlama
İşlemin bu bölümünde Azure VM'de Oracle Veritabanı örneği oluşturma adımlarını izlediğiniz varsayılır. Sonuç olarak:
- adlı
oratest1
bir VMvmoracle19c
üzerinde çalışan adlı bir Oracle örneğine sahipsiniz. - Kabuk oturumunda ortam değişkenlerini ayarlamak için standart Oracle
oraenv
betiğini /etc/oratab standart Oracle yapılandırma dosyasına bağımlılığıyla birlikte kullanıyorsunuz.
VM'de her veritabanı için aşağıdaki adımları gerçekleştirin:
oracle
Kullanıcıya geçin:sudo su - oracle
Betiği çalıştırarak ortam değişkenini
ORACLE_SID
oraenv
ayarlayın. Adı girmeniziORACLE_SID
ister.. oraenv
Azure dosya paylaşımını veritabanı arşiv günlük dosyaları için başka bir hedef olarak ekleyin.
Bu adımda, Linux VM'de bir Azure dosya paylaşımı yapılandırdığınız ve bağladığınız varsayılır. VM'de yüklü her veritabanı için veritabanı güvenlik tanımlayıcınızın (SID) adını taşıyan bir alt dizin oluşturun.
Bu örnekte bağlama noktası adı,
/backup
SID ise şeklindediroratest1
. Bu nedenle alt dizini/backup/oratest1
oluşturur ve sahipliğinioracle
kullanıcıya değiştirirsiniz. bağlama noktası adınızın ve veritabanı SID'nizin yerine yazın/backup/SID
.sudo mkdir /backup/oratest1 sudo chown oracle:oinstall /backup/oratest1
Veritabanına bağlanın:
sqlplus / as sysdba
Veritabanı zaten çalışmıyorsa veritabanını başlatın:
SQL> startup
Veritabanının ilk arşiv günlüğü hedefini daha önce oluşturduğunuz dosya paylaşımı dizinine ayarlayın:
SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
Veritabanı için kurtarma noktası hedefini (RPO) tanımlayın.
Tutarlı bir RPO elde etmek için çevrimiçi yineleme günlük dosyalarının arşivlendiği sıklığı göz önünde bulundurun. Bu faktörler sıklığı denetler:
- Çevrimiçi yineleme günlük dosyalarının boyutu. Çevrimiçi günlük dosyası doldukça, dosya değiştirilir ve arşivlenir. Çevrimiçi günlük dosyası ne kadar büyükse, doldurulması o kadar uzun sürer. Eklenen süre, arşiv oluşturma sıklığını azaltır.
- parametresinin
ARCHIVE_LAG_TARGET
ayarı, geçerli çevrimiçi günlük dosyasının değiştirilmesi ve arşivlenmeden önce izin verilen en fazla saniye sayısını denetler.
Geçiş ve arşivleme sıklığını ve buna eşlik eden denetim noktası işlemini en aza indirmek için Oracle çevrimiçi yineleme günlük dosyaları genellikle büyük bir boyuta sahiptir (örneğin, 1.024M, 4.096M veya 8.192M). Yoğun bir veritabanı ortamında günlüklerin birkaç saniyede bir veya dakikada bir geçiş yapıp arşivleye devam etme olasılığı yüksektir. Daha az etkin bir veritabanında, en son işlemler arşivlemeden önce saatler veya günler sürebilir ve bu da arşiv sıklığını önemli ölçüde azaltır.
Tutarlı bir RPO sağlamak için ayarlamanızı
ARCHIVE_LAG_TARGET
öneririz. 5 dakikalık (300 saniye) bir ayar, içinARCHIVE_LAG_TARGET
sağduyulu bir değerdir. Herhangi bir veritabanı kurtarma işleminin hatadan sonra 5 dakika içinde kurtarılabilmesini sağlar.ayarlamak
ARCHIVE_LAG_TARGET
için şu komutu çalıştırın:SQL> alter system set archive_lag_target=300 scope=both;
Azure'da sıfır RPO ile yüksek oranda kullanılabilir Oracle Database örneklerini dağıtmayı daha iyi anlamak için bkz. Oracle Database için başvuru mimarileri.
Çevrimiçi yedeklemeleri etkinleştirmek için veritabanının arşiv günlüğü modunda olduğundan emin olun.
Önce günlük arşiv durumunu denetleyin:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOG
Moddaysa
NOARCHIVELOG
aşağıdaki komutları çalıştırın:SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> ALTER SYSTEM SWITCH LOGFILE;
Yedekleme ve geri yükleme işlemlerini test etmek için bir tablo oluşturun:
SQL> create user scott identified by tiger quota 100M on users; SQL> grant create session, create table to scott; SQL> connect scott/tiger SQL> create table scott_table(col1 number, col2 varchar2(50)); SQL> insert into scott_table VALUES(1,'Line 1'); SQL> commit; SQL> quit
Azure Backup kullanarak verilerinizi yedekleme
Azure Backup hizmeti, verilerinizi yedeklemek ve Microsoft Azure bulutundan kurtarmak için çözümler sağlar. Azure Backup, özgün verilerin yanlışlıkla yok edilmesine karşı korunmak için bağımsız ve yalıtılmış yedeklemeler sağlar. Yedeklemeler, kurtarma noktalarının yerleşik yönetimiyle bir Kurtarma Hizmetleri kasasında depolanır, böylece gerektiğinde geri yükleyebilirsiniz.
Bu bölümde, çalışan VM'nizin ve Oracle Veritabanı örneklerinizin uygulamayla tutarlı anlık görüntülerini almak için Azure Backup kullanacaksınız. Veritabanları yedekleme moduna yerleştirilir ve Azure Backup VM disklerinin anlık görüntüsünü alırken işlem açısından tutarlı çevrimiçi yedeklemenin gerçekleşmesini sağlar. Anlık görüntü, artımlı veya yazma üzerine kopyalama anlık görüntüsü değil, depolamanın tam kopyasıdır. Bu, veritabanınızı geri yüklemek için etkili bir ortamdır.
Uygulamayla tutarlı Azure Backup anlık görüntüleri kullanmanın avantajı, veritabanınız ne kadar büyük olursa olsun hızlı bir şekilde alınabilecekleridir. Geri yükleme işlemleri için anlık görüntüyü, kurtarma hizmetleri kasasına aktarılmasını beklemek zorunda kalmadan, geri yükleme işlemleri için kullanabilirsiniz.
veritabanını yedeklemek için Azure Backup kullanmak için şu adımları tamamlayın:
- Azure Backup çerçevesini anlama.
- Uygulamayla tutarlı yedekleme için ortamı hazırlayın.
- Uygulamayla tutarlı yedeklemeler ayarlayın.
- VM'nin uygulamayla tutarlı bir yedeklemesini tetikleyin.
Azure Backup çerçevesini anlama
Azure Backup hizmeti, çeşitli uygulamalar için Windows ve Linux VM'lerinin yedekleri sırasında uygulama tutarlılığı elde etmek için bir çerçeve sağlar. Bu çerçeve, disklerin anlık görüntüsünü almadan önce uygulamaları sessize almak için ön betiği çağırmayı içerir. Anlık görüntü tamamlandıktan sonra uygulamaları çözmek için bir betik sonrası çağrısında bulunur.
Microsoft, Azure Backup hizmetinin seçili uygulamalar için paketlenmiş ön betikler ve son betikler sağlaması için çerçeveyi geliştirmiştir. Bu ön betikler ve son betikler Linux görüntüsüne zaten yüklenmiştir, bu nedenle yüklemeniz gereken bir şey yoktur. Uygulamayı adlandırıp Azure Backup ilgili betikleri otomatik olarak çağırırsınız. Microsoft paketlenmiş ön betikleri ve son betikleri yönetir, böylece bunların destek, sahiplik ve geçerliliklerinden emin olabilirsiniz.
Şu anda gelişmiş çerçeve için desteklenen uygulamalar Oracle 12.x veya üzeri ve MySQL'tir. Ayrıntılar için bkz. Yönetilen Azure VM yedeklemeleri için destek matrisi.
12.x öncesi veritabanlarıyla kullanmak üzere Azure Backup için kendi betiklerinizi yazabilirsiniz. Örnek betikler GitHub'da kullanılabilir.
Her yedekleme yaptığınızda, gelişmiş çerçeve VM'de yüklü olan tüm Oracle Veritabanı örneklerinde ön betikleri ve son betikleri çalıştırır. configuration_path
workload.conf dosyasındaki parametresi Oracle /etc/oratab dosyasının (veya oratab söz dizimini izleyen kullanıcı tanımlı bir dosyanın) konumunu gösterir. Ayrıntılar için bkz. Uygulamayla tutarlı yedeklemeleri ayarlama.
Azure Backup, işaret eden dosyada configuration_path
listelenen her veritabanı için ön betikleri ve son betikleri çalıştırır. Özel durumlar ile #
başlayan satırlardır (açıklama olarak kabul edilir) veya +ASM
(Oracle ASM örneği).
geliştirilmiş Azure Backup çerçeve, ARCHIVELOG
modda çalışan Oracle Veritabanı örneklerinin çevrimiçi yedeklemelerini alır. Ön betikler ve son betikler, uygulama tutarlılığı elde etmek için ve END BACKUP
komutlarını kullanırALTER DATABASE BEGIN
.
Veritabanı yedeklemesinin tutarlı olması için, anlık görüntü başlamadan önce moddaki NOARCHIVELOG
veritabanlarının temiz bir şekilde kapatılması gerekir.
Uygulamayla tutarlı yedekleme için ortamı hazırlama
Oracle Database, en az ayrıcalık kullanarak görev ayrımı sağlamak için iş rolü ayrımını devreye alır. Ayrı işletim sistemi (OS) gruplarını ayrı veritabanı yönetim rolleri ile ilişkilendirir. Daha sonra kullanıcılara, işletim sistemi gruplarındaki üyeliklerine bağlı olarak farklı veritabanı ayrıcalıkları verilebilir.
SYSBACKUP
Veritabanı rolü (genel adOSBACKUPDBA
), veritabanında yedekleme işlemleri gerçekleştirmek için sınırlı ayrıcalıklar sağlar. Azure Backup bunu gerektirir.
Oracle yüklemesi sırasında, rolle SYSBACKUP
ilişkilendirmek için işletim sistemi grubu adı olarak kullanmanızı backupdba
öneririz. Ancak herhangi bir ad kullanabilirsiniz, bu nedenle önce Oracle SYSBACKUP
rolünü temsil eden işletim sistemi grubunun adını belirlemeniz gerekir.
oracle
Kullanıcıya geçin:sudo su - oracle
Oracle ortamını ayarlayın:
export ORACLE_SID=oratest1 export ORAENV_ASK=NO . oraenv
Oracle
SYSBACKUP
rolünü temsil eden işletim sistemi grubunun adını belirleyin:grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
Çıktı aşağıdaki örneğe benzer:
#define SS_BKP_GRP "backupdba"
Çıktıda, çift tırnak içine alınan değer, Oracle
SYSBACKUP
rolünün dışarıdan kimliğinin doğrulandığı Linux işletim sistemi grubunun adıdır. Bu örnekte, şeklindedirbackupdba
. Gerçek değeri not edin.Aşağıdaki komutu çalıştırarak işletim sistemi grubunun var olduğunu doğrulayın. değerini, önceki komutun döndürdüğünü değerle (tırnak işaretleri olmadan) kullanın
<group name>
.grep <group name> /etc/group
Çıktı aşağıdaki örneğe benzer:
backupdba:x:54324:oracle
Önemli
Çıktı, 3. adımda aldığınız Oracle işletim sistemi grup değeriyle eşleşmiyorsa, Oracle
SYSBACKUP
rolünü temsil eden işletim sistemi grubunu oluşturmak için aşağıdaki komutu kullanın. yerine<group name>
3. adımda aldığınız grup adını yazın.sudo groupadd <group name>
Önceki adımlarda doğruladığınız veya oluşturduğunuz işletim sistemi grubuna ait adlı
azbackup
yeni bir yedekleme kullanıcısı oluşturun. yerine<group name>
doğrulanmış grubun adını yazın. Kullanıcı ayrıca ASM disklerini açmasını sağlamak için gruba ekleniroinstall
.sudo useradd -g <group name> -G oinstall azbackup
Yeni yedekleme kullanıcısı için dış kimlik doğrulamasını ayarlayın.
Yedekleme kullanıcısının
azbackup
dış kimlik doğrulaması kullanarak veritabanına erişebilmesi gerekir, bu nedenle parolayla zorlanamaz. Bu erişimi etkinleştirmek için, aracılığıylaazbackup
dışarıdan kimlik doğrulayan bir veritabanı kullanıcısı oluşturmanız gerekir. Veritabanı, kullanıcı adı için bulmanız gereken bir ön ek kullanır.VM'de yüklü her veritabanı için aşağıdaki adımları gerçekleştirin:
SQL Plus kullanarak veritabanında oturum açın ve dış kimlik doğrulaması için varsayılan ayarları denetleyin:
sqlplus / as sysdba SQL> show parameter os_authent_prefix SQL> show parameter remote_os_authent
Çıktı, veritabanı kullanıcı adı ön eki olarak gösterilen
ops$
şu örneğe benzer olmalıdır:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ os_authent_prefix string ops$ remote_os_authent boolean FALSE
Kullanıcıya dış kimlik doğrulaması için adlı
ops$azbackup
bir veritabanı kullanıcısı oluşturun ve ayrıcalıklar verinSYSBACKUP
:azbackup
SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
deyimini çalıştırdığınızda
GRANT
hatayıORA-46953: The password file is not in the 12.2 format
alırsanız, orapwd dosyasını 12.2 biçimine geçirmek için bu adımları izleyin. Vm'de her Oracle Veritabanı örneği için bu adımları gerçekleştirin.SQL Plus'dan çıkın.
Eski biçimine sahip parola dosyasını yeni bir ada taşıyın.
Parola dosyasını geçirin.
Eski dosyayı kaldırın.
Aşağıdaki komutları çalıştırın:
mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp rm $ORACLE_HOME/dbs/orapworatest1.tmp
SQL Plus'ta
GRANT
işlemi yeniden çalıştırın.
Yedekleme iletilerini veritabanı uyarı günlüğüne kaydetmek için bir saklı yordam oluşturun. VM'de yüklü her veritabanı için aşağıdaki kodu kullanın:
sqlplus / as sysdba SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP; SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2) AS v_timestamp VARCHAR2(32); BEGIN SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') INTO v_timestamp FROM DUAL; DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg); SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg); END azmessage; / SQL> SHOW ERRORS SQL> QUIT
Uygulamayla tutarlı yedeklemeler ayarlama
Kök kullanıcıya geçin:
sudo su -
/etc/azure klasörünü denetleyin. Yoksa, uygulamayla tutarlı yedekleme için çalışma dizinini oluşturun:
if [ ! -d "/etc/azure" ]; then mkdir /etc/azure fi
klasörün içindeki workload.conf dosyasını denetleyin. Yoksa, /etc/azure dizininde oluşturun ve aşağıdaki içeriği verin. Açıklamalar ile
[workload]
başlamalıdır. Dosya zaten varsa, alanları aşağıdaki içerikle eşleşebilecek şekilde düzenlemeniz yeter. Aksi takdirde, aşağıdaki komut dosyayı oluşturur ve içeriği doldurur:echo "[workload] workload_name = oracle configuration_path = /etc/oratab timeout = 90 linux_user = azbackup" > /etc/azure/workload.conf
workload.conf dosyası aşağıdaki biçimi kullanır:
workload_name
parametresi veritabanı iş yükü türünü gösterir. Bu durumda parametresinin olarakOracle
ayarlanması, Azure Backup Oracle Veritabanı örnekleri için doğru ön betikleri ve son betikleri (tutarlılık komutları) çalıştırmasına olanak tanır.timeout
parametresi, her veritabanının depolama anlık görüntülerini tamamlaması gereken en uzun süreyi saniye olarak gösterir.- parametresi,
linux_user
Azure Backup veritabanı sessiz moda alma işlemlerini çalıştırmak için kullandığı Linux kullanıcı hesabını gösterir. Bu kullanıcıyıazbackup
daha önce oluşturdunuz. - parametresi,
configuration_path
VM'de bir metin dosyasının mutlak yol adını gösterir. Her satırda VM üzerinde çalışan bir veritabanı örneği listelenir. Bu genellikle Oracle'ın veritabanı yüklemesi sırasında oluşturduğu /etc/oratab dosyasıdır, ancak seçtiğiniz herhangi bir ada sahip herhangi bir dosya olabilir. Şu biçim kurallarına uymalıdır:- Dosya bir metin dosyasıdır. Her alan iki nokta üst üste karakteriyle (
:
) sınırlandırılır. - Her satırdaki ilk alan bir
ORACLE_SID
örneğin adıdır. - Her satırdaki ikinci alan, söz konusu
ORACLE_SID
örneğin mutlak yol adıdırORACLE_HOME
. - İlk iki alandan sonraki tüm metinler yoksayılır.
- Satır bir pound işareti
#
() ile başlıyorsa, satırın tamamı yorum olarak yoksayılır. - İlk alanda Değeri
+ASM
varsa, Oracle ASM örneğini ifade eder, yoksayılır.
- Dosya bir metin dosyasıdır. Her alan iki nokta üst üste karakteriyle (
VM'nin uygulamayla tutarlı bir yedeklemesini tetikleme
Azure portal rg-oracle kaynak grubunuza gidin ve vmoracle19c sanal makinenizi seçin.
Yedekleme bölmesinde:
- Kurtarma Hizmetleri kasası'nın altında Yeni oluştur'u seçin.
- Kasanın adı için myVault kullanın.
- Kaynak grubu için rg-oracle öğesini seçin.
- Yedekleme ilkesini seçin alanında(yeni) DailyPolicy kullanın. Yedekleme sıklığını veya bekletme aralığını değiştirmek istiyorsanız bunun yerine Yeni ilke oluştur'u seçin.
Yedeklemeyi Etkinleştir’i seçin.
Zamanlanan süre dolana kadar yedekleme işlemi başlatılmaz. Anında yedekleme ayarlamak için sonraki adımı tamamlayın.
Kaynak grubu bölmesinden myVault adlı yeni oluşturulan Kurtarma Hizmetleri kasanızı seçin. Sayfayı görmek için yenilemeniz gerekebilir.
myVault - Yedekleme öğeleri bölmesinde, YEDEKLEME ÖĞESİ SAYISI'nın altında yedekleme öğesi sayısını seçin.
Yedekleme Öğeleri (Azure Sanal Makinesi) bölmesinde üç nokta (...) düğmesini ve ardından Şimdi yedekle'yi seçin.
Varsayılan Yedeklemeyi SaklamaYa kadar değerini kabul edin ve ardından Tamam'ı seçin. Yedekleme işleminin tamamlanmasını bekleyin.
Yedekleme işinin durumunu görüntülemek için Yedekleme İşleri'ni seçin.
Durumuyla ilgili ayrıntıları görmek için yedekleme işini seçin.
Anlık görüntünün yürütülmesi yalnızca saniyeler alsa da, bunu kasaya aktarmak biraz zaman alabilir. Aktarım tamamlanana kadar yedekleme işi tamamlanmaz.
Uygulamayla tutarlı yedekleme için / var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log adresindeki günlük dosyasındaki hataları giderin.
VM'yi geri yükleme
Vm'nin tamamını geri yüklemek, VM'yi ve ekli disklerini seçili bir geri yükleme noktasından yeni bir VM'ye geri yüklemeniz anlamına gelir. Bu eylem ayrıca VM üzerinde çalışan tüm veritabanlarını da geri yükler. Daha sonra her veritabanını kurtarmanız gerekir.
Vm'nin tamamını geri yüklemek için şu adımları tamamlayın:
Vm'yi geri yüklerken iki ana seçenek vardır:
- Yedeklemelerin ilk alındığı VM'yi geri yükleyin.
- Yedeklemelerin ilk alındığı VM'yi etkilemeden yeni bir VM'yi geri yükleyin (klonla).
Bu alıştırmadaki ilk adımlar (VM'yi durdurma, silme ve sonra kurtarma) ilk kullanım örneğinin benzetimini yapın.
VM'yi durdurma ve silme
Azure portal vmoracle19c sanal makinesine gidip Durdur'u seçin.
Sanal makine artık çalışmıyorsa Sil'i ve ardından Evet'i seçin.
VM'yi kurtarma
Azure portal hazırlama için bir depolama hesabı oluşturun:
Azure portal + Kaynak oluştur'u seçin ve ardından Depolama hesabı'nı arayın ve seçin.
Depolama hesabı oluştur bölmesinde:
- Kaynak grubu için mevcut kaynak grubunuzu (rg-oracle) seçin.
- Depolama hesabı adı için oracrestore yazın.
- Konum'un kaynak grubundaki diğer tüm kaynaklarınızla aynı bölgeye ayarlandığından emin olun.
- Performans'ıStandart olarak ayarlayın.
- Hesap türü içinStorageV2 (genel amaçlı v2) öğesini seçin.
- Çoğaltma için Yerel olarak yedekli depolama (LRS) seçeneğini belirleyin.
Gözden Geçir + Oluştur'u ve ardından Oluştur'u seçin.
Azure portal myVault Recovery Services kasasını arayın ve seçin.
Genel Bakış bölmesinde Yedekleme öğeleri'ni seçin. Ardından, BACKUP ITEM COUNT için sıfır olmayan bir numaraya sahip olması gereken Azure Sanal Makinesi'ni seçin.
Yedekleme Öğeleri (Azure Sanal Makinesi) bölmesinde vmoracle19c VM'yi seçin.
vmoracle19c bölmesinde tutarlılık türü UygulamaYla Tutarlı olan bir geri yükleme noktası seçin. Üç noktayı (...) ve ardından VM'yi Geri Yükle'yi seçin.
Sanal Makineyi Geri Yükle bölmesinde:
Yeni Oluştur’u seçin.
Geri Yükleme Türü için Yeni sanal makine oluştur'u seçin.
Sanal makine adı için vmoracle19c girin.
Sanal ağ için vmoracle19cVNET'i seçin.
Alt ağ, sanal ağ seçiminize göre otomatik olarak doldurulur.
Hazırlama Konumu için VM'yi geri yükleme işlemi için aynı kaynak grubunda ve bölgede bir Azure depolama hesabı gerekir. Daha önce ayarladığınız bir depolama hesabını veya geri yükleme görevini seçebilirsiniz.
VM'yi geri yüklemek için Geri Yükle düğmesini seçin.
Geri yükleme işleminin durumunu görüntülemek için İşler'i ve ardından Yedekleme İşleri'ni seçin.
Geri yükleme işleminin durumuyla ilgili ayrıntıları göstermek için Devam Ediyor geri yükleme işlemini seçin.
Genel IP adresini ayarlama
VM geri yüklendikten sonra özgün IP adresini yeni VM'ye yeniden atamanız gerekir.
Azure portal vmoracle19c adlı sanal makinenize gidin. Vmoracle19c-nic-XXXXXXXXXXXXXXXX gibi yeni bir genel IP ve NIC atanmıştır, ancak dns adresi yoktur. Özgün VM silindiğinde, genel IP'si ve NIC'si korunur. Sonraki adımlar bunları yeni VM'ye yeniden ekler.
VM'yi durdurun.
Ağ'a gidin.
Ağ arabirimi ekle'yi seçin. Özgün genel IP adresinin hala ilişkili olduğu özgün NIC vmoracle19cVMNic öğesini seçin. Ardından Tamam’ı seçin.
Birincil arabirim olarak yapılandırıldığından VM geri yükleme işlemiyle oluşturduğunuz NIC'yi kaldırın. Ağ arabirimini ayır'ı seçin, vmoracle19c-nic-XXXXXXXXXXXXXXX'e benzeyen NIC'yi seçin ve ardından Tamam'ı seçin.
Yeniden oluşturduğunuz VM artık özgün IP adresi ve ağ güvenlik grubu kurallarıyla ilişkili özgün NIC'ye sahip.
Genel Bakış bölmesine Geri dön ve Başlat'ı seçin.
Veritabanını kurtarma
Tam bir VM geri yükleme işleminden sonra veritabanını kurtarmak için:
VM'ye yeniden bağlanın:
ssh azureuser@<publicIpAddress>
Vm'nin tamamı geri yüklendiğinde, her veritabanında aşağıdaki adımları uygulayarak VM'de veritabanlarını kurtarmak önemlidir.
Otomatik başlangıç vm başlatma sırasında veritabanını başlatmayı denediğinden örneğin çalıştığını fark edebilirsiniz. Ancak, veritabanı kurtarma gerektirir ve büyük olasılıkla yalnızca bağlama aşamasındadır. Bağlama aşamasına başlamadan önce hazırlık kapatma işlemini çalıştırın:
sudo su - oracle sqlplus / as sysdba SQL> shutdown immediate SQL> startup mount
Veritabanı kurtarma gerçekleştirin.
Geri yüklenen veritabanı denetim dosyasına kaydedilen Oracle sistem değişiklik numarasında (SCN) kurtarmanın durmaması gerektiğini komutuna bildirmek
RECOVER AUTOMATIC DATABASE
için söz dizimini belirtmekUSING BACKUP CONTROLFILE
önemlidir.Geri yüklenen veritabanı denetim dosyası, veritabanının geri kalanıyla birlikte bir anlık görüntü idi. İçinde depolanan SCN, anlık görüntünün belirli bir noktasındandır. Bu noktadan sonra kaydedilen işlemler olabilir ve veritabanına işlenen son işlemin noktasına kurtarmak isteyebilirsiniz.
SQL> recover automatic database using backup controlfile until cancel;
Kullanılabilir son arşiv günlüğü dosyası uygulandığında, kurtarmayı sona erdirmek için yazın
CANCEL
.Kurtarma başarıyla tamamlandığında ileti
Media recovery complete
görüntülenir.Ancak yan tümcesini
BACKUP CONTROLFILE
kullandığınızda, kurtarma komutu çevrimiçi günlük dosyalarını yoksayar. Belirli bir noktaya kurtarmayı tamamlamak için geçerli çevrimiçi yineleme günlüğündeki değişikliklerin gerekli olması mümkündür. Bu durumda, şu örneklere benzer iletiler görebilirsiniz:SQL> recover automatic database until cancel using backup controlfile; ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1 ORA-00289: suggestion : /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc ORA-00280: change 2172930 for thread 1 is in sequence #13 ORA-00278: log file '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no longer needed for this recovery ORA-00308: cannot open archived log '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
Önemli
Geçerli çevrimiçi yineleme günlüğü kaybolduysa veya bozuksa ve bunu kullanamıyorsanız, bu noktada kurtarmayı iptal edebilirsiniz.
Bu durumu düzeltmek için hangi çevrimiçi günlüğün arşivlenemediğini belirleyebilir ve istemine tam dosya adını sağlayabilirsiniz.
Veritabanını açın.
RESETLOGS
Komut seçeneğini kullandığındaRECOVER
USING BACKUP CONTROLFILE
bu seçenek gereklidir.RESETLOGS
kurtarma işleminde önceki veritabanı enkarnasyonunun ne kadarının atlandığını belirlemenin bir yolu olmadığından yineleme geçmişini yeniden başa döndürerek veritabanının yeni bir enkarnasyonunu oluşturur.SQL> alter database open resetlogs;
Veritabanı içeriğinin kurtarıldığını denetleyin:
SQL> select * from scott.scott_table;
Azure Linux VM'sinde Oracle Veritabanı'nı yedekleme ve kurtarma işlemi tamamlandı.
Oracle komutları ve kavramları hakkında daha fazla bilgiyi Oracle belgelerinde bulabilirsiniz:
- Veritabanının tamamında Oracle kullanıcı tarafından yönetilen yedeklemeleri gerçekleştirme
- Kullanıcı tarafından yönetilen tam veritabanı kurtarma gerçekleştirme
- Oracle STARTUP komutu
- Oracle RECOVER komutu
- Oracle ALTER DATABASE komutu
- Oracle LOG_ARCHIVE_DEST_n parametresi
- Oracle ARCHIVE_LAG_TARGET parametresi
VM’yi silin
VM'ye artık ihtiyacınız kalmadığında kaynak grubunu, VM'yi ve tüm ilgili kaynakları kaldırmak için aşağıdaki komutları kullanabilirsiniz:
Kasadaki yedeklemelerin geçici olarak silinmesini devre dışı bırakın:
az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
VM korumasını durdurun ve yedeklemeleri silin:
az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
Tüm kaynaklar dahil olmak üzere kaynak grubunu kaldırın:
az group delete --name rg-oracle