<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CETURK &#187; RMAN</title>
	<atom:link href="http://www.ceturk.com/etiket/rman/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ceturk.com</link>
	<description>Türkiye&#039;nin Bilişim Platformu</description>
	<lastBuildDate>Wed, 25 Jan 2012 10:19:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Rman Catalog Db Kullanarak Kartuşa Alınan Yedeği Farklı Bir Sunucuya Dönme</title>
		<link>http://www.ceturk.com/rman-catalog-db-kullanarak-kartusa-alinan-yedegi-farkli-bir-sunucuya-donme/</link>
		<comments>http://www.ceturk.com/rman-catalog-db-kullanarak-kartusa-alinan-yedegi-farkli-bir-sunucuya-donme/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 08:00:08 +0000</pubDate>
		<dc:creator>kamil.turkyilmaz</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Kamil Türkyılmaz]]></category>
		<category><![CDATA[Oracle Yedekleme]]></category>
		<category><![CDATA[RMAN]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=7334</guid>
		<description><![CDATA[Belli dönemlerde prod database’ lerinden alınan backupları farklı sunucular üzerine dönme testleri yapma zorunluluğumuz var. Bu testlerden birinde yaptığım işleme ait  detayları aşağıda anlatmaya çalıştım. Rman ile bir database’ i farklı bir sunucu üzerine taşımak başlıklı yazımda rman backup diske alındığında nasıl restore edileceğinden bahsetmiştik. Orada catalog database’ ini orada aslında kullanmamıştık çünkü alınan rman backupı, [...]]]></description>
			<content:encoded><![CDATA[<p>Belli dönemlerde prod database’ lerinden alınan backupları farklı sunucular üzerine dönme testleri yapma zorunluluğumuz var. Bu testlerden birinde yaptığım işleme ait  detayları aşağıda anlatmaya çalıştım.</p>
<p>Rman ile bir database’ i farklı bir sunucu üzerine taşımak başlıklı yazımda rman backup diske alındığında nasıl restore edileceğinden bahsetmiştik. Orada catalog database’ ini orada aslında kullanmamıştık çünkü alınan rman backupı, restore yapılacak sunucu üzerinde rman’ in istemiş olduğu path’lere kopyalamıştık dolayısıyla orada işimiz daha kolaydı.</p>
<p>Burada ise catalog database’ ini kullanarak (rutin işleyişe birebir örnek oluşturması açısından) kartuşa alınan bir backupı hiçbir kopyalama işlemi yapmadan nasıl başka bir ortama taşıyacağımızdan bahsetmek istiyorum. Yine burda da bir takım öngörülerimiz var. Öncelikle, pathlerimiz burda da farklı olarak kabul ediyoruz.  (eğer pathler restore yapılacak sunucu ile birebir aynı ise, aşağıdaki scriplerdeki )Sonrasında yapacağımız işlemlerle ilgili olarak adım adım anlatamaya çalışayım ;</p>
<ul>
<li><strong>Backupı dönülecek olan sunucu üzerinden rman catalog database’ i ile database’ in backupı kartuşa alınır.</strong></li>
</ul>
<pre class="brush: sql">run {

allocate channel 'dev_0' type 'sbt_tape'

parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=prdtest,OB2BARLIST=Betasetcms2_PRDTEST)';

allocate channel 'dev_1' type 'sbt_tape'

parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=prdtest,OB2BARLIST=Betasetcms2_PRDTEST)';

allocate channel 'dev_2' type 'sbt_tape'

parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=prdtest,OB2BARLIST=Betasetcms2_PRDTEST)';

allocate channel 'dev_3' type 'sbt_tape'

parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=prdtest,OB2BARLIST=Betasetcms2_PRDTEST)';

backup incremental level

format 'Betasetcms2_PRDTEST&lt;%t:%p&gt;.dbf'

restore database;

sql 'alter system archive log current';

backup

filesperset 1

format 'Betasetcms2_PRDTEST&lt;%t:%p&gt;.dbf'

archivelog like '/data2/arch/%';

}
</pre>
<p>Datafile’ leri farklı pathlere restore edeceğimiz için aşağıdaki bilgileri mutlaka biliyor olmamız gerekiyor. Sonrasında file# numarasına göre yeni path’ lere set edeceğiz.</p>
<p>Database’ deki datafile’ lerin listesinide alıyoruz.</p>
<pre>SQL&gt; select name from v$datafile;
</pre>
<p>FILE#   NAME</p>
<p>1            /data2/prdtest/system01.dbf</p>
<p>2            /data2/prdtest/undotbs01.dbf</p>
<p>3            /data2/prdtest/sysaux01.dbf</p>
<p>4            /data2/prdtest/users01.dbf</p>
<p>5            /data2/prdtest/example01.dbf</p>
<p>6            /data2/prdtest/kamil_deneme1_01.dbf</p>
<p>7            /data2/prdtest/kamil_deneme1_02.dbf</p>
<p>8            /data2/prdtest/kamil_deneme2_01.dbf</p>
<p>9            /data2/prdtest/kamil_deneme2_02.dbf</p>
<p>Redologlar hakkında aşağıdaki bilgileri alıyoruz.</p>
<pre>Select * from v$logfile;
</pre>
<p>GROUP#           STATUS    TYPE                                  MEMBER</p>
<p>3                     ONLINE    /data2/prdtest/redo03.log        NO</p>
<p>2                     ONLINE    /data2/prdtest/redo02.log        NO</p>
<p>1                     ONLINE    /data2/prdtest/redo01.log        NO</p>
<p>Ayrıca bu database’ e ait dbid bilgisinide öncesinde bilmemiz gerekiyor. Kullanmakta olduğunuz tüm database’ lerin dbid’ lerini saklamanızda fayda var. Bu değer sonradan değişmeyen ve her database için unique olan bir değerdir.</p>
<pre>SQL&gt; select dbid from v$database ;
</pre>
<p>DBID</p>
<p>&#8212;&#8212;&#8212;-</p>
<p>165917862</p>
<p>Bundan sonraki adımda aslında şunu düşünüyoruz, bu database herhangi bir problemden dolayı down oldu ve temin edilen farklı bir sunucuya data kaybı olmadan restore etmeniz gerekiyor. Şimdi almış olduğumuz backupı başka bir sunucu üzerine restore etmeye çalışalım.</p>
<ul>
<li><strong>Restore yapılacak server üzerine sadece oracle software kurulumu yapıyoruz.</strong></li>
</ul>
<ul>
<li><strong>Pfile, initfile, pwd, tns, sqlnet ora gibi (parametre) dosyaları yeni sunucumuz üzerine üzerine kopyalıyoruz. (veya elimizde backupları yoksa yenilerini create ediyoruz. Zaman zaman prod ortamlarından bu tarz kritik file’ lerin backupının alınması ciddi zaman kazançları sağlıyor)</strong></li>
</ul>
<p>Parametre dosyaları restore yapılacak olan servera kopyalandıkdan sonra içerisinde gerekli değişiklikleri yapmamız gerekiyor. Örneğin memory parametreleri yeni sunucuya göre set edilir veya backup alınan sunucu ile restore yapılacak olan sunucunun path’ leri farklı olabileceğinden buradaki controlfile parametresinin restore yapılacak olan sunucuda nerde olması gerekiyor ise ilgili path bilgisi buraya girilir.</p>
<p>Örneğin bizim örneğimizde backup alınan sunucudaki control file parametresi  ;</p>
<p>*.control_files=&#8217;/data2/prdtest/control01.ctl&#8217;,'/data2/prdtest/control02.ctl&#8217;,'/data2/prdtest/control03.ctl&#8217;</p>
<p>Restore yapılacak sunucudaki olması gereken path ise (burada böyle bir path olmadığından dolayı) ;</p>
<p>*.control_files=&#8217;/data/oracle/oradata/prdtest/control01.ctl&#8217;,'/data/oracle/oradata/prdtest/control02.ctl&#8217;,'/data/oracle/oradata/prdtest/control03.ctl&#8217;</p>
<ul>
<li><strong>Sonra yeni sunucumuzdaki database sys olarak bağlanıp nomount modda database’ i start ediyoruz.</strong></li>
</ul>
<p>oracle@betasetapp2:/data/oracle/product/10.1.0/db:&gt;sqlplus &#8220;/as sysdba&#8221;</p>
<p>SQL*Plus: Release 10.1.0.5.0 &#8211; Production on Mon Nov 29 09:22:50 2010</p>
<p>Copyright (c) 1982, 2005, Oracle.  All rights reserved.</p>
<p>Connected to:</p>
<p>Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 &#8211; 64bit Production</p>
<p>With the Partitioning, OLAP and Data Mining options</p>
<pre>SQL&gt; startup nomount
</pre>
<p>ORACLE instance started.</p>
<p>Total System Global Area  419430400 bytes</p>
<p>Fixed Size                  1330696 bytes</p>
<p>Variable Size             122401272 bytes</p>
<p>Database Buffers          293601280 bytes</p>
<p>Redo Buffers                2097152 bytes</p>
<ul>
<li><strong>Database’ i nomount moda aldıkdan sonra yine bu sunucu üzerinden önce rman’e sonra catalog database’ ine bağlanıyoruz.</strong></li>
</ul>
<p>oracle@betasetapp2:/data/oracle:&gt;rman target /</p>
<p>Recovery Manager: Release 10.1.0.5.0 &#8211; 64bit Production</p>
<p>Copyright (c) 1995, 2004, Oracle.  All rights reserved.</p>
<p>connected to target database: prdtest (not mounted)</p>
<p>RMAN&gt; connect catalog RMAN_PRDTEST/r10011002@RMAN</p>
<p>connected to recovery catalog database</p>
<p>RMAN&gt;</p>
<p>Catalog database’ ine bağlanmak için kullandığımız user bizim backup aldığımız veritabanını catalog database’ ine register ederken kullanmış olduğumuz user’ ı ifade ediyor. @RMAN ise rman catalog database’ inin tns kaydıdır.</p>
<ul>
<li><strong>Rman ile restore işlemine artık başlıyabiliriz, öncelikle işlem yapacağımız database’ in dbid bilgisini set ediyoruz.</strong></li>
</ul>
<pre>RMAN&gt; set dbid=165917862
</pre>
<p>executing command: SET DBID</p>
<p>database name is &#8220;PRDTEST&#8221; and DBID is 165917862</p>
<ul>
<li><strong>İlk olarak controlfile’ i dönmemiz gerekiyor.</strong></li>
</ul>
<pre>RMAN&gt; run {

2&gt; allocate channel 'dev_0' type 'sbt_tape';

3&gt; allocate channel 'dev_1' type 'sbt_tape';

4&gt; allocate channel 'dev_2' type 'sbt_tape';

5&gt; allocate channel 'dev_3' type 'sbt_tape';

6&gt; restore controlfile;

7&gt; }
</pre>
<p>released channel: ORA_DISK_1</p>
<p>allocated channel: dev_0</p>
<p>channel dev_0: sid=159 devtype=SBT_TAPE</p>
<p>channel dev_0: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_1</p>
<p>channel dev_1: sid=157 devtype=SBT_TAPE</p>
<p>channel dev_1: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_2</p>
<p>channel dev_2: sid=160 devtype=SBT_TAPE</p>
<p>channel dev_2: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_3</p>
<p>channel dev_3: sid=161 devtype=SBT_TAPE</p>
<p>channel dev_3: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>Starting restore at 30-NOV-10</p>
<p>channel dev_0: starting datafile backupset restore</p>
<p>channel dev_0: restoring controlfile</p>
<p>[Normal] From: OB2BAR_Oracle8@betasetapp2 &#8220;PRDTEST&#8221;  Time: 11/30/10 10:47:22</p>
<p>Starting OB2BAR Restore: betasetcms2:c-165917862-20101125-02 &#8220;Oracle8&#8243;</p>
<p>[Normal] From: OB2BAR_Oracle8@betasetapp2 &#8220;PRDTEST&#8221;  Time: 11/30/10 10:47:24</p>
<p>Completed OB2BAR Restore: betasetcms2:c-165917862-20101125-02 &#8220;Oracle8&#8243;</p>
<p>channel dev_0: restored backup piece 1</p>
<p>piece handle=c-165917862-20101125-02 tag=TAG20101125T141314</p>
<p>channel dev_0: restore complete</p>
<p>output filename=/data/oracle/oradata/prdtest/control01.ctl</p>
<p>output filename=/data/oracle/oradata/prdtest/control02.ctl</p>
<p>output filename=/data/oracle/oradata/prdtest/control03.ctl</p>
<p>Finished restore at 30-NOV-10</p>
<p>released channel: dev_0</p>
<p>released channel: dev_1</p>
<p>released channel: dev_2</p>
<p>released channel: dev_3</p>
<p>RMAN&gt;</p>
<p>Ben testimde, channel allocate ederken,  rman’ in backup alırken allocate ettiği kadar channel’ lar allocate ettim, istenirse daha az veya daha fazla channel allocate edilebilir.</p>
<p>Örneğin;</p>
<pre>RMAN&gt; run {

2&gt; allocate channel 'dev_0' type 'sbt_tape';

3&gt; allocate channel 'dev_1' type 'sbt_tape';

4&gt; allocate channel 'dev_2' type 'sbt_tape';

5&gt; allocate channel 'dev_3' type 'sbt_tape';

6&gt; allocate channel 'dev_4' type 'sbt_tape';

7&gt; allocate channel 'dev_5' type 'sbt_tape';

8&gt; allocate channel 'dev_6' type 'sbt_tape';

9&gt; restore controlfile;

10&gt; }
</pre>
<p>allocated channel: dev_0</p>
<p>channel dev_0: sid=159 devtype=SBT_TAPE</p>
<p>channel dev_0: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_1</p>
<p>channel dev_1: sid=157 devtype=SBT_TAPE</p>
<p>channel dev_1: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_2</p>
<p>channel dev_2: sid=160 devtype=SBT_TAPE</p>
<p>channel dev_2: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_3</p>
<p>channel dev_3: sid=161 devtype=SBT_TAPE</p>
<p>channel dev_3: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_4</p>
<p>channel dev_4: sid=156 devtype=SBT_TAPE</p>
<p>channel dev_4: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_5</p>
<p>channel dev_5: sid=155 devtype=SBT_TAPE</p>
<p>channel dev_5: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_6</p>
<p>channel dev_6: sid=154 devtype=SBT_TAPE</p>
<p>channel dev_6: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>Starting restore at 30-NOV-10</p>
<p>…………………….</p>
<pre>RMAN&gt; run {
2&gt; allocate channel 'dev_0' type 'sbt_tape';
3&gt; restore controlfile;
4&gt; }
</pre>
<p>allocated channel: dev_0</p>
<p>channel dev_0: sid=159 devtype=SBT_TAPE</p>
<p>channel dev_0: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>Starting restore at 30-NOV-10</p>
<p>…………………….</p>
<ul>
<li><strong>Controlfile’ lerimizi döndükden sonra database’ imizi artık mound moda çekebiliriz.</strong></li>
</ul>
<pre>SQL&gt; alter database mount;
</pre>
<p>database mounted.</p>
<p>Rman Catalog Database’ i Kullanarak, Kartuşa Alınan Backupı Farklı bir Sunucuya Dönme -2 ile devam ediyoruz.</p>
<ul>
<li><strong>Sıra datafile’ leri restore/recover etmeye geldi ;</strong></li>
</ul>
<p>Pathler backupı alınan database’ deki pathler ile aynı olmadığından öncelikle bu değişikliği yapmamız gerekiyor.</p>
<p>Aşağıdaki script ile datafile’ leri bizim belirttiğimiz yeni lokasyonlarına restore ediyoruz.</p>
<p>Bundan sonraki kısım aslında iki aşamalı olarak düşünebiliriz, birinci aşamamız restore, sonraki aşamamız ise recover aşamasıdır.  Datafile’ ler restore edilirken farklı seuence numaralarına sahip olarak restore edilir, yani db içerisindeki tün datafile’ lerin sequence değerleri biririnden farklılık gösterecektir. Bu farklılığı ortadan kaldırıp max sequence değeri altında datafile’ lerin hepsini aynı noktaya çeken işlem ise recover aşamasıdır. Bu konuyla  ilgili olarak aşağıdaki iki script ve arasındaki fark aslında konuyu açıklamak için yeterli diye düşünüyorum.</p>
<p>Aşağıdaki scripti çalıştırdığımda restore işleminin en sonunda  <strong>“RMAN-06054: media recovery requesting unknown log: thread 1 seq 686 lowscn 2858652“</strong> böyle bir hata verdi. Almış olduğumuz backup full backupdı ve backuplanan son archive log numarası 684 idi. Recover işlemini hangi sequence değerine kadar yapılmasını belirtmediğim için aşağıdaki hatayı aldım.</p>
<pre>RMAN&gt; run {
2&gt; allocate channel 'dev_0' type 'sbt_tape';
3&gt; allocate channel 'dev_1' type 'sbt_tape';
4&gt; allocate channel 'dev_2' type 'sbt_tape';
5&gt; allocate channel 'dev_3' type 'sbt_tape';
6&gt; set NEWNAME for datafile 1 to '/data/oracle/oradata/prdtest/system01.dbf';
7&gt; set NEWNAME for datafile 2 to '/data/oracle/oradata/prdtest/undotbs01.dbf';
8&gt; set NEWNAME for datafile 3 to '/data/oracle/oradata/prdtest/sysaux01.dbf';
9&gt; set NEWNAME for datafile 4 to '/data/oracle/oradata/prdtest/users01.dbf';
10&gt; set NEWNAME for datafile 5 to '/data/oracle/oradata/prdtest/example01.dbf';
11&gt; set NEWNAME for datafile 6 to '/data/oracle/oradata/prdtest/kamil_deneme1_01.dbf';
12&gt; set NEWNAME for datafile 7 to '/data/oracle/oradata/prdtest/kamil_deneme1_02.dbf';
13&gt; set NEWNAME for datafile 8 to '/data/oracle/oradata/prdtest/kamil_deneme2_01.dbf';
14&gt; set NEWNAME for datafile 9 to '/data/oracle/oradata/prdtest/kamil_deneme2_02.dbf';
15&gt; restore database;
16&gt; switch datafile all;
17&gt; recover database;
18&gt; }
</pre>
<p>allocated channel: dev_0</p>
<p>channel dev_0: sid=161 devtype=SBT_TAPE</p>
<p>channel dev_0: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_1</p>
<p>channel dev_1: sid=160 devtype=SBT_TAPE</p>
<p>channel dev_1: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_2</p>
<p>channel dev_2: sid=159 devtype=SBT_TAPE</p>
<p>channel dev_2: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_3</p>
<p>channel dev_3: sid=156 devtype=SBT_TAPE</p>
<p>channel dev_3: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>Starting restore at 01-DEC-10</p>
<p>channel dev_0: starting datafile backupset restore</p>
<p>channel dev_0: specifying datafile(s) to restore from backup set</p>
<p>restoring datafile 00005 to /data/oracle/oradata/prdtest/example01.dbf</p>
<p>restoring datafile 00006 to /data/oracle/oradata/prdtest/kamil_deneme1_01.dbf</p>
<p>restoring datafile 00007 to /data/oracle/oradata/prdtest/kamil_deneme1_02.dbf</p>
<p>channel dev_1: starting datafile backupset restore</p>
<p>channel dev_1: specifying datafile(s) to restore from backup set</p>
<p>restoring datafile 00002 to /data/oracle/oradata/prdtest/undotbs01.dbf</p>
<p>restoring datafile 00003 to /data/oracle/oradata/prdtest/sysaux01.dbf</p>
<p>restoring datafile 00004 to /data/oracle/oradata/prdtest/users01.dbf</p>
<p>channel dev_2: starting datafile backupset restore</p>
<p>channel dev_2: specifying datafile(s) to restore from backup set</p>
<p>restoring datafile 00001 to /data/oracle/oradata/prdtest/system01.dbf</p>
<p>restoring datafile 00008 to /data/oracle/oradata/prdtest/kamil_deneme2_01.dbf</p>
<p>restoring datafile 00009 to /data/oracle/oradata/prdtest/kamil_deneme2_02.dbf</p>
<p>[Normal] From: OB2BAR_Oracle8@betasetapp2 &#8220;&#8221;  Time: 12/01/10 09:55:10</p>
<p>Starting OB2BAR Restore:</p>
<p>…</p>
<p>…</p>
<p>…</p>
<p>Finished restore at 01-DEC-10</p>
<p>Starting recover at 01-DEC-10</p>
<p>starting media recovery</p>
<p>channel dev_0: starting archive log restore to default destination</p>
<p>channel dev_0: restoring archive log</p>
<p>archive log thread=1 sequence=685</p>
<p>[Normal] From: OB2BAR_Oracle8@betasetapp2 &#8220;&#8221;  Time: 12/01/10 09:57:35</p>
<p>Starting OB2BAR Restore: …</p>
<p>…</p>
<p>…</p>
<p>channel dev_0: restore complete</p>
<p>archive log filename=/data/oracle/flash_recovery_area/PRDTEST/archivelog/2010_12_01/o1_mf_1_685_6hczzhn4_.arc thread=1 sequence=685</p>
<p>channel default: deleting archive log(s)</p>
<p>archive log filename=/data/oracle/flash_recovery_area/PRDTEST/archivelog/2010_12_01/o1_mf_1_685_6hczzhn4_.arc recid=681 stamp=736595856</p>
<p>unable to find archive log</p>
<p><strong>archive log thread=1 sequence=686</strong></p>
<p>released channel: dev_0</p>
<p>released channel: dev_1</p>
<p>released channel: dev_2</p>
<p>released channel: dev_3</p>
<p>RMAN-00571: ===========================================================</p>
<p>RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============</p>
<p>RMAN-00571: ===========================================================</p>
<p><strong>RMAN-03002: failure of recover command at 12/01/2010 09:57:43</strong></p>
<p><strong>RMAN-06054: media recovery requesting unknown log: thread 1 seq 686 lowscn 2858652</strong></p>
<p><strong>Until seq vererek çalıştırdığım zaman ;</strong></p>
<pre>RMAN&gt; run {

2&gt; allocate channel 'dev_0' type 'sbt_tape';

3&gt; allocate channel 'dev_1' type 'sbt_tape';

4&gt; allocate channel 'dev_2' type 'sbt_tape';

5&gt; allocate channel 'dev_3' type 'sbt_tape';

6&gt; set NEWNAME for datafile 1 to '/data/oracle/oradata/prdtest/system01.dbf';

7&gt; set NEWNAME for datafile 2 to '/data/oracle/oradata/prdtest/undotbs01.dbf';

8&gt; set NEWNAME for datafile 3 to '/data/oracle/oradata/prdtest/sysaux01.dbf';

9&gt; set NEWNAME for datafile 4 to '/data/oracle/oradata/prdtest/users01.dbf';

10&gt; set NEWNAME for datafile 5 to '/data/oracle/oradata/prdtest/example01.dbf';

11&gt; set NEWNAME for datafile 6 to '/data/oracle/oradata/prdtest/kamil_deneme1_01.dbf';

12&gt; set NEWNAME for datafile 7 to '/data/oracle/oradata/prdtest/kamil_deneme1_02.dbf';

13&gt; set NEWNAME for datafile 8 to '/data/oracle/oradata/prdtest/kamil_deneme2_01.dbf';

14&gt; set NEWNAME for datafile 9 to '/data/oracle/oradata/prdtest/kamil_deneme2_02.dbf';

15&gt; set until sequence 686 thread 1;

16&gt; restore database;

17&gt; switch datafile all;

18&gt; recover database;

19&gt; }
</pre>
<p>allocated channel: dev_0</p>
<p>channel dev_0: sid=161 devtype=SBT_TAPE</p>
<p>channel dev_0: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_1</p>
<p>channel dev_1: sid=160 devtype=SBT_TAPE</p>
<p>channel dev_1: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_2</p>
<p>channel dev_2: sid=159 devtype=SBT_TAPE</p>
<p>channel dev_2: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>allocated channel: dev_3</p>
<p>channel dev_3: sid=156 devtype=SBT_TAPE</p>
<p>channel dev_3: Data Protector A.06.00/PHSS_37147/PHSS_37148/DPSOL_00306/DPLNX_</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET NEWNAME</p>
<p>executing command: SET until clause</p>
<p>Starting restore at 01-DEC-10</p>
<p>channel dev_0: starting datafile backupset restore</p>
<p>channel dev_0: specifying datafile(s) to restore from backup set</p>
<p>restoring datafile 00005 to /data/oracle/oradata/prdtest/example01.dbf</p>
<p>restoring datafile 00006 to /data/oracle/oradata/prdtest/kamil_deneme1_01.dbf</p>
<p>restoring datafile 00007 to /data/oracle/oradata/prdtest/kamil_deneme1_02.dbf</p>
<p>channel dev_1: starting datafile backupset restore</p>
<p>channel dev_1: specifying datafile(s) to restore from backup set</p>
<p>restoring datafile 00002 to /data/oracle/oradata/prdtest/undotbs01.dbf</p>
<p>restoring datafile 00003 to /data/oracle/oradata/prdtest/sysaux01.dbf</p>
<p>restoring datafile 00004 to /data/oracle/oradata/prdtest/users01.dbf</p>
<p>channel dev_2: starting datafile backupset restore</p>
<p>channel dev_2: specifying datafile(s) to restore from backup set</p>
<p>restoring datafile 00001 to /data/oracle/oradata/prdtest/system01.dbf</p>
<p>restoring datafile 00008 to /data/oracle/oradata/prdtest/kamil_deneme2_01.dbf</p>
<p>restoring datafile 00009 to /data/oracle/oradata/prdtest/kamil_deneme2_02.dbf</p>
<p>[Normal] From: OB2BAR_Oracle8@betasetapp2 &#8220;&#8221;  Time: 12/01/10 10:06:54</p>
<p>Starting OB2BAR Restore: …</p>
<p>…</p>
<p>…</p>
<p>media recovery complete</p>
<p>Finished recover at 01-DEC-10</p>
<p>released channel: dev_0</p>
<p>released channel: dev_1</p>
<p>released channel: dev_2</p>
<p>released channel: dev_3</p>
<p>RMAN&gt;</p>
<ul>
<li><strong>Redologların path’ ini düzeltiyoruz.</strong></li>
</ul>
<p>Recover işlemi başarı ile bittikden redologların yeni pathlerini set etmemiz gerekiyor. Yeni pathleri vermeden açmaya çalışırsak aşağıdaki hatayı alırız.</p>
<pre>SQL&gt; alter database open resetlogs;
</pre>
<p>alter database open resetlogs</p>
<p>*</p>
<p>ERROR at line 1:</p>
<p>ORA-00344: unable to re-create online log &#8216;/data2/prdtest/redo01.log&#8217;</p>
<p>ORA-27040: file create error, unable to create file</p>
<p>IBM AIX RISC System/6000 Error: 2: No such file or directory</p>
<p>Redologların pathlerini düzeltmek için ;</p>
<pre>SQL&gt; alter database rename file '/data2/prdtest/redo03.log' to '/data/oracle/oradata/prdtest/redo03.log';
</pre>
<p>Database altered.</p>
<pre>SQL&gt; alter database rename file '/data2/prdtest/redo02.log' to '/data/oracle/oradata/prdtest/redo02.log';
</pre>
<p>Database altered.</p>
<pre>SQL&gt; alter database rename file '/data2/prdtest/redo01.log' to '/data/oracle/oradata/prdtest/redo01.log';
</pre>
<p>Database altered.</p>
<p>Kontol etmek için ;</p>
<pre>SQL&gt; select member from v$logfile ;
</pre>
<p>MEMBER</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>/data/oracle/oradata/prdtest/redo03.log</p>
<p>/data/oracle/oradata/prdtest/redo02.log</p>
<p>/data/oracle/oradata/prdtest/redo01.log</p>
<ul>
<li><strong>Sıra en son ve zevkli kısmına geldi , database’ i açıyoruz</strong></li>
</ul>
<pre>SQL&gt; alter database open resetlogs ;
</pre>
<p>Database altered.</p>
<p>Kartuşa alınan bir database’ in backupını, farklı bir sunucu üzerine farklı pathler de olacak şekilde restore etmiş olduk. Backup – restore testleri bir dba için oldukça önemli konular diye düşünüyorum. Zira esas önemli olan herhangi bir disaster durumunda paniklemeden soğukkanlılıkla ve benzer senaryoları daha önceden  test etmiş olmanın rahatlığı içerisinde soruna çözüm üretmekde yatıyor.  Umarım faydalı olur.</p>
<p>Kamil TÜRKYILMAZ</p>
<p><a href="http://www.kamilturkyilmaz.com/">www.kamilturkyilmaz.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/rman-catalog-db-kullanarak-kartusa-alinan-yedegi-farkli-bir-sunucuya-donme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rman İle Bir Database’ i Farklı Bir Sunucu Üzerine Taşımak</title>
		<link>http://www.ceturk.com/rman-ile-bir-database%e2%80%99-i-farkli-bir-sunucu-uzerine-tasimak/</link>
		<comments>http://www.ceturk.com/rman-ile-bir-database%e2%80%99-i-farkli-bir-sunucu-uzerine-tasimak/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 11:29:47 +0000</pubDate>
		<dc:creator>kamil.turkyilmaz</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Flash Recovery Area]]></category>
		<category><![CDATA[FRA]]></category>
		<category><![CDATA[Kamil Türkyılmaz]]></category>
		<category><![CDATA[oracle backup]]></category>
		<category><![CDATA[oracle restore]]></category>
		<category><![CDATA[Oracle Veritabanı taşıma]]></category>
		<category><![CDATA[RMAN]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=7332</guid>
		<description><![CDATA[Aşağıdaki örnek aslında küçük veya orta ölçekli database’ ler için uygulanabilir bir yöntemdir. Büyük ölçekli database’ ler için tape backuplar üzerinden restore daha optimum bir yöntemdir. Konuyu iyi anlatabilmek için önce varsayımlarımızı ortaya koyalım; - Kaynak sunucumuz A , - Restore yapılacak sunucumuz Sunucumuz B, - B sunucusunun ’ nin directory yapısı A ‘dan farklı, [...]]]></description>
			<content:encoded><![CDATA[<p>Aşağıdaki örnek aslında küçük veya orta ölçekli database’ ler için uygulanabilir bir yöntemdir. Büyük ölçekli database’ ler için tape backuplar üzerinden restore daha optimum bir yöntemdir.</p>
<p>Konuyu iyi anlatabilmek için önce varsayımlarımızı ortaya koyalım;</p>
<p>- Kaynak sunucumuz A ,<br />
- Restore yapılacak sunucumuz Sunucumuz B,<br />
- B sunucusunun ’ nin directory yapısı A ‘dan farklı,<br />
- Bu örnek için oracle versiyonumuz 10gR1,<br />
- ORACLE_SID değişmeyecek (instance name’ imiz PRDTEST olsun),<br />
- Sunucularımızın Linux tabanlı (windows makinalarda kimi komutlarda ufak farklılıklar olabilir)</p>
<p>Not :<br />
Kaynak database ile hedef database’ inin versiyonlarının aynı olması gerekiyor. (Rman ile control file’ lerinde backupı taşınacağı için restore aşamasında compatible parametresinde uyumsuzluk olmaması için)</p>
<p>B sunucusu üzerinde sadece oracle software kurulu olması yeterlidir.</p>
<p>Bu işlemler için rman catalog database’ i oluşturulmasına gerek yoktur. (Catalog üzerinde de yapılabilir)</p>
<p>İşlemlerYapılacak işlemler üzerinden sırayla gitmeye çalışalım ;</p>
<p>1. PRDTEST database’ inin rman ile backupı alınır.</p>
<p>Sunucu A üzerinde rman’ e bağlanılır ;</p>
<p>Database’ in full backupı alınır,</p>
<p>- rman target /</p>
<p>Database’ in backupı;</p>
<p>backup tag whole_database_open format &#8217;/data/backup/df_%u&#8217; database;</p>
<p>archivelog ların backupı;</p>
<p>sql &#8217;alter system archive log current&#8217;;<br />
backup archivelog all format &#8217;/data/backup/arc_%u&#8217;;</p>
<p>Controlfile’ ın backupı;</p>
<p>backup current controlfile tag = cf1 format &#8217;/data/backup/ctlf_%u&#8217;;</p>
<p>veya bütün bu işlemleri tek seferde yapmak isterseniz aşağıdaki komutu kullanabilirsiniz;</p>
<pre>
run {
allocate channel t1 type disk;
allocate channel t2 type disk;
allocate channel t3 type disk;
backup tag whole_database_open format '/data/backup/df_%u' database;
sql 'alter system archive log current';
backup archivelog all format '/data/backup/arc_%u';
backup current controlfile tag = cf1 format '/data/backup/ctlf_%u';
}
</pre>
<p>2. A sunucusu üzerindeki datafile’ lerin ve redologların pathlerini ve isimlerini (B sunucu üzerinde farklı directory’ lerde olacağından dolayı) almamız gerekiyor. Sonrasında bunları B sunucusu için düzenleyeceğiz.</p>
<pre>
Select file#, name from v$datafile;
</pre>
<pre>
select group#, member from v$logfile;
</pre>
<p>3. A sunucusundan almış olduğumuz backupları B sunucusu üzerine kopyalamamız gerekiyor.</p>
<p>4. Software kurulu olan B sunucuna, A sunucusu ora, pfile, initfile’ ler kopyalanır. Bdump, adump vs … dizinleri create edilir. Tnsnames.ora, listener.ora,sqlnet.ora dosyalarıda kopyalanır ve bunlar içerisindeki alanlar güncellenir (örneğin ORACLE_HOME path’i)</p>
<p>İnit.ora dosyası edit edilerek gerekli parametre değişiklikleri yapılır. Örneğin bdump, udump, cdump path’ leri değiştirilir. Sga ve pga parametreleri gerekiyorsa değiştirilir. (2 sunucuya ait ram ler farklılık gösterebilir) Control file’ in path’ i set edilir. Gereken tüm değişiklikler yapılır.</p>
<p>5. B sunucu üzerine pawd file create edilir.</p>
<p>orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=password force=Y</p>
<p>6. B sunucusu üzerinden sqlplus’ a bağlanılır ;</p>
<p>Database pfile kullanılarak nomount moda alınır.</p>
<p>startup nomount pfile=</p>
<p>7. B sunucusu üzerinde control file restore edilir.</p>
<p>A sunucusu üzerindeki backupları, B sunucusu üzerinde aşağıdaki dizine kopyaladığım için bu path’ i kullandım.</p>
<p>- Rman target /</p>
<p>restore controlfile from &#8217;/data/flash_recovery_area/PRDTEST/AUTOBACKUP/ctlf_1ulr3bhd&#8217;;</p>
<p>8. B sunucusu üzerindeki database mount moda alınır.</p>
<pre>
alter database mount;
</pre>
<p>9. A sunucusu üzerinden rman backup ile alınan datafile’ ler önce rename sonra restore edilir.</p>
<p>Rename ve restore işi tek tek yapılabileceği gibi aşağıdaki gibi tek seferde de yapılabilir.</p>
<pre>
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
set NEWNAME for datafile 1 to '/yeni_path/system01.dbf';
set NEWNAME for datafile 2 to '/yeni_path/undotbs01.dbf';
set NEWNAME for datafile 3 to '/yeni_path/sysaux01.dbf';
set NEWNAME for datafile 4 to '/yeni_path/users01.dbf';
set NEWNAME for datafile 5 to '/yeni_path/deneme01.dbf';
set NEWNAME for datafile 6 to '/yeni_path/prdtest01.dbf';
restore database;
switch datafile all;
}
</pre>
<p>10. Redologlar rename edilirek yeni pathleri tanımlanır. Restore işlemine ilk control file dan başlamıştık. Datafile ve redologlara ait tüm bilgiler control file içerisinde yer almaktadır. Datafile’ lerin pathlerini değiştirerek yeni lokasyonlarına restore ettik. Şimdi ise redologlar için aynı işlemi yapmamız gerekiyor.</p>
<p>Değişiklik önce redologlar hakkında bilgi edinmek için aşağıdaki scripti kullanabiliriz ;</p>
<pre>
SELECT V1.MEMBER, V2.*
FROM V$LOGFILE V1, V$LOG V2
WHERE V1.GROUP# = V2.GROUP#
ORDER BY 3;
</pre>
<p>Bu script sonucunda A sunucusu üzerinde tanımlamış olan 3 adet redo logun pathlerinin B sunucundaki directory yapısına göre (nerde olmasını istiyorsak) güncellenmesi gerektiğini görürüz.</p>
<p>Bunun için önce kendi redologlarımızı create edip,</p>
<pre>
ALTER DATABASE ADD LOGFILE GROUP 4 ('/data/oradata/redo04.log') SIZE 50M;
</pre>
<pre>
ALTER DATABASE ADD LOGFILE GROUP 5 ('/data/oradata/redo05.log') SIZE 50M;
</pre>
<pre>
ALTER DATABASE ADD LOGFILE GROUP 6 ('/data/oradata/redo06.log') SIZE 50M;
</pre>
<p>Yeni create edilen bu redologların</p>
<pre>
Alter system switch logfile;
</pre>
<p>İle kullanılmasını sağlayıp (drop edileceklerin durumunun active olmaması gerektiğinden) eski redologları drop edebiliriz.</p>
<pre>
ALTER DATABASE DROP LOGFILE GROUP 1;
</pre>
<pre>
ALTER DATABASE DROP LOGFILE GROUP 2;
</pre>
<pre>
ALTER DATABASE DROP LOGFILE GROUP 3;
</pre>
<p>Böylelikle A sunucusu üzerindeki bir database’ inizi B sunucu üzerine aynı SID ile taşımış olduk.</p>
<p>Kamil Türkyılmaz</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/rman-ile-bir-database%e2%80%99-i-farkli-bir-sunucu-uzerine-tasimak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RMAN ile Unix Üzerinden Yedekleme (Crontab)</title>
		<link>http://www.ceturk.com/rman-ile-unix-uzerinden-yedekleme-crontab/</link>
		<comments>http://www.ceturk.com/rman-ile-unix-uzerinden-yedekleme-crontab/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 10:53:13 +0000</pubDate>
		<dc:creator>Ogan Ozdogan</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Backup and Recovery]]></category>
		<category><![CDATA[linux crontab]]></category>
		<category><![CDATA[Ogan Özdoğan]]></category>
		<category><![CDATA[RMAN]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=7093</guid>
		<description><![CDATA[Merhaba, Oracle OTN forumlarını karıştırırken şu şekilde bir soru ile karşılaştım; &#8221; Linux crontab&#8217;ında RMAN yedekleme zamanlamak istiyorum, nasıl yapabilirim? &#8220; Soru özel olarak crontab&#8217;a yönelik olduğu için nasıl yapılabileceğini paylaşacağım. Tabii crontab dışında da yedekleme şansınız bulunmakta; Öncelikle kendimize bir shell script hazırlamamız gerekiyor. Aşağıdaki şekilde olduğunu varsayalım; $ cat /backup/RMAN/backup_full.sh connect target sys/password@opttest [...]]]></description>
			<content:encoded><![CDATA[<p>Merhaba,</p>
<p>Oracle OTN forumlarını karıştırırken şu şekilde bir soru ile karşılaştım;</p>
<p><strong>&#8221;<br />
<em> Linux crontab&#8217;ında RMAN yedekleme zamanlamak istiyorum, nasıl yapabilirim?</em><br />
&#8220;</strong></p>
<p>Soru özel olarak crontab&#8217;a yönelik olduğu için nasıl yapılabileceğini paylaşacağım. Tabii crontab dışında da yedekleme şansınız bulunmakta;</p>
<p>Öncelikle kendimize bir shell script hazırlamamız gerekiyor. Aşağıdaki şekilde olduğunu varsayalım;</p>
<pre class="brush: sql">$ cat /backup/RMAN/backup_full.sh
connect target sys/password@opttest
backup incremental level 0 database format '/backup/DB_FULL_%d_%t_%s';
backup archivelog all delete all input format '/backup/ARC_%d_%t_%s';
exit;
$
</pre>
<p>1) Veritabanına giriş yaptık.<br />
2) Level 0, yani bir full yedekleme işlemi yapmak istediğimizi gösterdik ve bunu yaparken formatının da nasıl şekilleceğini de belirttik.<br />
3) Veritabanının oluşturduğu archivelog&#8217;ların da yedeklenmesini istedik ve formatının nasıl olması gerektiğini de gösterdik.<br />
4) Çıkış talebinde bulunduk.</p>
<p>Bu script&#8217;i tanımladıktan sonra crontab&#8217;da ne yapmamız gerektiğine bakalım ama bunu yapmadan önce crontab&#8217;daki meşhur rakamların ne anlama geldiğini hatırlayalım;</p>
<pre class="brush: sql">$ man crontab

minute         The minute of the hour, 0-59

hour           The hour of the day, 0-23

monthday       The day of the month, 1-31

month          The month of the year, 1-12

weekday        The day of the week, 0-6, 0=Sunday
</pre>
<p>Crontab işlemlerinden önceki 5 rakam veya sayının anlamının Türkçeleri;</p>
<p>1) Dakika<br />
2) Saat<br />
3) Gün<br />
4) Ay<br />
5) Hafta Günü</p>
<p>Şimdi ise crontab&#8217;da nasıl konumlandığını göstereceğim;</p>
<pre class="brush: sql">$ crontab -l
# ORACLE BACKUP JOBS #
######################

0 1 * * 0 export LD_LIBRARY_PATH=/opt/oracle/product/10.2.0/db_1/lib:/usr/dt/lib:/usr/lib ; export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1/ ; /opt/oracle/product/10.2.0/db_1/bin/rman cmdfile /backup/RMAN/backup_full.sh log /backup/RMAN/backup_full.log
</pre>
<p>Yukarıdaki görüntüyü sırasıyla açıklamam gerekirse;</p>
<p>Veritabanının yedeği her Pazar günü ( 0 1 * * 0 ), gece saat 01:00&#8242;de ( 0 1 * * 0 ) alınacaktır. Recovery Manager&#8217;a bir shell script&#8217;ini gönderirken cmdfile komutunu kullanıyoruz, log işlemesini de istiyorsak log bilgisini de ekliyoruz. Crontab işe ne zaman başlayacağını ve gerekli library dosyalarını nerede bulacağını ve ORACLE_HOME parametresinin ne olduğunu artık biliyor (LD_LIBRARY_PATH, ORACLE_HOME). RMAN ise ne yapması gerektiğini artık biliyor (cmdfile, log).</p>
<p>Son olarak yukarıdaki yedeğin nasıl bir log dosyası üretmiş olabileceğine bakalım;</p>
<pre class="brush: sql">$ cat /backup/RMAN/backup_full.log

Recovery Manager: Release 10.2.0.4.0 - Production on Sun Dec 26 01:00:01 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

RMAN&gt; connect target *
2&gt; backup incremental level 0 database format '/backup/DB_FULL_%d_%t_%s';
3&gt; backup archivelog all delete all input format '/backup/ARC_%d_%t_%s';
4&gt; exit;
connected to target database: OPTTEST (DBID=750193206)

Starting backup at 26-DEC-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=1386 devtype=DISK
channel ORA_DISK_1: starting compressed incremental level 0 datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00002 name=/db/OPTIMA/oradata/opttest/opttest/UNDOTBS1.dbf
input datafile fno=00341 name=/db/OPTIMA/oradata/opttest/data/NORS_OWCTTS_D_02.dbf
input datafile fno=00369 name=/db/OPTIMA/oradata/opttest/data/NORS_ISUP_GROUP_D_03.dbf
input datafile fno=00307 name=/db/OPTIMA/oradata/opttest/data/NORS_TONES_D_02.dbf
input datafile fno=00311 name=/db/OPTIMA/oradata/opttest/data/NORS_SINGLE_UNIT_PM_D_02.dbf
input datafile fno=00313 name=/db/OPTIMA/oradata/opttest/data/NORS_PM_D_02.dbf
input datafile fno=00318 name=/db/OPTIMA/oradata/opttest/data/NORS_RTLTSUM_D_02.dbf
input datafile fno=00319 name=/db/OPTIMA/oradata/opttest/data/NORS_SOTS_D_02.dbf
input datafile fno=00320 name=/db/OPTIMA/oradata/opttest/data/NORS_SYSPERF_D_02.dbf
input datafile fno=00328 name=/db/OPTIMA/oradata/opttest/data/NORS_TREATMENT_D_02.dbf
channel ORA_DISK_1: starting piece 1 at 26-DEC-10
channel ORA_DISK_1: finished piece 1 at 26-DEC-10
piece handle=/backup/DB_FULL_OPTTEST_738731834_4120 tag=TAG20101226T010021 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:08:46
Finished backup at 26-DEC-10

Starting Control File and SPFILE Autobackup at 26-DEC-10
piece handle=/backup/c-750193206-20101226-00 comment=NONE
Finished Control File and SPFILE Autobackup at 26-DEC-10

Starting backup at 26-DEC-10
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=546 recid=7882 stamp=738451102
input archive log thread=1 sequence=547 recid=7883 stamp=738532873
input archive log thread=1 sequence=548 recid=7884 stamp=738550821
input archive log thread=1 sequence=549 recid=7885 stamp=738622852
input archive log thread=1 sequence=550 recid=7886 stamp=738646398
input archive log thread=1 sequence=551 recid=7887 stamp=738714019
input archive log thread=1 sequence=552 recid=7888 stamp=738732388
channel ORA_DISK_1: starting piece 1 at 26-DEC-10
channel ORA_DISK_1: finished piece 1 at 26-DEC-10
piece handle=/backup/ARC_OPTTEST_738732389_4122 tag=TAG20101226T032628 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:36
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/backup/OPTTEST/archivelog/2010_12_22/o1_mf_1_546_6k4mqk7w_.arc recid=7882 stamp=738451102
archive log filename=/backup/OPTTEST/archivelog/2010_12_23/o1_mf_1_547_6k73lz3b_.arc recid=7883 stamp=738532873
archive log filename=/backup/OPTTEST/archivelog/2010_12_24/o1_mf_1_548_6k7o3th2_.arc recid=7884 stamp=738550821
archive log filename=/backup/OPTTEST/archivelog/2010_12_24/o1_mf_1_549_6k9vgs5q_.arc recid=7885 stamp=738622852
archive log filename=/backup/OPTTEST/archivelog/2010_12_25/o1_mf_1_550_6kblgot5_.arc recid=7886 stamp=738646398
archive log filename=/backup/OPTTEST/archivelog/2010_12_25/o1_mf_1_551_6kdnhqyo_.arc recid=7887 stamp=738714019
archive log filename=/backup/OPTTEST/archivelog/2010_12_26/o1_mf_1_552_6kf6fx5w_.arc recid=7888 stamp=738732388
Finished backup at 26-DEC-10

Starting Control File and SPFILE Autobackup at 26-DEC-10
piece handle=/backup/c-750193206-20101226-01 comment=NONE
Finished Control File and SPFILE Autobackup at 26-DEC-10

Recovery Manager complete.
</pre>
<p>İyi çalışmalar.</p>
<p>Ogan</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/rman-ile-unix-uzerinden-yedekleme-crontab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Yönetim, Yedekleme ve Geri Dönüş Seçenekleri Video</title>
		<link>http://www.ceturk.com/oracle-yonetim-yedekleme-ve-geri-donus-secenekleri-video/</link>
		<comments>http://www.ceturk.com/oracle-yonetim-yedekleme-ve-geri-donus-secenekleri-video/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 03:47:20 +0000</pubDate>
		<dc:creator>Yönetici</dc:creator>
				<category><![CDATA[CETURK TV]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Seminerler]]></category>
		<category><![CDATA[Veri Tabanı]]></category>
		<category><![CDATA[Automatic Storage]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Backup and Recovery]]></category>
		<category><![CDATA[Flash Recovery Area]]></category>
		<category><![CDATA[FRA]]></category>
		<category><![CDATA[Hüsnü Şensoy]]></category>
		<category><![CDATA[Oracle Manageability]]></category>
		<category><![CDATA[Oracle Video]]></category>
		<category><![CDATA[Oracle Yedekleme]]></category>
		<category><![CDATA[Recovery Manager]]></category>
		<category><![CDATA[RMAN]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Yedekleme]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=2084</guid>
		<description><![CDATA[Hüsnü Şensoy, &#8220;Oracle Manageability &#38; Backup and Recovery &#8211; Recovery Manager(RMAN), Flash Recovery Area(FRA), Automatic Storage Management&#8221; Sunumu Videosu]]></description>
			<content:encoded><![CDATA[<p><strong>Hüsnü Şensoy</strong>, &#8220;Oracle Manageability &amp; Backup and Recovery &#8211; Recovery Manager(RMAN), Flash Recovery Area(FRA), Automatic Storage Management&#8221; Sunumu Videosu</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/oracle-yonetim-yedekleme-ve-geri-donus-secenekleri-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle&#8217;a nasıl başlamalı? (2)</title>
		<link>http://www.ceturk.com/oracle-nasil-baslamali-devam/</link>
		<comments>http://www.ceturk.com/oracle-nasil-baslamali-devam/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 00:37:51 +0000</pubDate>
		<dc:creator>yido</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Veri Tabanı]]></category>
		<category><![CDATA[ASM]]></category>
		<category><![CDATA[Data Guard]]></category>
		<category><![CDATA[Data Vault]]></category>
		<category><![CDATA[dba nasil olunur]]></category>
		<category><![CDATA[Flashback]]></category>
		<category><![CDATA[Grid Control]]></category>
		<category><![CDATA[Hasan Tonguç YILMAZ]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[oracle baslangic]]></category>
		<category><![CDATA[oracle makale]]></category>
		<category><![CDATA[pl/sql]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[RMAN]]></category>

		<guid isPermaLink="false">http://www.ceturk.com/?p=183</guid>
		<description><![CDATA[23.5.2006 tarihinde hazırladığım Oracle &#8216;a nasıl başlamalı? (1) başlıklı yazımın devamı niteliğinde paylaşıyorum, lütfen önce ilk yazıya göz atın. Oracle&#8217;ın çekirdek işi veritabanı olmasına rağmen özellikle son senelerdeki satın almalar sonrasında Oracle ismi birçok farklı konuyu da artık beraberinde çağırıştırıyor ; Siebel , Peoplesoft , Hyperion , ODI, Weblogic , BPEL gibi. Ama amacınız Oracle [...]]]></description>
			<content:encoded><![CDATA[<p>23.5.2006 tarihinde hazırladığım <a href="http://www.ceturk.com/oracle-a-nasil-baslamali-1/" target="_blank">Oracle &#8216;a nasıl başlamalı? (1)</a> başlıklı yazımın devamı niteliğinde paylaşıyorum, lütfen önce ilk yazıya göz atın.</p>
<p>Oracle&#8217;ın çekirdek işi veritabanı olmasına rağmen özellikle son senelerdeki satın almalar sonrasında Oracle ismi birçok farklı konuyu da artık beraberinde çağırıştırıyor ; Siebel , Peoplesoft , Hyperion , ODI, Weblogic , BPEL gibi. Ama amacınız Oracle veritabanı geliştiricisi olarak uzmanlaşmak ise nasıl ilerleyebileceğiniz konusunda kendi tecrübelerimi bu yazıda paylaşmak istiyorum.<br />
1- Teknik doküman ve makale okurken sorun yaşamayacak düzeyde İngilizce bilmelisiniz,</p>
<p>2- Cidden okumayı sevmelisiniz,<br />
3- Okuduklarınızı uygulayarak öğrenmek için iş dışında da çalışmaya zaman ayırmalısınız, bu süreç içinde iken sorun yaşadığınızda yakın çevrenizde &#8221; abi &#8220;-&#8221;usta&#8221; niteliğinde size yol gösterecek kişiler olmalı,</p>
<p>4- Oracle veritabanı içindeki hazır seçenekler, SQL ve Oracle prosedür dili PL/SQL kabiliyetleri diğer alternatifleri ile günümüzde hala kıyaslanamayacak kadar çeşitlidir, bunlar üzerinde ancak seneler içinde bilginiz okuyup-uyguladıkça gelişecektir, yol haritanız şu şekilde olabilir:</p>
<p>* <a href="http://www.oracle.com/technology/getting-started/index.html" target="_blank">OTN başlangıç portali </a><br />
* <a href="http://tinyurl.com/2tgpo7" target="_blank">Oracle Database Concepts Guide </a><br />
* <a href="http://tinyurl.com/9cw3wo" target="_blank">Practical Oracle : Building Efficient Databases , Jonathan Lewis </a><br />
* <a href="http://tinyurl.com/9nmttw" target="_blank">Expert Oracle Database Architecture , Thomas Kyte </a><br />
* <a href="http://tinyurl.com/92l3b2" target="_blank">Efficient Oracle by Design , Thomas Kyte </a><br />
* <a href="http://tinyurl.com/7qse8t" target="_blank">Oracle PL/SQL Best Practices , Steven Feuerstein </a><br />
* <a href="http://tinyurl.com/a9afzz" target="_blank">Oracle PL/SQL Programming , Steven Feuerstein </a><br />
* <a href="http://tinyurl.com/6438z5" target="_blank">Oracle Introduction for Newbies </a><br />
* <a href="http://www.bhatipoglu.com/" target="_blank">Turkcell Staj Gunlukleri </a></p>
<p>5- Oracle SQL ve PL/SQL bilginizi ilerlettikçe Forms / Reports veya Apex gibi veritabanı bilgisi gerektiren geliştirme ortamlarında zorlanmadan uygulamalar geliştirebileceksiniz, bu gibi geçişler için biraz doküman okumanız genelde yeterli olacaktır: <a href="http://docs.oracle.com/" target="_blank">http://docs.oracle.com </a></p>
<p>6- Seneler sonra bile geldiğiniz noktada okumaya devam edeceksiniz; Cost Based Optimizer , Spatial , Text , Streams gibi konulardan birinde bile uzmanlaşmak icin senelerinizi hala harcıyor olabilirsiniz.</p>
<p>Eğer DBA olarak devam etmek isterseniz: Linux, RAC, ASM, RMAN, Data Guard , Flashback , Grid Control , Data Vault gibi konulara odaklanmanız gerekecek. Ama veritabanı geliştiricisi olarak ilerlerken özellikle Java ve açık kaynak dünyadaki gelişmeleri yakından takip etmek bence önümüzdeki seneler için önemli olacak.</p>
<p>Gözlemim birçok gencin soru ve cevaplarını ezberleyerek alacakları sertifikalar ile ya da birkaç haftalık çalışma yaparak Oracle uzmanı olacaklarına inanıyor olmaları. Bu fırsatla yeri geldi belirteyim, benim tecrübem Oracle Streams seçeneğinin tek başına bile MySQL projesinin tamamından daha kapsamlı olması. 1977 senesinden beri veritabanı pazarında yenilikçi ve önder olan bir ürün ailesinden bahsediyoruz dolayısı ile lütfen sabırlı olun. Emek ve zaman harcamalısınız, seviyorsanız zaten kısa sürede ilerlediğinizi hissedeceksiniz ve seneler geçse de bu ilerleyiş ile fark edeceğiniz Oracle genelinde ne kadar daha çok öğrenilmesi gereken konu olduğu olacak. <img src='http://www.ceturk.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>H.Tonguç YILMAZ<br />
<a href="http://http//tonguc.yilmaz.googlepages.com" target="_blank">http://tonguc.yilmaz.googlepages.com</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ceturk.com/oracle-nasil-baslamali-devam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

