{"id":3333,"date":"2013-05-12T10:49:22","date_gmt":"2013-05-12T07:49:22","guid":{"rendered":"http:\/\/www.koraykey.com\/?p=3333"},"modified":"2013-08-01T23:36:26","modified_gmt":"2013-08-01T20:36:26","slug":"oracle-veritabanlarinda-backup-recovery-uygulamalari-rman","status":"publish","type":"post","link":"https:\/\/www.koraykey.com\/?p=3333","title":{"rendered":"Oracle Veritabanlar\u0131nda Backup &#038; Recovery Uygulamalar\u0131 (Rman)"},"content":{"rendered":"<p style=\"text-align: justify;\"><a href=\"http:\/\/www.koraykey.com\/wp-content\/uploads\/OracleBackup.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3334\" alt=\"OracleBackup\" src=\"http:\/\/www.koraykey.com\/wp-content\/uploads\/OracleBackup.jpg\" width=\"250\" height=\"155\" \/><\/a><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Bu makalemizde Oracle taraf\u0131ndan sa\u011flanan yedekleme ve onarma arac\u0131 olan &#8220;Rman&#8221; (Recovery Manager) inceleyece\u011fiz.<\/span><\/p>\n<p style=\"text-align: justify;\"><strong><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">RMAN Nedir ?<\/span><\/strong><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">RMAN (Recovery Manager), Oracle veritaban\u0131n\u0131n yede\u011finin al\u0131nmas\u0131n\u0131 ve yedekten d\u00f6n\u00fclebilmesini sa\u011flayan en \u00f6nemli kurtarma ve onarma arac\u0131d\u0131r. RMAN ile Hot (online) backup, incremental backup, Full backup al\u0131nabilir. &#8220;Spfile&#8221; ve &#8220;Controlfile&#8221;lar\u0131n yede\u011fini alabildi\u011fimiz gibi al\u0131nan backuplardan\u00a0 Partial (PIT-Point in Time &#8211; Herhangi Zamandaki Bir Noktaya) veya complete recovery yapabiliriz. Ancak RMAN ile sa\u011fl\u0131kl\u0131 bir \u015fekilde yedek alabilmemiz ve en az veri kayb\u0131 i\u00e7in veritaban\u0131m\u0131z\u0131n mutlaka &#8220;ARCHIVELOG&#8221; modunda olmas\u0131 gerekmektedir.<\/span><\/p>\n<ul>\n<li><strong><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Yedekleme \u0130\u015flemleri (Backup)<\/span><\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">1. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">\u00d6ncelikle veritaban\u0131m\u0131zda a\u00e7\u0131k de\u011filse &#8220;ArchiveLog&#8221; modunu aktif ediyoruz. Bunun i\u00e7in a\u015fa\u011f\u0131daki kontrolleri ve i\u015flemleri yapabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131zda \"sysdba\" rol\u00fcyle oturum a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ sqlplus \/ as sysdba <\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL*Plus: Release 11.2.0.3.0 Production on Tue May 7 20:09:29 2013<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Copyright (c) 1982, 2011, Oracle.  All rights reserved.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Connected to:<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">With the Partitioning, OLAP, Data Mining and Real Application Testing options<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- ArchiveLog durumunu sorguluyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; archive log list;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database log mode              No Archive Mode<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Automatic archival             Disabled <strong>--&gt; G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi kapal\u0131 durumda<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Archive destination            USE_DB_RECOVERY_FILE_DEST<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Oldest online log sequence     12<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Current log sequence           15<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">--ArchiveLog dosyalar\u0131m\u0131z\u0131 yazaca\u011f\u0131 dizin\/disk ve yazabilece\u011fi toplam alan\r\nmiktar\u0131n\u0131 sorguluyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; show parameter recovery_file_dest;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">NAME                                 TYPE        VALUE<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">------------------------------------ ----------- ------------------------------<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">db_recovery_file_dest                string      \/u01\/app\/oracle\/fast_recovery_<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">                                                 area<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">db_recovery_file_dest_size           big integer 5000M<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi \"\/u01\/app\/oracle\/fast_recovery_area\" alan\u0131m\u0131z kullan\u0131lmakta ve\r\ntoplam 5GB'a yak\u0131n <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">bir alan atanm\u0131\u015f durumdad\u0131r.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- E\u011fer dosyalar\u0131 yazaca\u011f\u0131 alanda de\u011fi\u015fiklik yapmak istiyorsak a\u015fa\u011f\u0131daki komutla\r\nbunu ger\u00e7ekle\u015ftirebiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <\/span><span style=\"font-size: 10px; font-family: courier new,courier;\">alter system set log_archive_dest_1='LOCATION=\/u01\/fra\/oradata\/orcl\/arch' scope=both;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Biz \"\/u01\/app\/oracle\/fast_recovery_area\" alan\u0131n\u0131 oldu\u011fu gibi b\u0131rak\u0131p devam\r\nedece\u011fiz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Art\u0131k \"ArchiveLog\" modumuzu a\u00e7abiliriz.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\r\n-- Veritaban\u0131m\u0131z\u0131 \"mount\" modda a\u00e7mak i\u00e7in kapat\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; shutdown immediate;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database closed.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database dismounted.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">ORACLE instance shut down.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 \"mount\" modda a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; startup mount;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">ORACLE instance started.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Total System Global Area 1870647296 bytes<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Fixed Size                  2229424 bytes<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Variable Size            1090521936 bytes<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database Buffers          771751936 bytes<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Redo Buffers                6144000 bytes<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database mounted.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131zda \"ArchiveLog\" modunu aktif ediyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter database archivelog;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database altered.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter database open;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database altered.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- ArcihiveLog durumunu sorguluyoruz.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\r\nSQL&gt; archive log list;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database log mode              Archive Mode<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Automatic archival             Enabled --&gt; <strong>G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi a\u00e7\u0131k durumda<\/strong><\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Archive destination            \/u01\/app\/oracle\/fast_recovery_area<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Oldest online log sequence     12<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Next log sequence to archive   15<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Current log sequence           15\r\n<\/span><\/pre>\n<p style=\"text-align: justify;\">2. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131z\u0131n yede\u011fini almak i\u00e7in a\u015fa\u011f\u0131daki i\u015flemleri yapabiliriz. Veritaban\u0131 yedekleme y\u00f6ntemleri a\u015fa\u011f\u0131daki gibidir.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Yedekleme i\u015flemi i\u00e7in RMAN arac\u0131 ile veritaban\u0131m\u0131za ba\u011flan\u0131yoruz. A\u015fa\u011f\u0131daki\r\nt\u00fcm komutlar\u0131 kullanabilmek i\u00e7in RMAN arac\u0131na a\u015fa\u011f\u0131daki gibi ba\u011flan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ rman target \/<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Recovery Manager: Release 11.2.0.3.0 - Production on Tue May 7 21:36:42 2013<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Copyright (c) 1982, 2011, Oracle and\/or its affiliates.  All rights reserved.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">connected to target database: ORCL (DBID=1342567501)\r\n\r\n-- Backup al\u0131nmas\u0131na ihtiya\u00e7 olup olmad\u0131\u011f\u0131n\u0131 sorgulamak i\u00e7in a\u015fa\u011f\u0131daki komutu\r\nkullabiliriz.\r\n\r\nRMAN&gt; report need backup;\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131n \"Cold Backup\" yede\u011fini almak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131\r\nkullan\u0131yoruz. Bu backup y\u00f6nteminde veritaban\u0131n\u0131 \"mount\" moda al\u0131p yedek al\u0131yoruz.\r\n\r\n<\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">$ rman target \/<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; shutdown immediate;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; startup mount;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup database plus archivelog delete input;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; alter database open;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Cold backup i\u015flemini shell scripti ile yapmak istersek a\u015fa\u011f\u0131daki sat\u0131rlar\u0131\r\nbir .sh dosyas\u0131na yaz\u0131p \u00e7al\u0131\u015ft\u0131rabiliriz.\r\n\r\n#!\/bin\/sh\r\n# RMAN Cold Backup Script\r\nrman target \/ &lt;&lt; EOF\r\nshutdown immediate;\r\nstartup mount;\r\nbackup database plus archivelog delete input;\r\nalter database open;\r\nEOF\r\nexit\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131n tam yede\u011fini online (veritaban\u0131 a\u00e7\u0131kken) almak i\u00e7in a\u015fa\u011f\u0131daki\r\nkomutu kullan\u0131yoruz. Bu komutla atanm\u0131\u015f olan \"FRA\" alan\u0131na otomatik yedek alacakt\u0131r.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup database;\r\n\r\n-- Veritaban\u0131 yede\u011fimizi belli bir dizine belli bir formatla almak istiyorsak\r\na\u015fa\u011f\u0131daki komutu kullanabiliriz.\r\n\r\nRMAN&gt; backup database format '\/u01\/backups\/%d_%t_%s.rman';\r\n\r\nBurada kulland\u0131\u011f\u0131m\u0131z formatlar\u0131n anlamlar\u0131n\u0131 <a href=\"http:\/\/docs.oracle.com\/cd\/B28359_01\/backup.111\/b28273\/rcmsubcl010.htm\" target=\"_blank\">\"Oracle Rman Reference\"<\/a> sitesindeki\r\n\"formatSpec\" ba\u015fl\u0131\u011f\u0131 alt\u0131nda bulabilirsiniz. Yedek al\u0131rken format kullanma\r\nzorunlulu\u011fu yoktur. Do\u011frudan dosya ismini elle belirleyerekte alabiliriz.\r\n\r\n-- S\u0131k kullan\u0131lan formatlar\u0131 a\u015fa\u011f\u0131da a\u00e7\u0131klad\u0131m.\r\n\r\n%a \u00a0\u00a0 \u00a0Varolan veritaban\u0131 aktivasyon idsi \r\n%A \u00a0\u00a0 \u00a00 ile tamamlanm\u0131\u015f aktivasyon idsi \r\n%c \u00a0\u00a0 \u00a0Maksimum de\u011feri 256 olan backup piece kopya numaras\u0131 \r\n%d \u00a0\u00a0 \u00a0Veritaban\u0131 ad\u0131 \r\n%D \u00a0\u00a0 \u00a0DD format\u0131nda g\u00fcn bilgisi \r\n%e \u00a0\u00a0 \u00a0Ar\u015fiv log dosyas\u0131 s\u0131ra numaras\u0131 \r\n%f \u00a0\u00a0 \u00a0Absolute dosya numaras\u0131 \r\n%F \u00a0\u00a0 \u00a0DBID, g\u00fcn ay, y\u0131l ve benzersiz bir s\u0131ra numaras\u0131 i\u00e7erir. \r\n%h \u00a0\u00a0 \u00a0Ar\u015fiv redo log thread numaras\u0131 \r\n%I \u00a0\u00a0 \u00a0DBID \r\n%M \u00a0\u00a0 \u00a0MM format\u0131nda ay bilgisi \r\n%n \u00a0\u00a0 \u00a0Veritaban\u0131 ad\u0131 \r\n%N \u00a0\u00a0 \u00a0Tablespace ad\u0131. Veri dosyas\u0131 ve image copy yedekle set edilebilir. \r\n%p \u00a0\u00a0 \u00a0Backup set i\u00e7indeki backup piece numaras\u0131d\u0131r \r\n%r \u00a0\u00a0 \u00a0Resetlogs ID \r\n%s\u00a0\u00a0 \u00a0 Backup set numaras\u0131 \r\n%S\u00a0\u00a0 \u00a0 0 ile tamamlanm\u0131\u015f s\u0131ra numaras\u0131 \r\n%t \u00a0\u00a0 \u00a0Backup set zaman bilgisidir. Saniye bilgiside i\u00e7eren 4 byte l\u0131k bir de\u011ferdir. \r\n%T \u00a0\u00a0 \u00a0Gregorian takviminde YYYYMMDD format\u0131nda olan y\u0131l, ay ve g\u00fcn bilgisidir \r\n%u \u00a0\u00a0 \u00a0Backup set veya image copy yede\u011fin numaras\u0131 ve olu\u015fturulma zaman\u0131n\u0131 i\u00e7eren \r\n       8 karakterlik bir bilgidir. \r\n%U \u00a0\u00a0 \u00a0Sistem taraf\u0131ndan \u00fcretilen benzersiz bir numarad\u0131r. \r\n%Y \u00a0\u00a0 \u00a0YYYY format\u0131ndaki y\u0131l bilgisidir \r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131n ArchiveLog dosyalar\u0131 dahil yede\u011fini almak i\u00e7in a\u015fa\u011f\u0131daki<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">komutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup database plus archivelog;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Yede\u011fi al\u0131nm\u0131\u015f ArchiveLog dosyalar\u0131n\u0131 silmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup database plus archivelog delete input;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Rman arac\u0131m\u0131zda \"0\" ve \"1\" olmak \u00fczere 2 yedek alma seviyesi vard\u0131r. Yedek almada<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\"0\" tam veritaban\u0131 yede\u011fi al\u0131naca\u011f\u0131n\u0131 \"1\" ise \"0\" seviyesinden sonra de\u011fi\u015fenlerin<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">al\u0131naca\u011f\u0131n\u0131 g\u00f6sterir.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup incremental level=0 database;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup incremental level=1 database;\r\n\r\n-- Veritaban\u0131 yede\u011fimizi s\u0131k\u0131\u015ft\u0131rararak almak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz.\r\n\r\nRMAN&gt; backup as compressed backupset database plus archivelog delete input;\r\n\r\n-- Geli\u015fmi\u015f yedek almak i\u00e7in bir \u00e7ok parametreyi kendimiz belirleyebiliriz.\r\n(\u00d6rne\u011fin yedeklerimize \"tag\" atayabilir, s\u0131k\u0131\u015ft\u0131rabilir, format atayabilir vb.)\r\n\r\nRMAN&gt; backup as compressed backupset database format\r\n'\/u01\/backups\/dbf_%d_%t_%s.rman' tag='DBF_ORCL_20130508_2210' plus\r\narchivelog format '\/u01\/backups\/arc_%d_%t_%s.rman'\r\ntag='ARC_ORCL_20130508_2210';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131n yede\u011fini \"Image Copy\" kullanarak alabiliriz. Bu y\u00f6ntemle\r\nyedek ancak diskimize al\u0131nabilir. Yani ortamdaki bir \"teyp\" \u00fcnitesine \"Image Copy\"\r\nile yedek al\u0131namaz. \"Image Copy\" ile al\u0131nm\u0131\u015f bir yede\u011fin en b\u00fcy\u00fck avantaj\u0131 \u00e7ok h\u0131zl\u0131\r\ngeri d\u00f6n\u00fc\u015f yapabilmemizdir. \u00c7\u00fcnk\u00fc image ald\u0131\u011f\u0131 i\u00e7in al\u0131nm\u0131\u015f yede\u011fi hedef olarak\r\ng\u00f6sterebilir daha sonra tekrar yedek alarak orjinal yerinden \u00e7al\u0131\u015fmas\u0131na devam\r\netmesini sa\u011flayabiliriz.\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup as copy database;\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Yede\u011fimizin do\u011fru al\u0131n\u0131p al\u0131nmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu\r\nkullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore database validate;<\/span><\/pre>\n<p style=\"text-align: justify;\">3. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda tam yedek almak yerine belli bir &#8220;datafile&#8221;, &#8220;controlfile&#8221;, &#8220;spfile&#8221; veya &#8220;archivelog&#8221; yede\u011fi almak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- A\u015fa\u011f\u0131daki komut ile datafile numaralar\u0131m\u0131z\u0131 g\u00f6rebiliriz.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Bu komut \"sqlplus\" arac\u0131l\u0131\u011f\u0131 ile \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r.\r\n\r\n$ sqlplus \/ as sysdba \r\n\r\nSQL&gt; SELECT tablespace_name, file#, name\r\nFROM v$datafile_header ORDER BY file#;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- \u00d6rne\u011fin \"users\" datafile yede\u011fini almak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup datafile 4;\r\n\r\n-- \u00c7oklu yedek almak i\u00e7in\r\n\r\nRMAN&gt; backup datafile 1,3,4;\r\n\r\n-- Belli bir tablespace ad\u0131n\u0131da yazarak yedek alabiliriz.\r\n\r\nRMAN&gt; backup tablespace system, users;<\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">\r\n\r\n-- Ge\u00e7erli \"control file\" veya \"spfile\" yede\u011fi almak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131\r\nkullanabiliriz.\r\n\r\nRMAN&gt; backup current controlfile;\r\n\r\nRMAN&gt; backup spfile;\r\n\r\n-- E\u011fer RMAN ile her yedek al\u0131nd\u0131\u011f\u0131nda \"controlfile\" ve \"spfile\" yede\u011finin\r\notomatik olarak al\u0131nmas\u0131n\u0131 istiyorsak a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rmam\u0131z gerekir.\r\n\r\nRMAN&gt; configure controlfile autobackup on;\r\n\r\n-- Veritaban\u0131m\u0131zda \"ArchiveLog\" dosyalar\u0131m\u0131z\u0131da yedekleyebiliriz. Bunun i\u00e7in\r\na\u015fa\u011f\u0131daki komutu kullabiliriz.\r\n\r\nRMAN&gt; backup archivelog all;\r\n\r\n-- Belli bir zamana kadar olanlar\u0131 yedeklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz.\r\n\r\nRMAN&gt; backup archivelog from time='SYSDATE-7';\r\n\r\n-- Archivelog yedeklerimizi al\u0131p yedek al\u0131nan ar\u015fiv dosyalar\u0131n\u0131 silmek istiyorsak\r\na\u015fa\u011f\u0131daki komutu kullanabiliriz.\r\n\r\nRMAN&gt; backup archivelog all delete input;\r\n<\/span><\/pre>\n<p style=\"text-align: justify;\">4. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda ald\u0131\u011f\u0131m\u0131z yedekleri sorgulamak i\u00e7in &#8220;List&#8221; komutunu kullan\u0131yoruz. Bu komutumuzun se\u00e7eneklerini inceleyelim.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Al\u0131nan yedeklerimizi sorgulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list backup;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">using target database control file instead of recovery catalog<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">List of Backup Sets<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">===================<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">BS Key  Type LV Size       Device Type Elapsed Time Completion Time<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">------- ---- -- ---------- ----------- ------------ ---------------<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">14      Full    9.36M      DISK        00:00:02     07-MAY-13<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">.\r\n\r\n-- Buradaki kar\u015f\u0131m\u0131za \u00e7\u0131kabilecek terimleri a\u00e7\u0131klarsak;\r\n\r\nBS Key\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0  : Her backup\u0131n bir backup key de\u011feri vard\u0131r ve bu de\u011fer tekildir.\r\nType            : Backup t\u00fcr\u00fcn\u00fc g\u00f6sterir. (Full, Incremantal)\r\nSize\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0    : Al\u0131nan backup par\u00e7as\u0131n\u0131n boyutunu ifade eder.\r\nDevice Type\u00a0\u00a0 \u00a0 : Backup\u0131n diskemi yoksa teyp \u00fcnitesinemi al\u0131nd\u0131\u011f\u0131n\u0131 ifade eder.\r\nElapsed Time\u00a0\u00a0 \u00a0: Backup\u0131n al\u0131nma s\u00fcresini ifade eder.\r\nCompletion Time : Tamamlanma zaman\u0131 hakk\u0131nda bilgi verir.\r\nBP Key\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0  : Backup par\u00e7ac\u0131\u011f\u0131na ait key bilgisidir.\r\n                  Her backup setinin i\u00e7indeki backup par\u00e7alar\u0131nda bu de\u011fer tekildir.\r\nStatus\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0  : Backup durumu hakk\u0131nda bilgi verir. \"Available\", \"expired\" gibi.\r\nCommpressed\u00a0\u00a0 \u00a0 : Al\u0131nan backup normal mi yoksa s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f olarakm\u0131 al\u0131nd\u0131\u011f\u0131\r\n                  bilgisini verir.\r\nTag\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0     : Backup\u0131n ismini verir.\r\nPiece Name\u00a0\u00a0 \u00a0  : Backup\u0131n al\u0131nd\u0131\u011f\u0131 dizindeki ger\u00e7ek ismini verir. \r\n<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Al\u0131nan yedeklerimizin \u00f6zet bilgisini g\u00f6rmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list backup summary;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Image Copy olarak al\u0131nm\u0131\u015f yedeklerimizin bilgisini g\u00f6rmek i\u00e7in a\u015fa\u011f\u0131daki\r\nkomutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list copy;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Al\u0131nm\u0131\u015f yedeklerimizden herhangi bir datafile yede\u011fini sorgulamak i\u00e7in\r\na\u015fa\u011f\u0131daki komutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list backup of datafile 1;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Hangi yedek dosyas\u0131n\u0131n hangi \"backup piece\" i\u00e7inde oldu\u011funu sorgulamak i\u00e7in\r\na\u015fa\u011f\u0131daki komutlar\u0131 kullan\u0131yoruz.\r\n\r\n-- Backup Piece Nedir ?\r\n\r\nYedekleme i\u015flemini ba\u015flatt\u0131\u011f\u0131n\u0131z zamanla, yedek i\u015fleminin tamamland\u0131\u011f\u0131 zaman\r\naras\u0131nda yeni ar\u015fivler olu\u015fabilir. RMAN olduk\u00e7a geli\u015fmi\u015f bir program ve bu duruma\r\nbir \u00e7\u00f6z\u00fcm \u00fcretmektedir. Sizin yedek alman\u0131z biterken, RMAN yeni ar\u015fiv dosyalar\u0131n\u0131n\r\nolu\u015fup olu\u015fmad\u0131\u011f\u0131na bakar ve e\u011fer varsa, bunlar\u0131 yeni bir backup piece i\u00e7inde\r\nald\u0131\u011f\u0131n\u0131z yede\u011fe ekler.\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list backup of database;  <\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Belli bir tarih aral\u0131\u011f\u0131ndaki yedekleri sorgulamak i\u00e7in a\u015fa\u011f\u0131daki komutu\r\nkullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list backup of database between '07-MAY-13' and '08-MAY-13';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Al\u0131nan yedeklerin dosyalar\u0131n\u0131 sorgulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list backup by file;<\/span><\/pre>\n<p style=\"text-align: justify;\">5. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Alm\u0131\u015f oldu\u011fumuz &#8220;yedekleri&#8221; veya &#8220;archivelog&#8221; dosyalar\u0131n\u0131 kontrol etmek ve silmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Ald\u0131\u011f\u0131m\u0131z yedeklerin kullan\u0131labilir oldu\u011funu sorgulamak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; crosscheck backup;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Ald\u0131\u011f\u0131m\u0131z image copy yedeklerinin kullan\u0131labilir oldu\u011funu sorgulamak i\u00e7in<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\r\nRMAN&gt; crosscheck copy;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Kullan\u0131labilir olmayan yedekleri silmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; delete expired backup;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Kullan\u0131labilir olmayan image copy yedeklerini silmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; delete expired copy;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Obsolute duruma d\u00fc\u015fm\u00fc\u015f yedekleri sorgulamak i\u00e7in\r\n\r\nRMAN&gt; report obsolete;\r\n\r\n-- Obsolete duruma d\u00fc\u015f\u00fcm\u00fc\u015f yedekleri silmek i\u00e7in<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\r\nRMAN&gt; delete obsolete;\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Archivelog dosyalar\u0131n\u0131 silmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; delete archivelog all;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Belli bir zamana kadar olan Archivelog dosyalar\u0131n\u0131 silmek i\u00e7in a\u015fa\u011f\u0131daki\r\nkomutu kullanabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; delete archivelog all completed before 'sysdate -1';<\/span><\/pre>\n<p style=\"text-align: justify;\">6. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda veri boyutu \u00e7ok b\u00fcy\u00fckse ve yedek alma i\u015flemi \u00e7ok uzun s\u00fcr\u00fcyorsa Oracle taraf\u0131ndan sa\u011flanan &#8220;Fast Incremental Backups (Block Change Tracking)&#8221; \u00f6zelli\u011fini kullanabiliriz. Bu \u00f6zellik sayesinde de\u011fi\u015fen bloklar\u0131 bir dosyaya yazacak ve buradaki de\u011fi\u015fikliklere g\u00f6re yedek alma i\u015flemi sa\u011flayacakt\u0131r. Bu y\u00f6ntemle yedek alma i\u015flemimizin g\u00f6zle g\u00f6r\u00fcl\u00fcr \u015fekilde h\u0131zland\u0131\u011f\u0131n\u0131 g\u00f6rece\u011fiz. Bu \u00f6zelli\u011fi devreye almak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izlemeliyiz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131za \"sysdba\" rol\u00fcyle ba\u011flan\u0131yoruz.\r\n\r\n$ sqlplus \/ as sysdba\r\n\r\n-- Veritab\u0131n\u0131m\u0131zda \"Block Change Tracking\" \u00f6zelli\u011fini kontrol ediyoruz.\r\n\r\n<\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; select status from v$block_change_tracking;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">STATUS<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">----------<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">DISABLED<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Disabled durumdaysa a\u00e7\u0131yoruz.<\/span><span style=\"font-family: courier new,courier; font-size: 12px;\"> E\u011fer veritaban\u0131m\u0131zda \"OMF\" kullan\u0131yorsak\r\n\"DB_CREATE_FILE_DEST\" paremetresine g\u00f6re otomatik bir dosya olu\u015fturacakt\u0131r.\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter database enable block change tracking;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- E\u011fer dosya yolunu ve ismini kendimiz belirlemek istiyorsak a\u015fa\u011f\u0131daki <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">komutla\r\nbunu yapabiliriz.\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter database enable block change tracking <\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">  using file '\/u01\/backups\/rman.bct' reuse;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\r\n-- \"Block Change Tracking\" \u00f6zelli\u011fini devre d\u0131\u015f\u0131 b\u0131rakmak istiyorsak a\u015fa\u011f\u0131daki\r\nkomutla yapabiliriz.\r\n\r\nSQL&gt; alter database disable block change tracking;\r\n<\/span><\/pre>\n<ul>\n<li><strong><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Yedekten D\u00f6nme \u0130\u015flemleri (Recovery, Restore)<\/span><\/strong><\/li>\n<\/ul>\n<p>1. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131z\u0131n tamamen \u00e7\u00f6kmesi durumunda a\u015fa\u011f\u0131daki komutlarla kurtarma i\u015flemi yapabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- \u00d6ncelikle veritaban\u0131m\u0131z\u0131 \"mount\" modda a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ rman target \/<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; startup mount;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131 restore i\u015flemini ba\u015flat\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore database;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131 recovery i\u015flemini ba\u015flat\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover database;\r\n\r\n-- Veritaban\u0131m\u0131z\u0131 \"resetlog\" parametresi ile a\u00e7\u0131yoruz.\r\n\r\nRMAN&gt; alter database open resetlogs;<\/span><\/pre>\n<p style=\"text-align: justify;\">2. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda belli bir &#8220;datafile&#8221; veya &#8220;tablespace&#8221; kurtarmak i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- \u00d6ncelikle kurtarma i\u015flemini yapaca\u011f\u0131m\u0131z \"tablespace\" offline moda \u00e7ekmemiz\r\ngerekiyor. <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">Ayn\u0131 i\u015flemi \"tablespace\" offline duruma getirmeden veritaban\u0131m\u0131z\u0131\r\n\"mount\" moda alarakta <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">yapabiliriz. Yani \"tablespace\" offline yap\u0131lam\u0131yorsa\r\nveritaban\u0131m\u0131z\u0131 \"mount\" moda alarak yapabiliriz.\r\n\r\n-- Veritaban\u0131m\u0131z\u0131 mount moda alabilmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ rman target \/<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; shutdown immediate;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; startup mount;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Sadece \"tablespace\" offline duruma almak i\u00e7in<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\r\nSQL&gt; alter tablespace users offline;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Tablespace restore ve recovery i\u015flemini ba\u015flat\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore tablespace users;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover tablespace users;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Offline duruma \u00e7ekti\u011fimiz tablespace yeniden online duruma getiriyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter tablespace users online;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Dosya lokasyonu kullanarak \"datafile\" kurtarma i\u015flemi yapabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore datafile '\/u01\/app\/oracle\/oradata\/ORCL\/datafile\/'<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover datafile '\/u01\/app\/oracle\/oradata\/ORCL\/datafile\/'<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Kurtarma i\u015flemini \"datafile\" numaralar\u0131n\u0131 biliyorsak onlar\u0131 girerekte\r\nyapabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore datafile 1, 3, 4;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover datafile 1, 3, 4;<\/span><\/pre>\n<p style=\"text-align: justify;\">3. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda &#8220;controlfile&#8221; veya &#8220;spfile&#8221; kaybedildi\u011finde geri d\u00f6nme i\u015flemi i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Control file onarma i\u015flemi i\u00e7in\r\n\r\n-- Rman arac\u0131m\u0131za ba\u011flan\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ rman target \/<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 \"abort\" ile kapat\u0131yoruz.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; shutdown abort;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 \"nomount\" modda a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; startup nomount;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- DBID set ediyoruz. (DBID numaras\u0131n\u0131 bir yerde muhakkak not etmemiz gereklidir.)\r\n\r\n-- DBID \u00f6\u011frenmek i\u00e7in veritaban\u0131m\u0131zda \u00e7al\u0131\u015f\u0131r durumdayken a\u015fa\u011f\u0131daki sorguyu\r\n\u00e7al\u0131\u015ft\u0131rmal\u0131y\u0131z. E\u011fer \"DBID\" elimizde yoksa \"controlfile\" onarma i\u015flemini yapamay\u0131z.\r\n\r\n$ sqlplus \/ as sysdba\r\n\r\nSQL&gt; select dbid from v$database;\r\n\r\nDBID\r\n----------\r\n1342567501\r\n<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; set dbid = 1342567501<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Controlfile dosyam\u0131z\u0131 geri d\u00f6n\u00fcyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore controlfile;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Controlfile dosyam\u0131z\u0131 belli bir yedekten d\u00f6nmek i\u00e7in\r\n\r\n<\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore controlfile from '\/u01\/backups\/dbf_ORCL_814887234_65.rman';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Controlfile dosyam\u0131z\u0131 autobackup'dan d\u00f6nmek i\u00e7in\r\n\r\nRMAN&gt; restore controlfile from autobackup;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 \"mount\" moda getiriyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; alter database mount;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; alter database open;\r\n\r\n-- Veritaban\u0131m\u0131z\u0131n a\u00e7\u0131l\u0131\u015f\u0131nda a\u015fa\u011f\u0131daki gibi bir hata ile kar\u015f\u0131la\u015f\u0131rsak\r\na\u015fa\u011f\u0131daki i\u015flemlerle i\u015flemimizi yapabiliriz.\r\n\r\nORA-01589: must use RESETLOGS or NORESETLOGS option for database open\r\n\r\n$ rman target \/\r\nRMAN&gt; recover database;\r\nRMAN&gt; alter database open resetlogs;\r\nRMAN&gt; reset database;\r\n\r\n-- B\u00f6yle bir durumda daha \u00f6nce alm\u0131\u015f oldu\u011fumuz yedekler SCN numaras\u0131\r\ns\u0131f\u0131rlanaca\u011f\u0131ndan ge\u00e7ersiz duruma d\u00fc\u015fecektir. Veritaban\u0131m\u0131z a\u00e7\u0131l\u0131nca \r\nmuhakkak yedek almal\u0131y\u0131z.\r\n\r\n$ rman target \/\r\nRMAN&gt; backup database;\r\n\r\n-- Spfile onarma i\u015flemi i\u00e7in\r\n\r\n-- Spfile dosyam\u0131z\u0131 belli bir yedekten d\u00f6nmek i\u00e7in\r\n\r\nRMAN&gt; startup nomount;\r\n\r\nveya\r\n\r\nRMAN&gt; startup force nomount;\r\n\r\nRMAN&gt; restore spfile from '\/u01\/backups\/sp_ORCL_815078760_6.rman';\r\n\r\n-- Spfile dosyam\u0131z\u0131 autobackup'dan d\u00f6nmek i\u00e7in\r\n\r\nRMAN&gt; startup nomount;\r\n\r\nveya\r\n\r\nRMAN&gt; startup force nomount;\r\n\r\nRMAN&gt; restore spfile from autobackup;\r\n\r\n-- Spfile dosyam\u0131z\u0131 belli bir lokasyona d\u00f6nmek i\u00e7in\r\n\r\nRMAN&gt; restore spfile to '\/tmp\/spfileORCL.ora' from autobackup;\r\n\r\n-- Spfile dosyam\u0131z\u0131 Pfile olarak d\u00f6n\u00fcp d\u00fczenleme yapmak i\u00e7in\r\n\r\n-- Spfile dosyam\u0131zda parametre de\u011fi\u015fikli\u011fi yap\u0131p geri d\u00f6neceksek a\u015fa\u011f\u0131daki\r\ngibi \u00f6rnek ad\u0131mlar\u0131 uyguluyoruz.\r\n\r\nRMAN&gt; restore spfile to pfile '\/u01\/app\/oracle\/product\/11.2.0.3\/db\/dbs\/initorcl.ora'\r\nfrom '\/u01\/backups\/sp_ORCL_815078760_6.rman';\r\n\r\nveya\r\n\r\nRMAN&gt; restore spfile to pfile '\/u01\/app\/oracle\/product\/11.2.0.3\/db\/dbs\/initorcl.ora'\r\nfrom autobackup;\r\n\r\n-- Gerekli d\u00fczenlemeyi yapmak i\u00e7in a\u00e7\u0131yoruz.\r\n\r\n$ vim \/u01\/app\/oracle\/product\/11.2.0.3\/db\/dbs\/initorcl.ora\r\n\r\n-- D\u00fczenleme sonras\u0131 spfile dosyam\u0131z\u0131 olu\u015fturuyoruz.\r\n\r\nSQL&gt; create spfile from pfile;\r\n\r\nRMAN&gt; shutdown abort;\r\n<\/span><\/pre>\n<p>4. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131z\u0131 belli bir zamana geri d\u00f6nd\u00fcrmek i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Until Time\u2019i tablespace\u2019lerde de kullanabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Ancak Until Time\u2019i kullan\u0131rken a\u015fa\u011f\u0131daki durumlara dikkat etmeliyiz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Until Time ile veritaban\u0131n\u0131 d\u00f6nd\u00fcrece\u011finiz zaman, yedek tarihinden sonra olmal\u0131.\r\n\u00d6rne\u011fin <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">22.10\u2019da yede\u011fi ald\u0131ysan\u0131z, 22:05\u2019a d\u00f6nemezsiniz. Mutlaka 22:10\u2019dan sonraki\r\nbir zaman belirtilmeli.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Until Time ile d\u00f6n\u00fc\u015f yapabilmek i\u00e7in ar\u015fiv dosyalar\u0131n\u0131n mevcut olmas\u0131\r\ngerekmektedir. Until Time <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">ile recover yapacaksan\u0131z, \u00f6nce ar\u015fiv dosyalar\u0131n\u0131n\r\noldu\u011fundan ve do\u011fru konumda bulundu\u011fundan emin olmal\u0131y\u0131z.\r\n\r\nRMAN&gt; restore database until time\r\n\"TO_DATE('2013-05-08 22:10','YYYY-MM-DD HH24:MI')\";\r\n\r\nRMAN&gt; recover database until time\r\n\"TO_DATE('2013-05-08 22:10','YYYY-MM-DD HH24:MI')\";\r\n\r\n-- RMAN ile until time \u015feklinde d\u00f6n\u00fc\u015f yaparken \"redo log\" dosyalar\u0131n\u0131n olmamas\u0131\r\nile ilgili bir uyar\u0131 al\u0131rsak a\u015fa\u011f\u0131daki y\u00f6ntemle bunu a\u015fabiliriz.\r\n\r\n-- Veritaban\u0131m\u0131zda \"sysdba\" rol\u00fc ile oturum a\u00e7\u0131yoruz.\r\n\r\n$ sqlplus \/ as sysdba\r\n\r\n-- Controlfile yede\u011fimizi '\/tmp\/controlfile.sql' yoluna \u00e7\u0131kart\u0131yoruz.\r\n\r\nSQL&gt; alter database backup controlfile to trace as '\/tmp\/controlfile2.sql';\r\n\r\n-- Controlfile yaratma scriptimizi sistemimize g\u00f6re d\u00fczenliyoruz.\r\n\r\n$vim \/tmp\/controlfile.sql\r\n\r\n-- Controlfile yaratma scriptimizi \u00e7al\u0131\u015ft\u0131r\u0131yoruz.\r\n\r\n$ cd \/tmp\r\n$ sqlplus \/ as sysdba\r\nSQL&gt; @controlfile.sql\r\n\r\nBu i\u015flemden sonra yukar\u0131daki \"until time\" backup i\u015flemini tekrar deneyebilirsiniz.\r\n<\/span><\/pre>\n<p style=\"text-align: justify;\">5. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda &#8220;ArchiveLog&#8221; dosyalar\u0131m\u0131z\u0131 yedekten d\u00f6nmek i\u00e7in a\u015fa\u011f\u0131daki y\u00f6ntemleri kullabiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- SCN (System Change Number) belirli aral\u0131ktaki ar\u015fiv dosyalar\u0131n\u0131 d\u00f6nmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore archivelog scn between 22102012888 and 22102012999;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Yedeklenmi\u015f b\u00fct\u00fcn ar\u015fiv dosyalar\u0131n\u0131 d\u00f6nmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore archivelog all;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- 20 g\u00fcnden yeni 7 g\u00fcnden eski ar\u015fiv dosyalar\u0131n\u0131n yede\u011fini d\u00f6nmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore archivelog from time 'SYSDATE-20'<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">until time 'SYSDATE-7';<\/span><\/pre>\n<p style=\"text-align: justify;\">6. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda herhangi bir &#8220;datafile&#8221; dosyas\u0131n\u0131n bir blo\u011funda ar\u0131za (block corruption) olursa a\u015fa\u011f\u0131daki i\u015flemlerle bunu d\u00fczeltebiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- \"Data Block Corrupted\" ya\u015fanmas\u0131 durumunda a\u015fa\u011f\u0131daki gibi hatalar alabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">ORA-01578: ORACLE data block corrupted (file # 4, block # 16)<\/span>\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">ORA-01110: data file 4:<\/span><span style=\"font-family: courier new,courier; font-size: 10px;\"> \u2018\/u01\/app\/oracle\/oradata\/ORCL\/datafile\/o1_mf_users_8rk8hss2_.dbf\u2019<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">-- Ar\u0131zal\u0131 bloklar\u0131m\u0131z\u0131 onarmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullabiliriz.<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">$ rman target \/<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">RMAN&gt; blockrecover datafile 4 block 16;<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">-- Ar\u0131zal\u0131 bloklar\u0131m\u0131z\u0131 belli bir \"backupset\"den kurtarmak i\u00e7in<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">RMAN&gt; blockrecover datafile 4 block 16 from backupset;<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">-- Ar\u0131zal\u0131 bloklar\u0131m\u0131z\u0131 belli isimle etiketlenmi\u015f (tag) \"backupset\"den kurtarmak i\u00e7in<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">RMAN&gt; blockrecover datafile 4 block 16<\/span>\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">       from tag = ORCL;<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\"># Ar\u0131zal\u0131 bloklar\u0131m\u0131z\u0131 \"Image Copy\" yede\u011fimizden kurtarmak i\u00e7in<\/span>\r\n\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">RMAN&gt; blockrecover datafile 4 block 16<\/span>\r\n<span style=\"font-size: 12px; font-family: courier new,courier;\">      from datafilecopy;<\/span><\/pre>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif;\">7. <\/span><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Yedek al\u0131rken veya \u201cBackup Validate\u201d komutu \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda RMAN buldu\u011fu bozuk bloklar\u0131 &#8220;V$DATABASE_BLOCK_CORRUPTION&#8221; &#8220;view&#8221;\u0131na yazar. Bozuk olan blok onar\u0131ld\u0131\u011f\u0131nda RMAN otomatik &#8220;V$DATABASE_BLOCK_CORRUPTION&#8221; &#8220;view&#8221;\u0131n\u0131 g\u00fcnceller. Ge\u00e7mi\u015ften bug\u00fcne t\u00fcm bozuk olan bloklar\u0131n listesi &#8220;V$BACKUP_CORRUPTION&#8221; ve &#8220;V$COPY_CORRUPTION&#8221; &#8220;view&#8221;lar\u0131ndan bulunabilir. A\u015fa\u011f\u0131daki komut \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda RMAN,\u00a0 &#8220;V$DATABASE_BLOCK_CORRUPTION&#8221; &#8220;view&#8221;\u0131nda bulunan t\u00fcm bozuk bloklar\u0131 onar\u0131r.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Bozuk olan Bloklar\u0131 sorgulamak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; select * from v$database_block_corruption;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Ge\u00e7mi\u015ften bug\u00fcne bozuk olan bloklar\u0131 sorgulamak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; select * from v$backup_corruption;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">veya<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; select * from v$copy_corruption;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Listede bulunan t\u00fcm ar\u0131zal\u0131 bloklar\u0131 onarmak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; blockrecover corruption list;<\/span><\/pre>\n<p style=\"text-align: justify;\">8. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131zda sorun olu\u015fmas\u0131 durumunda e\u011fer &#8220;Image Copy&#8221; yede\u011fi alm\u0131\u015fsak buna &#8220;switch&#8221; edebiliriz. B\u00f6yle bir i\u015flem sonras\u0131 veritaban\u0131m\u0131z \u00e7al\u0131\u015f\u0131r duruma geldi\u011finde yeniden &#8220;Image Copy&#8221; yede\u011fi alarak orjinal yerine d\u00f6nebiliriz. Bu i\u015flem bize h\u0131zl\u0131 bir \u015fekilde i\u015f s\u00fcreklili\u011fi sa\u011flamaktad\u0131r. Tabi &#8220;Image Copy&#8221; yede\u011fi diske al\u0131nm\u0131\u015f olmal\u0131d\u0131r. B\u00f6yle bir durumda ihtiyac\u0131m\u0131z olan yede\u011fimizi alabilece\u011fimiz boyutta bir disk alan\u0131na\u00a0 sahip olmam\u0131z gerekti\u011fidir. A\u015fa\u011f\u0131daki i\u015flemlerle veritaban\u0131m\u0131z\u0131 al\u0131nm\u0131\u015f olan &#8220;Image Copy&#8221; yede\u011fine &#8220;switch&#8221; edebiliriz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 \"Image Copy\" yede\u011fine \"switch\" etmek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; switch database to copy;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover database;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Belli bir \"datafile\" \"Image Copy\" yede\u011fine \"switch\" etmek i\u00e7in<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- E\u011fer datafile \"offline\" yap\u0131lam\u0131yorsa veritaban\u0131m\u0131z\u0131 \"mount\" moda\r\nal\u0131p ayn\u0131 i\u015flemleri tekrarlayabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter database datafile 2 offline;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; switch datafile 2 to copy;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover datafile 2;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter database datafile 2 online;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Belli bir \"tablespace\" \"Image Copy\" yede\u011fine \"switch\" etmek i\u00e7in<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- E\u011fer datafile \"offline\" yap\u0131lam\u0131yorsa veritaban\u0131m\u0131z\u0131 \"mount\" moda\r\nal\u0131p ayn\u0131 i\u015flemleri tekrarlayabiliriz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter tablespace users offline immediate;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; switch tablespace users to copy;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; recover tablespace users;<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; alter tablespace users online;<\/span><\/pre>\n<p style=\"text-align: justify;\">9. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Oracle 11g ile bizlere kolayl\u0131k olmas\u0131 i\u00e7in &#8220;RMAN&#8221; arac\u0131\u011f\u0131nda bir &#8220;advisor&#8221; geli\u015ftirildi. Bu &#8220;advisor&#8221; ile veritaban\u0131m\u0131zda olu\u015fan hatalar\u0131 listeleyebilir, otomatik onarma scriptini olu\u015fturabilir ve veritaban\u0131m\u0131z\u0131 onarabiliriz. Bu i\u015flem yukar\u0131da yapt\u0131\u011f\u0131m\u0131z bir \u00e7ok i\u015fi otomatik olarak yapmaktad\u0131r. Ancak unutulmamas\u0131 gereken nokta bu i\u015flem &#8220;Oracle RAC&#8221; veritabanlar\u0131nda desteklenen bir y\u00f6ntem de\u011fildir.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Hatalar\u0131 listelemek i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; list failure;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Hatalar\u0131 onarma scriptini olu\u015fturmak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; advise failure;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Hatalar\u0131 onarmak i\u00e7in<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; repair failure;<\/span><\/pre>\n<ul>\n<li><strong><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">RMAN Arac\u0131n\u0131 Yap\u0131land\u0131rma \u0130\u015flemleri<\/span><\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Rman arac\u0131 ile al\u0131nacak yedeklerde belli ayarlar\u0131 yapabiliriz. Bu ba\u015fl\u0131k alt\u0131nda yap\u0131labilecek ve s\u0131k kullan\u0131lan ayarlar\u0131 inceleyece\u011fiz. Bu ayarlar genel olarak yap\u0131labilmekle beraber al\u0131nacak yede\u011fe \u00f6zel ayarlanabilir.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Configure Retention Policy<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">&gt;&gt; Redundancy<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; configure retention policy to redundancy 1;<\/span>\r\n\r\n-- <span style=\"font-family: courier new,courier; font-size: 12px;\">Redundacy 1 olarak ayarland\u0131\u011f\u0131nda \"RMAN\" ge\u00e7mi\u015fe y\u00f6nelik 1 yede\u011fimizi saklar.\r\n2. Yedek al\u0131nd\u0131\u011f\u0131nda 1. Yede\u011fi obsolete olarak i\u015faretler. E\u011fer \"FRA\" diskimizde\r\nyer kalmazsa RMAN bunu otomatik alg\u0131lar ve \"obsolete\" yede\u011fi siler.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">&gt;&gt; Recovery Window<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; configure retention policy to recovery window of 5 days;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Recover window 5 g\u00fcn set edildi\u011finde 5 g\u00fcnden eski yedekler obsolete olarak\r\ni\u015faretlenir.\r\n\r\n-- Yedek i\u015flemi s\u0131ras\u0131nda otomatik \"controlfile\" yede\u011fi almak i\u00e7in\r\n\r\nRMAN&gt; configure controlfile autobackup on;\r\n\r\n-- Controlfile yede\u011fimizi belli bir lokasyona almas\u0131 i\u00e7in\r\n\r\nRMAN&gt; <\/span><span style=\"font-family: courier new,courier; font-size: 10px;\">configure controlfile autobackup format for device type disk to '\/u01\/backups\/%F.bck';\r\n\r\n<\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">Bu komutla (%F) DBID, g\u00fcn ay, y\u0131l ve benzersiz bir s\u0131ra numaras\u0131 ile yedek\r\nalacakt\u0131r.\r\n\r\n-- E\u011fer yapm\u0131\u015f oldu\u011fumuz ayar\u0131 varsay\u0131lan ayar\u0131na d\u00f6nd\u00fcrmek istiyorsak a\u015fa\u011f\u0131daki\r\nkomutu \u00e7al\u0131\u015ft\u0131rmal\u0131y\u0131z. \"clear\" komutu di\u011fer ayarlar i\u00e7inde kullan\u0131labilir.\r\n\r\nRMAN&gt; configure controlfile autobackup for device type disk clear;\r\n\r\n-- Daha \u00f6nce yede\u011fi al\u0131nm\u0131\u015f ve herhangi bir de\u011fi\u015fikli\u011fe u\u011framam\u0131\u015f objelerin\r\nyedeklenmemesi i\u00e7in\r\n\r\nRMAN&gt; configure backup optimization on;\r\n\r\n-- Al\u0131nan yedeklerin ka\u00e7 paralel olarak ka\u00e7 kanaldan yaz\u0131laca\u011f\u0131n\u0131 belirlemek i\u00e7in\r\n\r\nRMAN&gt; configure device type disk parallelism 3 backup type to backupset;\r\n\r\n-- Datafile yedeklerinin kopya adedi olarak ka\u00e7 tane al\u0131naca\u011f\u0131 belirlemek i\u00e7in\r\n\r\nRMAN&gt; configure datafile backup copies for device type disk to 2;\r\n\r\n-- Ar\u015fiv dosya yedeklerinin kopya adedi olarak ka\u00e7 tane al\u0131naca\u011f\u0131n\u0131 belirlemek\r\ni\u00e7in bu ayar\u0131 kullanabilir. Ancak 2 adet alacaksak 2 farkl\u0131 lokasyon belirtilmelidir.\r\n\r\nRMAN&gt; configure archivelog backup copies for device type disk to 2;\r\n\r\n-- Yede\u011fimizin kriptolu olarak al\u0131nmas\u0131 i\u00e7in\r\n\r\nRMAN&gt; configure encryption for database on;\r\nRMAN&gt; configure encryption algorithm \u2018aes128\u2032;\r\n<\/span><\/pre>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Bu makalemizde Oracle Backup &amp; Recovery arac\u0131 olan RMAN (Recovery Manager) inceledik. Rman ile \u00f6rnek olarak kurtarma makalemiz <a href=\"http:\/\/www.koraykey.com\/?p=3385\">&#8220;Oracle Rman ile Veritaban\u0131 Kurtarma Uygulamas\u0131&#8221;<\/a>n\u0131 inceleyebilirsiniz. S\u00f6z konusu makalemizde tamamen \u00e7\u00f6km\u00fc\u015f bir veritaban\u0131n\u0131 &#8220;rman&#8221; yede\u011fimizden aya\u011fa kald\u0131rma i\u015flemlerini inceledik.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Ba\u015fka bir makalede g\u00f6r\u00fc\u015fmek \u00fczere\u2026<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu makalemizde Oracle taraf\u0131ndan sa\u011flanan yedekleme ve onarma arac\u0131 olan &#8220;Rman&#8221; (Recovery Manager) inceleyece\u011fiz. RMAN Nedir ? RMAN (Recovery Manager), Oracle veritaban\u0131n\u0131n yede\u011finin al\u0131nmas\u0131n\u0131 ve yedekten d\u00f6n\u00fclebilmesini sa\u011flayan en \u00f6nemli kurtarma ve onarma arac\u0131d\u0131r. RMAN ile Hot (online) backup, incremental &hellip; <a href=\"https:\/\/www.koraykey.com\/?p=3333\">Okumaya devam et <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[21,290,20,19,586,296,303,745,587,749,744,746,747,302,758,298,301,299,297,300,742,748,743,759],"class_list":["post-3333","post","type-post","status-publish","format-standard","hentry","category-oracle","tag-h-koray-gunduz","tag-halil-koray-gunduz","tag-koray-gunduz","tag-koraykey","tag-oracle-backup-alma","tag-oracle-rman","tag-oracle-rman-ayarlari","tag-oracle-rman-backup","tag-oracle-rman-backup-alma","tag-oracle-rman-ile-yedek-alma","tag-oracle-rman-komutlari","tag-oracle-rman-kullanimi","tag-oracle-rman-restore","tag-oracle-rman-uygulamalari","tag-oracle-yedek-alma","tag-restore-controlfile","tag-restore-database","tag-restore-datafile","tag-restore-spfile","tag-restore-tablespace","tag-rman-ile-backuprestorerecover","tag-rman-ile-yedek-alma","tag-rman-komutlari","tag-rman-oracle-yedek-alma"],"_links":{"self":[{"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/posts\/3333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3333"}],"version-history":[{"count":0,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/posts\/3333\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}