{"id":3385,"date":"2013-05-12T10:52:12","date_gmt":"2013-05-12T07:52:12","guid":{"rendered":"http:\/\/www.koraykey.com\/?p=3385"},"modified":"2013-05-22T22:49:53","modified_gmt":"2013-05-22T19:49:53","slug":"oracle-rman-ile-veritabani-kurtarma-uygulamasi-recover-database","status":"publish","type":"post","link":"https:\/\/www.koraykey.com\/?p=3385","title":{"rendered":"Oracle Rman ile Veritaban\u0131 Kurtarma Uygulamas\u0131 (Recover Database)"},"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 kaybedilmi\u015f bir Oracle veritaban\u0131m\u0131z\u0131n &#8220;RMAN&#8221; arac\u0131n\u0131 kullanarak recovery etmeyi inceleyece\u011fiz.<\/span><\/p>\n<p><strong><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Kurtarma Senaryomuz<\/span><\/strong><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131z Oracle Enterprise Linux \u00fczerinde \u00e7al\u0131\u015fmaktad\u0131r. Olu\u015fan bir sorun sonucu disklerimiz gitmi\u015f veritaban\u0131na eri\u015fim sa\u011flanamamaktad\u0131r. \u00d6ncesinde ald\u0131\u011f\u0131m\u0131z RMAN yede\u011fimizi ba\u015fka bir makine \u00fczerine aktararak veritaban\u0131m\u0131z\u0131 aya\u011fa kald\u0131raca\u011f\u0131z. Bunun i\u00e7in \u00f6ncelikle bozulan veritaban\u0131m\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 platformu olu\u015fturmam\u0131z gerekiyor. Bir makineye Oracle Enterprise Linux ve Veritban\u0131m\u0131z\u0131n ayn\u0131 versiyonunu (patchset dahil) kuruyoruz. Veritaban\u0131m\u0131z\u0131 kurarken &#8220;software only&#8221; olarak kuruyoruz ve sadece &#8220;netca&#8221; komutumuz ile &#8220;Listener&#8221; servisimizi yarat\u0131yoruz. E\u011fer kurtard\u0131\u011f\u0131m\u0131z\u00a0 veritaban\u0131m\u0131zda &#8220;tnsnames.ora&#8221; dosyas\u0131nda girdilerimiz varsa bunlar\u0131da kaybetti\u011fimiz veritaban\u0131m\u0131zdaki gibi ayarl\u0131yoruz.<\/span><\/p>\n<p style=\"text-align: justify;\">1. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">\u00d6ncelikle i\u015fletim sistemimizi <a href=\"http:\/\/www.koraykey.com\/?p=228\">&#8220;Oracle Enterprise Linux Kurulumu&#8221;<\/a> yaz\u0131m\u0131zda anlat\u0131ld\u0131\u011f\u0131 gibi kendi sistemimize g\u00f6re kuruyoruz.<\/span><\/p>\n<p style=\"text-align: justify;\">2. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131z\u0131 a\u015fa\u011f\u0131daki yaz\u0131lar\u0131m\u0131zdan sistemimize uygun olana g\u00f6re kuruyoruz. Burada dikkat edece\u011fimiz veritaban\u0131m\u0131z\u0131 &#8220;software only&#8221; olarak kurup sadece &#8220;netca&#8221; ile tns servisimizi aya\u011fa kald\u0131r\u0131yoruz. yani &#8220;dbca&#8221; komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z a\u015famaya kadar gerekli i\u015flemleri sistemimize g\u00f6re yap\u0131yoruz.<\/span><\/p>\n<ul>\n<li><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\"><a href=\"http:\/\/www.koraykey.com\/?p=1565\">Oracle Enterprise Linux \u0130\u015fletim Sisteminde Standalone (Single Instance) Oracle Veritaban\u0131 Kurulumu<\/a><\/span><\/li>\n<li><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\"><a href=\"http:\/\/www.koraykey.com\/?p=520\">Oracle Enterprise Linux \u0130\u015fletim Sisteminde Grid Infrastructure ile Standalone Veritaban\u0131 Kurulumu<\/a><\/span><\/li>\n<\/ul>\n<p>3. <span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Veritaban\u0131m\u0131z\u0131 kurtarma i\u015flemleri i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uyguluyoruz.<\/span><\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><span style=\"font-family: courier new,courier; font-size: 12px;\">-- Kurtarma i\u015flemini yapaca\u011f\u0131m\u0131z veritaban\u0131nda yedeklemeyi <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">a\u015fa\u011f\u0131daki gibi \r\nger\u00e7ekle\u015ftirmi\u015ftim. Geri d\u00f6n\u00fc\u015f i\u015flemi i\u00e7in a\u015fa\u011f\u0131daki yedekleri kullanaca\u011f\u0131m.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup as compressed backupset database format<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">'\/u01\/backups\/dbf_%d_%t_%s.rman' tag='DBF_ORCL_20130510' plus<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">archivelog format '\/u01\/backups\/arc_%d_%t_%s.rman'<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">tag='ARC_ORCL_20130510';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup current controlfile format '\/u01\/backups\/cf_%d_%t_%s.rman';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; backup spfile format '\/u01\/backups\/sp_%d_%t_%s.rman';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z\u0131 \"software only\" kurduktan sonra \"RMAN Backup dosyalar\u0131m\u0131z\u0131\r\n\"\/u01\/backups\/\" dizini alt\u0131na kopyal\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- \u00d6ncelikle a\u015fa\u011f\u0131daki dizinlerimiz yoksa \"oracle\" kullan\u0131c\u0131s\u0131yla yarat\u0131yoruz.\r\nE\u011fer \"ASM\" kullan\u0131yorsak \"ASMCMD\" komut sat\u0131r\u0131ndan yoksa uygun dizinleri\r\nyaratmal\u0131y\u0131z. <\/span><span style=\"font-family: courier new,courier; font-size: 12px;\">\"OMF\" kullan\u0131yorsa bunu yapmam\u0131za gerek yok.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ mkdir -p \/u01\/app\/oracle\/admin\/orcl\/adump<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ mkdir -p \/u01\/app\/oracle\/oradata<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ mkdir -p \/u01\/app\/oracle\/fast_recovery_area<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- \u00d6ncelikle \"spfile\" dosyam\u0131z\u0131 yede\u011fimizden onar\u0131yoruz. E\u011fer onard\u0131ktan sonra\r\nde\u011fi\u015fiklik yapacaksak bir sonraki ad\u0131m\u0131 uyguluyoruz.<\/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;\">RMAN&gt; restore spfile from '\/u01\/backups\/sp_ORCL_815078760_6.rman';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- \"spfile\" dosyam\u0131zda parametre de\u011fi\u015fikli\u011fi yapacaksak a\u015fa\u011f\u0131daki ad\u0131mlar\u0131\r\nuyguluyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&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';<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ vim \/u01\/app\/oracle\/product\/11.2.0.3\/db\/dbs\/initorcl.ora<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; create spfile from pfile;<\/span>\r\n\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;\">-- \"spfile\" dosyam\u0131z\u0131 onard\u0131ktan sonra veritaban\u0131m\u0131z\u0131 \"nomut\" modda a\u00e7\u0131p\r\n\"controlfile\" dosyam\u0131z\u0131 onar\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 konusu \u00e7ok \u00f6nemlidir. (Bir veritaban\u0131 kurulduktan sonra muhakkak bir \r\nyere not etmeliyiz yoksa geri d\u00f6n\u00fc\u015f i\u015flemi yapamay\u0131z.) <\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00c7\u00f6ken veritaban\u0131m\u0131z\u0131n DBID'sini giriyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; set dbid=1342857428<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Controlfile dosyam\u0131z\u0131 yede\u011fimizden d\u00f6n\u00fcyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; restore controlfile from '\/u01\/backups\/cf_ORCL_815078750_5.rman';<\/span>\r\n\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;\">-- \u00d6nceki sunucumuzda ald\u0131\u011f\u0131m\u0131z ve \"\/u01\/backups\" alt\u0131na kopyalad\u0131\u011f\u0131m\u0131z \"RMAN\"\r\nyedeklerimizi tan\u0131t\u0131yoruz.<\/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;\">RMAN&gt; catalog start with '\/u01\/backups';<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- \"yes\" ile onayl\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131 geri d\u00f6n\u00fc\u015f 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;\">-- Varsa \"archivelog\" yedeklerimizi geri d\u00f6n\u00fcyoruz.<\/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;\">-- Geri d\u00f6n\u00fc\u015f \u0130\u015flemlerin ard\u0131ndan onarma i\u015flemimizi tamaml\u0131yoruz.<\/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;\">-- Veritaban\u0131m\u0131z\u0131 \"resetlog\" parametresi ile a\u00e7\u0131yoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">RMAN&gt; alter database open resetlogs;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- E\u011fer sistemimizde bir \"passwordfile\" yoksa a\u015fa\u011f\u0131daki gibi olu\u015fturuyoruz.<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">$ orapwd file=$ORACLE_HOME\/dbs\/orapworcl password=sysparolamiz entries=5 FORCE=Y<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Son olarak veritaban\u0131m\u0131z\u0131 sisteme \"register\" ediyoruz.<\/span>\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">alter system register;<\/span>\r\n\r\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-- Veritaban\u0131m\u0131z kullan\u0131ma haz\u0131r verilerimize eri\u015febiliriz.<\/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 Sun May 12 10:37:54 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; select status from v$instance;<\/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;\">OPEN<\/span><\/pre>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">Bu makalemizde \u00e7\u00f6ken bir sunucudan al\u0131nm\u0131\u015f veya al\u0131nm\u0131\u015f bir yede\u011fi farkl\u0131 bir sunucuya d\u00f6nmeyi inceledik.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-family: arial,helvetica,sans-serif; font-size: 12px;\">RMAN (Recovery Manager) arac\u0131yla ilgili daha deyal\u0131 bilgileri <a href=\"http:\/\/www.koraykey.com\/?p=3333\">&#8220;Oracle Veritabanlar\u0131nda Backup &amp; Recovery Uygulamalar\u0131 (Rman)&#8221;<\/a> yaz\u0131m\u0131zda bulabilirsiniz.<\/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 kaybedilmi\u015f bir Oracle veritaban\u0131m\u0131z\u0131n &#8220;RMAN&#8221; arac\u0131n\u0131 kullanarak recovery etmeyi inceleyece\u011fiz. Kurtarma Senaryomuz Veritaban\u0131m\u0131z Oracle Enterprise Linux \u00fczerinde \u00e7al\u0131\u015fmaktad\u0131r. Olu\u015fan bir sorun sonucu disklerimiz gitmi\u015f veritaban\u0131na eri\u015fim sa\u011flanamamaktad\u0131r. \u00d6ncesinde ald\u0131\u011f\u0131m\u0131z RMAN yede\u011fimizi ba\u015fka bir makine \u00fczerine aktararak veritaban\u0131m\u0131z\u0131 aya\u011fa &hellip; <a href=\"https:\/\/www.koraykey.com\/?p=3385\">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,296,293,295,294,292],"class_list":["post-3385","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-rman","tag-rman-database-recovery","tag-rman-recover-database","tag-rman-restore-database","tag-rman-veritabani-kurtarma"],"_links":{"self":[{"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/posts\/3385","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=3385"}],"version-history":[{"count":0,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=\/wp\/v2\/posts\/3385\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.koraykey.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}