Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ Linux VM'leri
Bu makalede, Azure sanal makinesinde (VM) çalışan oracle veritabanını yedeklemek ve geri yüklemek için Azure Dosyalar bir ortam olarak kullanılması gösterilmektedir. Bu makaledeki adımlar Oracle 12.1 ve sonraki sürümlerde test edilmiştir.
Bu makalede, Veritabanını Sunucu İleti Bloğu (SMB) protokolü aracılığıyla vm'ye bağlı bir Azure dosya paylaşımına yedeklemek için Oracle Kurtarma Yöneticisi (RMAN) kullanırsınız. Yedekleme medyası için Azure Dosyalar kullanmak uygun maliyetli ve yüksek performanslıdır. Ancak, büyük veritabanları için Azure Backup daha iyi bir çözüm sağlar.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz. Azure Cloud Shell'i kullanmaya başlama.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı 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 . Docker kapsayıcısında Azure CLI'yi ç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 kullanarak Azure'da kimlik doğrulaması.
İ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 ve yönetme.
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 önce Oracle Veritabanı'nın yüklü bir örneğine sahip bir Linux VM oluşturmanız gerekir. Oracle 12.x veya üzerini kullanmanızı öneririz.
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.
Veritabanı ortamını hazırlama
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 -oracleKullanıcıyı /etc/sudoers dosyasına ekleyin:echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoersBu adım, vmoracle19c adlı bir VM üzerinde çalışan bir Oracle örneğiniz (test) olduğunu varsayar.
oracleKullanıcıya geçin:sudo su - oracleBağlanmadan önce ortam değişkenini
ORACLE_SIDayarlayın:export ORACLE_SID=test;Aşağıdaki komutu kullanarak gelecekte oturum açmak için değişkeni
oraclekullanıcının .bashrc dosyasına da eklemenizORACLE_SIDgerekir:echo "export ORACLE_SID=test" >> ~oracle/.bashrcHenüz çalışmıyorsa Oracle dinleyicisini başlatın:
lsnrctl startÇıkış aşağıdaki örneğe benzer görünmelidir:
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 18-SEP-2020 03:23:49 Copyright (c) 1991, 2019, Oracle. All rights reserved. Starting /u01/app/oracle/product/19.0.0/dbhome_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 19.0.0.0.0 - Production System parameter file is /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 18-SEP-2020 03:23:49 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/vmoracle19c/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmoracle19c.eastus.cloudapp.azure.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) The listener supports no services The command completed successfullyHızlı kurtarma alanı için konum oluşturun:
mkdir /u02/fast_recovery_areaVeritabanına bağlanın:
sqlplus / as sysdbaHenüz çalışmıyorsa veritabanını başlatın:
SQL> startupHızlı kurtarma alanı için veritabanı ortam değişkenlerini ayarlayın:
SQL> alter system set db_recovery_file_dest_size=4096M scope=both; SQL> alter system set db_recovery_file_dest='/u02/fast_recovery_area' scope=both;Çevrimiçi yedeklemeleri etkinleştirmek için veritabanının modda
ARCHIVELOGolduğunu doğrulayın.Günlük arşiv durumunu denetleyin:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOGGünlük arşivi modundaysa
NOARCHIVELOGSQL Plus'ta 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 Dosyalar yedekleme
Azure Dosyalar yedeklemek için şu adımları tamamlayın:
- Azure Dosyalar ayarlayın.
- Azure dosya paylaşımını VM'nize bağlayın.
- Veritabanını yedekleyin.
- Veritabanını geri yükleyin ve kurtarın.
Azure Dosyalar ayarlama
Bu bölümde Oracle RMAN kullanarak Oracle veritabanını Azure Dosyalar için yedeklersiniz. Azure dosya paylaşımları, bulutta kalan tam olarak yönetilen dosya paylaşımlarıdır. SMB protokollerini veya Ağ Dosya Sistemi (NFS) protokollerini kullanarak bunlara erişebilirsiniz.
Aşağıdaki yordamlar, VM'nize bağlanmak için SMB protokolünü kullanan bir dosya paylaşımı oluşturmayı kapsar. NFS kullanarak bağlama hakkında bilgi için bkz . NFS paylaşımı oluşturma.
Azure dosya paylaşımını bağlarken dosya paylaşımı verilerinin önbelleğe alınmasını devre dışı bırakma seçeneğini kullanın cache=none . Kullanıcının paylaşımda oluşturulan dosyalara sahip olduğundan emin olmak oracle için ve gid=oinstall seçeneklerini ayarlayınuid=oracle.
Depolama hesabınızı ayarlayın:
Azure portalında + Kaynak oluştur'u seçin ve ardından Depolama Hesabı'nı arayıp seçin.
Kaynak oluşturma ve depolama hesabı seçme adımlarını gösteren ekran görüntüsü.Depolama hesabı oluştur bölmesinde:
- Kaynak grubu için mevcut kaynak grubunuzu (rg-oracle) seçin.
- Depolama hesabı adı için oracbkup1 girin.
- 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çin StorageV2 (genel amaçlı v2) öğesini seçin.
- Çoğaltma için Yerel olarak yedekli depolama (LRS) seçeneğini belirleyin.
Depolama hesabı oluşturmaya yönelik temel bilgileri gösteren ekran görüntüsü.Gelişmiş sekmesini seçin. Azure Dosyalar altında Büyük dosya paylaşımlarını Etkin olarak ayarlayın. Gözden Geçir + Oluştur'u ve ardından Oluştur'u seçin.
Büyük dosya paylaşımlarını etkinleştirme sekmesini gösteren ekran görüntüsü.Depolama hesabı oluşturulduğunda kaynağa gidin ve Dosya paylaşımları'nı seçin.
Kaynak için dosya paylaşımlarının seçileceği yeri gösteren ekran görüntüsü.+ Dosya paylaşımı'nı seçin ve ardından Yeni dosya paylaşımı panelinde:
Ad alanına orabkup1 girin.
Kota'yı 10240 gibibayt (GiB) olarak ayarlayın.
Kota, dosya paylaşımının büyüyebileceği bir üst sınırı yansıtır. Bu örnekte standart depolama kullandığınız için kaynaklar kullandıkça öde şeklindedir ve sağlanmaz. Kotayı 10 tebibayt (TiB) olarak ayarlamak, kullandığınızdan daha fazla maliyete neden olmaz. Yedekleme stratejiniz daha fazla depolama alanı gerektiriyorsa, tüm yedeklemeleri tutmak için kotayı uygun bir düzeye ayarlayın.
Katmanlar'ın altında İşlem için iyileştirilmiş'i seçin.
Oluştur'u belirleyin.
Yeni dosya paylaşımı ekleme seçimlerini gösteren ekran görüntüsü.Dosya paylaşımı oluşturulduğunda, Dosya paylaşımı ayarları bölmesinde orabkup1'i seçin.
Bağlan sekmesini seçerek Bağlan panelini açın ve ardından Linux sekmesini seçin. SMB protokolunu kullanarak dosya paylaşımını bağlamak için sağlanan komutları kopyalayın.
Bir dosya paylaşımını Linux bilgisayara bağlamak için komutlara erişme panelini gösteren ekran görüntüsü.
Azure dosya paylaşımını VM'nize bağlama
Bağlama noktasını oluşturun:
sudo mkdir /mnt/orabackupKimlik bilgilerini ayarlama:
if [ ! -d "/etc/smbcredentials" ]; then sudo mkdir /etc/smbcredentials fiAşağıdaki komutu çalıştırın. yerine
<Your Storage Account Key1>daha önce aldığınız depolama hesabı anahtarını yazın.if [ ! -f "/etc/smbcredentials/orabackup1.cred" ]; then sudo bash -c 'echo "username=orabackup1" >> /etc/smbcredentials/orabackup1.cred' sudo bash -c 'echo "password=<Your Storage Account Key1>" >> /etc/smbcredentials/orabackup1.cred' fiKimlik bilgileri dosyasındaki izinleri değiştirin:
sudo chmod 600 /etc/smbcredentials/orabackup1.credBağlamayı /etc/fstab dosyasına ekleyin:
sudo bash -c 'echo "//orabackup1.file.core.windows.net/orabackup /mnt/orabackup cifs nofail,vers=3.0,credentials=/etc/smbcredentials/orabackup1.cred,dir_mode=0777,file_mode=0777,serverino,cache=none,uid=oracle,gid=oinstall" >> /etc/fstab'SMB protokolunu kullanarak Azure dosya paylaşımını bağlamak için komutlarını çalıştırın:
sudo mount -t cifs //orabackup1.file.core.windows.net/orabackup /mnt/orabackup -o vers=3.0,credentials=/etc/smbcredentials/orabackup1.cred,dir_mode=0777,file_mode=0777,serverino,cache=none,uid=oracle,gid=oinstallAşağıdaki örneğe benzer bir hata alırsanız, Linux ana bilgisayarınızda Common Internet File System (CIFS) paketi yüklü olmayabilir:
mount: wrong fs type, bad option, bad superblock on //orabackup1.file.core.windows.net/orabackupCIFS paketinin yüklü olup olmadığını denetlemek için aşağıdaki komutu çalıştırın:
sudo rpm -qa|grep cifs-utilsKomut hiçbir çıkış döndürmezse, aşağıdaki komutu kullanarak CIFS paketini yükleyin. Ardından Azure dosya paylaşımını
mountbağlamak için komutunu yeniden çalıştırın.sudo yum install cifs-utilsAşağıdaki komutu kullanarak dosya paylaşımının düzgün bağlandığını denetleyin:
df -hÇıktı şu örneğe benzer görünmelidir:
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.3G 0 3.3G 0% /dev tmpfs 3.3G 0 3.3G 0% /dev/shm tmpfs 3.3G 17M 3.3G 1% /run tmpfs 3.3G 0 3.3G 0% /sys/fs/cgroup /dev/sda2 30G 9.1G 19G 34% / /dev/sdc1 59G 2.7G 53G 5% /u02 /dev/sda1 497M 199M 298M 41% /boot /dev/sda15 495M 9.7M 486M 2% /boot/efi tmpfs 671M 0 671M 0% /run/user/54321 /dev/sdb1 14G 2.1G 11G 16% /mnt/resource tmpfs 671M 0 671M 0% /run/user/54322 //orabackup1.file.core.windows.net/orabackup 10T 0 10T 0% /mnt/orabackup
Veritabanını yedekleme
Bu bölümde Oracle RMAN kullanarak veritabanının ve arşiv günlüklerinin tam yedeğini alırsınız. Ardından yedeklemeyi, daha önce bağladığınız Azure dosya paylaşımına bir yedekleme kümesi olarak yazarsınız.
RMAN'ı Azure Dosyalar bağlama noktasına yedeklemek için yapılandırın:
rman target / RMAN> configure snapshot controlfile name to '/mnt/orabkup/snapcf_ev.f'; RMAN> configure channel 1 device type disk format '/mnt/orabkup/%d/Full_%d_%U_%T_%s'; RMAN> configure channel 2 device type disk format '/mnt/orabkup/%d/Full_%d_%U_%T_%s';Bu örnekte RMAN yedekleme parçalarının boyutunu 4 GiB ile sınırlandırıyorsunuz. Ancak RMAN yedekleme
maxpiecesizedeğeri, Azure standart dosya paylaşımları ve premium dosya paylaşımları için dosya boyutu sınırı olan 4 TiB'a kadar çıkabiliyor. Daha fazla bilgi için bkz. ölçeklenebilirlik ve performans hedefleri Azure Dosyalar.RMAN> configure channel device type disk maxpiecesize 4000G;Yapılandırma değişikliği ayrıntılarını onaylayın:
RMAN> show all;Yedeklemeyi çalıştırın. Aşağıdaki komut, arşiv günlük dosyaları da dahil olmak üzere sıkıştırılmış biçimde ayarlanmış bir yedekleme olarak tam veritabanı yedeğini alır:
RMAN> backup as compressed backupset database plus archivelog;
Oracle RMAN'ı kullanarak veritabanını çevrimiçi olarak yedeklediyseniz, yedekleme Azure Dosyalar. Yedeklemeleri Azure Dosyalar depoladığınız için, veritabanını kopyalamanız gerekiyorsa bunlara diğer VM'lerden erişebilirsiniz.
Veritabanı yedeklemesi için RMAN ve Azure Dosyalar kullanmanın birçok avantajı vardır. Yedekleme ve geri yükleme süresi, veritabanının boyutuna bağlıdır. Büyük veritabanları için bu işlemler önemli ölçüde zaman alabilir.
Alternatif olarak Azure Backup aracılığıyla uygulamayla tutarlı VM yedeklemeleri kullanabilirsiniz. Bu mekanizma, veritabanı boyutundan bağımsız olarak hızlı yedeklemeler gerçekleştirmek için anlık görüntü teknolojisini kullanır. Kurtarma Hizmetleri kasasıyla tümleştirme, Oracle Veritabanı yedeklemelerinizin bulut depolama alanını sağlar, böylece bunlara diğer VM'lerden ve diğer Azure bölgelerinden erişebilirsiniz.
Veritabanını geri yükleme ve kurtarma
Oracle örneğini kapatın:
sqlplus / as sysdba SQL> shutdown abort ORACLE instance shut down.Veritabanı veri dosyalarını kaldırın:
cd /u02/oradata/TEST rm -f *.dbfAşağıdaki komutlar eksik veri dosyalarını geri yüklemek ve veritabanını kurtarmak için RMAN kullanır:
rman target / RMAN> startup mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open;Veritabanı içeriğinin tamamen kurtarıldığını denetleyin:
RMAN> SELECT * FROM scott.scott_table;
Azure Linux VM'sinde Oracle Database 19c veritabanını yedekleme ve kurtarma işlemi tamamlandı.
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 komutu kullanabilirsiniz:
az group delete --name rg-oracle