RMAN etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
RMAN etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

9 Mart 2017 Perşembe

"ORA-00245: control file backup failed; target is likely on a local file system"


Oracle RAC yapısında control file backup'ını alacağı dizin shared disk (ortak disk) değilse aşağıdaki hatayı alır.

Bunu düzeltmek için node ların görebileceği ortak bir diski RMAN'de aşağıdaki gibi tanımlamak lazım. 

Genellikle ASM kullanıldığından ortak disk alanını belirtmek gereklidir.   


RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/09/2017 02:34:06
ORA-00245: control file backup failed; target is likely on a local file system


oracle@test </backup/rman> rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Thu Mar 9 10:13:56 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: TEST (DBID=1716363802)

RMAN> show all;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name TEST are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+ASM/TEST/BACKUP/TEST_CTL_%F';
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 8;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbhome_01/11.2.0.4/dbs/snapcf_tdb.f';

RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+ASM/TEST/CONTROLFILE/snapcf_test.f';


old RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbhome_01/11.2.0.4/dbs/snapcf_tdb.f';
new RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+ASM/TEST/CONTROLFILE/snapcf_test.f';
new RMAN configuration parameters are successfully stored

RMAN> show all;

RMAN configuration parameters for database with db_unique_name TEST are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+ASM/TEST/BACKUP/TEST_CTL_%F';
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 8;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+ASM/TEST/CONTROLFILE/snapcf_test.f';


25 Mayıs 2013 Cumartesi

RMAN-04015: error setting target database character set to US7ASCII


Veritabanınızda DBCA kullanmadan script ile yaratılan database sonrasında RMAN’de yapmak işlem yapmak istediğimizde başlıktaki hata sizi bekliyor olacaktır. Scriptin içeriğini ve aldığım hatalar ile çözümünü bulabilirsiniz.

CREATE DATABASE orclprod
   USER SYS IDENTIFIED BY oracle3
   USER SYSTEM IDENTIFIED BY oracle3
   LOGFILE GROUP 1 ('redo01b.log') SIZE 100M,
           GROUP 2 ('redo02b.log') SIZE 100M,
           GROUP 3 ('redo03b.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   EXTENT MANAGEMENT LOCAL

5 Aralık 2012 Çarşamba

ASM Yapısına DatabaseTaşıma


Oracle 11gR2’de disk’te bulunan dosyalarımızın ASM yapısına taşımayı anlatacağım. Öncelikle yapılması gereken  ASM instance’ın kurulumunu yapıp çalışır halde olması gereklidir. Kurulum tamamiyle farklı bir konu olduğundan sistemde var olduğunu kabul edip anlatacağım.

- Database ve versiyonu kontrol ederek işe başlayalım.
                SQL>select  instance_name,version,database_status from v$instance;
                INSTANCE_NAME    VERSION           DATABASE_STATUS
                ------------------------ ----------------- --------------------------
                 testdb                                 11.2.0.3.0        ACTIVE


- ASM Disklerimizi ve durularını kontrol edelim.
                SQL>select NAME,STATE,TOTAL_MB,PATH from v$asm_disk;
                NAME                           STATE      TOTAL_MB PATH
                ------------------------------ -------- ---------- ----------
                 DISK1                          NORMAL         16025 ORCL:DISK1


15 Ekim 2012 Pazartesi

RMAN Monitor -1


RMAN’de yaplan işlerin takibi ve performans arttırılması karşılaşılabilecek durumlar ve yardımcı olacak sorguları bulabilirsiniz.

-        RMAN’de bir Job başlattınız ve  işlem çok uzun bir süredir devam ediyor. Sizde RMAN prosess’nin durumunu görmek istiyorsunuz.

Aslında RMAN prosess’ni başlattığınızda ekranda bu işleme ait bilgiler verilmektedir. Bu mesajlarda takip etmeniz gereken konu “SID” yani “Session Identifier” olmalıdır.
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=254 devtype=DISK

Biz başlattığımız işi aşağıdaki sorgu ile takip edebiliriz. Bununn içinde V$SESSION ve V$PROCESS view’larını kullarız.

SQL> SELECT b.sid, b.serial#, a.spid, b.client_info FROM v$process a, v$session b WHERE a.addr = b.paddr AND   b.client_info LIKE '%rman%';

Sorgunuz çıktısı aşağıdaki gibi olacaktır.

SID               SERIAL#               SPID                      CLIENT_INFO
----------     -------------          ------------           -----------------
254                29                          4376                      rman channel=ORA_DISK_1

-        Ekip lideriniz size “DB’den bana alınan backupları ve süreleri nelerdir? “diye bir istekle karşınıza geldiğinde ve herhangi bir tool kullanmıyorsanız yapacağınız sadece aşağıdaki sorguyu çalıştırmak olacaktır ;)

SQL> SELECT session_recid, input_bytes_per_sec_display, output_bytes_per_sec_display, time_taken_display, end_time FROM v$rman_backup_job_details ORDER BY end_time;

         Karşınıza günümüze kadar alınan backup’ların süreleri, boyutarı ve tarihleri gelecektir.

SESSION_RECID     INPUT_BYTES_PER     OUTPUT_BYTES_PE      TIME_TAKEN_DISPLAY   END_TIME
---------------------------------------------------------------------------------------------------------------------------
1096                             8.60M                    7.69M                                    00:14:25               10-SEP-12
1101                              1.88M                   1.78M                                    00:42:03             11-SEP-12
1110                             9.59M                   8.56M                                   00:14:56             12-SEP-12
1114                             9.75M                   8.71M                                   00:14:52             13-SEP-12
1116                            10.73M                 9.58M                                   00:14:31             14-SEP-12

 “v$rman_backup_job_details” view’ı bizim için istatistik bilgilerini tutacaktır.
  
-        İlk madde de olduğu gibi yine uzun süren bir RMAN işleminiz var ve siz bu işlemin ne kadarının bittiğini görmek istiyorsunuz.

SQL> select sid, serial#, sofar, totalwork, opname,round(sofar/totalwork*100,2) "% Complete" from   v$session_longops where  opname LIKE 'RMAN%' and    opname NOT LIKE '%aggregate%' and    totalwork != 0 and    sofar <> totalwork;

Ve ekran çıktınız size detaylı bir bilgiyi sunacaktır.

SID SERIAL#      SOFAR          TOTALWORK     OPNAME                                % Complete
------ ----------------------------- ----------------------------------------  --------------------
346       7                     3259        51840                  RMAN: full datafile backup        6.29
123      57                    28671      74880                  RMAN: full datafile backup       38.29

“v$session_longops” view’ı bize bu tarz bilgileri sorgulayabileceğiniz alandır. Sorguda where clause’ı değiştirerek farklı işlemleri de  görebilirsiniz. Ancak recovery işlemlerinde ise “v$session_longops”  view’nın alt view’ı olan “v$recovery_progress” kullanırız. Özellikle Recovery işlemlerinin takibinde işinize fazlasıyla yarayacaktır.

SQL> select type, item, units, sofar, total from v$recovery_progress;

TYPE                                             ITEM                         UNITS      SOFAR      TOTAL
--------------------           -------------------------------- ------------------   ----------   ----------
Media Recovery       Log Files                                Files                      69             121
Media Recovery       Active Apply Rate                KB/sec                  41676         0
Media Recovery       Average Apply Rate            KB/sec                  20995         0
Media Recovery       Redo Applied                       Megabytes            411591     0
Media Recovery       Last Applied Redo               SCN+Time            2147483     0
Media Recovery       Active Time                           Seconds                11415        0
Media Recovery       Checkpoint Time per Log   Seconds                  34              0
Media Recovery       Elapsed Time                       Seconds                20074         0

Burada “SOFAR” ve ”TOTAL” alanları önemlidir. “TOTAL” alanı bize işin tamamını “SOFAR” is tamamlanan kısmını vermektedir. Yani ilk satıra bakarsak 121 “Log Files”ın 69’u tamamlanmıştır.

14 Ekim 2012 Pazar

EMC NetWorker for Oracle (NMO) Kurulumu ve Backup İşlemi


Sistemimizde backup ve recovery işlemlerini depolama sistemleri ve bunları yöneten yazılımlar  aracılığıyla ile gerçekleştiririz. Bunlardan en yaygın olanı EMC NetWorker’ın Oracle için kullnılmasını ve kurulumunu bu yazıda bulacaksınız.
-        NMO Kurulumu IBM AIX ortamında  ROOT kullanıcısı ile aşağıdaki adımları takip ederek yapabilirsiniz .
-      Yazılımın yüklenecek paketini installp komutu ile path’i verere yüklüyoruz.
         installp -a -d /dir_pathname LGTOnmo.rte

Paketi kurduktan sonra , kurulumda sorun olup olmadığını kontrol etmeliyiz.
 test root@test > lslpp -L all | grep -i lgtonmo
 LGTOnmo.rte      5.0.0.0    C     F    LGTOnmo.rte 5.0.0.0, the installation succeeded.” 

Eğer komutun çıktısında “ LGTOnmo.rte 5.0.0.0, the installation succeeded.”  alabilirsek kurulum sorunsuz demektir.

Yazılımın dil paketini yükleriz. Ancak Türkçe desteği olmadığından bu adımı yapmadan geçebiliriz. Örnek olsun diye kullanımını aşağıda bulabilirsiniz.
 installp -a -d /dir_pathname LGTOnmo.nmofr.rte

Kurulum işlemi tamamlandıktan sonra NMO kütüphanesini Oracle kullanıcıs altında link işlemini yapmalıyız.
Step 5:Linking NMO to Oracle
$ cd $ORACLE_HOME/lib
$ ln –s /usr/lib/libnwora.so libobk.so

Bu işlemi yapmak zorundayız yoksa oracle kullanıcımızda backup işlemini gerçekleştirirken hata alırız.

-        Backup işlemine başlayalım. Backup’a başlarken NMO konfigürasyonları yapılmış olarak en temel düzeyde aşağıdaki başlatırız.
                Bash3.2#> rman
RMAN> connect target /
RMAN> run {
                allocate channel c1 type sbt_tape;
                backup database;
                release channel c1;
                                }

Backup işlemini alert log’dan takip edebilirsiniz.
Listed next is a partial snippet of the output you can expect to see:
channel c1: backup set complete, elapsed time: 00:03:26
channel c1: starting full datafile backupset
channel c1: specifying datafile(s) in backupset
including current control file in backupset
channel c1: starting piece 1 at 18-SEP-12
channel c1: finished piece 1 at 18-SEP-12
piece handle=18ikjuds_1_1 tag=TAG20070618T190726
comment=API Version 2.0,MMS Version 4.2.0.0
channel c1: backup set complete, elapsed time: 00:00:04
Finished backup at 18-SEP-12
released channel: c1

Aynı işlemi RMAN içinde SEND komutu kullanarak NSR parametrelerinin bilgilerinide girerek yapabiliriz. Burada geçen NSR_SERVER parametresini her ihtimale karşı root kullanıcısı ile “/etc/hosts/” dosyasına eklemenizi öneririm.

RMAN> connect target /
RMAN> run {
 allocate channel c1 type sbt_tape;
 send 'NSR_ENV=(NSR_SERVER=shrek,NSR_GROUP=Default,NSR_COMPRESSION=TRUE)';
 backup database;
 release channel c1;
                }

NMO için kısa bir örnekti. Nette NMO’nun  orijinal dökümanı mevcut kurulumişlemlerinin farklı ortamlarda örnekleri bulunmaktadır.

19 Eylül 2012 Çarşamba

RMAN Backup Compression Kullanımı


Oracle’ın 11g ile duyurduğu sıkıştırma (compression) özelliğine dair komutları ve işlevlerine anlatacağım.
Sıkıştırma özelliği birkaç Level’dan oluşmakta. Bunlar ;
BASIC : BZIP2 formatında sıkıştırır (10g’nin bir özelliğidir) ve MEDIUM düzeyine yakın ancak daha yavaştır.
LOW : LZO algoritma yapısında işlem yapar (11gR2). En hızlı ancak en düşük oranda sıkıştırma yapar.
MEDIUM : ZLIB algoritma yapısında işlem yapar (11gR2). LOW’dan daha yavaş ancak daha iyi oranda sıkıştırma yapar.
HIGH : BZIP2 algoritma yapısında modifiyesiz işlem yapar (11gR2). En yavaş ancak en iyi sıkıştırma oranını yapar.
Aşağıdaki komutlarla RMAN’de işlemleri yapabiliriz.
-        Backupset’leri sıkıştırarak alaağımızı belirten komut
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;
-        Level düzeylerini belirleme
CONFIGURE COMPRESSION ALGORITHM ‘HIGH’;
CONFIGURE COMPRESSION ALGORITHM ‘MEDIUM’;
CONFIGURE COMPRESSION ALGORITHM ‘LOW’;
CONFIGURE COMPRESSION ALGORITHM ‘BASIC’;
Aslında Backup sürelerinde bizi etkileyen bir çok neden vardır. Bunlar  data backup ortamınız (SAN, ISCSi,Ethernet  vs...) , RMAN Parallelism ve tabiki seçeceğimiz algoritma. Bunları gözönünde tutarak backup sürelerinizde oynamalar olabilir.
Komutların hızını ve boyutlarını kendimin test etme imkanı olmadı ancak Google amcaya sorduğumuzda bir çok blog da farklı test değerlerini bulabilirsiniz. Bende bunlardan birini fikir olsun diye vermek isterim.
Ortamımız 64 bit Oracle Linux , 40GB database’in farklı level’lar daki test süreleri ve backup boyutlarını tabloda bulabilirsiniz.
Algoritma
Backup süresi (dk)
Backup Boyutu (GB)
BASIC
33
6.6
LOW
28
7.9
MEDIUM
29
6.4
HIGH
56
4.5
NONE
31
23






Son olarak ufak bir not düşeyim . LOW,MEDIUM ve HIGH düzeyinde backup yapmak istediğiniz Oracle size “Advanced Compression License” adında bir lisans zorunluluğu aramaktadır.