Merhaba Arkadaşlar,
Bu yazımda sizlere Oracle Veritabanının son sürümü olan Oracle 12c ye mevcut Test veritabanımın upgrade işlemini anlatacağım. Upgrade yapacağım database im Linux ortamında Oracle 11.2.0.4 ve bu database i aynı ortamda Oracle 12.1.0.1.0 a upgrade edeceğim.
Production ortamında bulunan databaseleri upgrade etmeden önce muhakkak daha önceden minimum 1 defa detaylı bir şekilde test edilmelidir. Hele de bu upgrade işlemi 10g den 11g ye yada 11g den 12c ye major bir upgrade ise test işleminin detaylı bir şekilde yapılması gerekmektedir. Yapmanız gereken minimum testler aşağıdaki gibi olmalıdır.
1- Upgrade yöntemi belirlenir. Mevcutta kullanılan Upgrade yöntemleri aşağıdaki gibidir.
a-Manuel Upgrade: Upgrade için gerekli scriptleri adım adım çalıştırarak yapılan yöntemdir en tehlikeli yöntemdir çünkü tüm kontrol DBA in elindedir ve en ufak bir hata çok şeye mal olabilir o yüzden tavsiye etmem 🙂
b-Datapump Upgrade: Bu yöntem genelde farklı işletim sistemine upgrade edilmesi gereken sistemlerde(Ör: Production ortamı Linux iken Upgrade ortamının IBM AIX olarak istenmesi durumunda) kullanılır.
c- DBUA ( Database Upgrade Assistant ) ile Upgrade: En sık kullanılan ve en güvenilir diyebileceğim upgrade yöntemidir. Oracle ın sunduğu Grafiksel arayüzle upgrade işlemi gerçekleştirilir. Ben bu yazımda bu yöntemle upgrade yapacağım.
2- Production ortamıyla donanım ve işletim sistemi olarak aynı veya daha gelişmiş özelliklere sahip sunucu üzerinde Upgrade için belirlenen versiyondaki Oracle database i kurulur ve hangi yöntemle upgrade işlemini gerçekleştirecekse o yöntemle upgrade işlemi yapılır.
3- Upgrade yapıldıktan sonra veritabanına bağlı olan uygulama yeni ortama yönlendirilir ve uygulama testleri yapılır. Uygulamanın tüm modüllerinin sorunsuz çalıştığı teyit edilir.
4- 3.Adımda bir problemle karşılaşılırsa bu problemler araştırılır eğer bu bir bug ise problemle ilgili Patch çıkmış ise bu Patch uygulanır yoksa Oracle Support dan SR açıp destek istenir.
5- Upgrade geçişi için kesinti süresi hesaplanır. Bu kesinti eğer fazla ise süreyi düşürebilecek yollar aranır.
6- Upgrade edilecek veritabanında RAT (Real Application Testing özelliği) ile SQL Performance Analyzer (SPA) ve Database Replay özellikleri kullanılarak veritabanında Performance Testleri yapılır ve performansı kötü olan uygulamanın sürekli kullandığı sorgular düzeltilmeye çalışılır.
7- Son olarak Veritabanı üzerinde Canlıda çalışan veritabanı üzerindeki yük benzeri bir yük oluşturarak Upgrade veritabanı üzerinde Yük testi yapılır. Yük testi sırasında yeni sunucunun CPU ve Memory sinin ve yeni version database in gelen yüke karşılık verdiği tepkiye bakılarak karar verilir.
Yukarda saymış olduğum maddeler Production bir sistemin upgrade i sırasında mutlaka en az 1 defa çok kritik olan veritabanlarındaysa 2 defa test edilmesi önerilir.
Şimdi ben upgrade için Test veritabanımın bulunduğu Linux sunucu üzerinde farklı bir Oracle Home da Oracle Database 12c Software i kurdum. Bu kurulumu burda anlatmayacağım isteyenler önceki yazıma bakabilirler.
Yukardaki tüm testlerin yapıldığını varsayaraktan Upgrade işlemini başlatacağım. Oracle 11g kurulu olan sunucuma Oracle 12c Software i kurduktan sonra DBUA (Database Upgrade Assistant) tool u ile mevcut Oracle 11.2.0.4 (şaşırabilirsiniz 11.2.0.4 varmıydı diye ama Sadece Linux sunucularda Oracle 11.2.0.4 versiyonu çıktı IBM AIX, HP-UX ortamları için yok bu sürüm) veritabanını Oracle 12c ye upgrade edeceğim.
Upgrade öncesi 11g veritabanına bağlanıp veritabanı ismini ve versiyonunu aşağıdaki gibi sorguluyorum. Upgrade bittikten sonrada çalıştırıp upgrade işleminin tamamlandığını göstereceğim.
bash-4.1$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun Nov 17 10:07:24 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- POCDB SQL> select version from v$instance; VERSION ----------------- 11.2.0.4.0 SQL>
Bunun için linux komut satırından Oracle Environment ı set ettikten sonra aşağıdaki gibi DBUA Toolunu çalıştırıp upgrade işlemine başlıyorum. Sunucumda Bulunan 12cProfile_db adlı Oracle Environment ın içeriği aşağıdaki gibidir.
bash-4.1$ vim 12cProfile_db ORACLE_HOSTNAME=Kuheylan; export ORACLE_HOSTNAME ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/12.1.0.1; export ORACLE_HOME ORACLE_SID=POCDB; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit - p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
Kurulumu adım adım yapacağım lütfen adımları atlamayın.
Adım -1: DBUA Tool ununu Komut satırından başlatıyorum.
bash-4.1$ . 12cProfile_db bash-4.1$ dbua
Adım -2: Açılan Upgrade Ekranından Upgrade Oracle Database seçeneğini seçip Next butonu ile ilerliyoruz.
Adım -3: Bu adımda Upgrade yapılacak database seçilir.
Adım -4: Bu adımda Oracle Upgrade için bazı kontroller yapıyor bir sıkıntı olmadığı için Next deyip ilerliyorum.
Adım -5: Bu adımda Upgrade yapılacak seçenekler sunuluyor adım adım bu seçenekleri anlatacağım.
1.seçenekte Upgrade işlemini kaç paralelle gerçekleştirileceğimizi seçiyoruz. Burada sunucunun sahip olduğu CPU sayısına göre parallelliği belirlememiz gerekiyor. Kıstas ise şu olmalı Sunucu CPU Sayısı >= Paralellik sayısı.
2.seçenekte ise Upgrade yaparken Invalid durumuna düşecek olan Objeleri Upgrade bittikten sonra yeniden Derleyeyim mi diye soruyor Oracle. Biz burda evet diyerek ve bu işlem için de paralellik sayısını verip checkbox ı seçili bırakıyoruz.
3. Seçenekte ise Upgrade Time zone seçeneğini boş bırakıyorum çünkü Time zone kolay kolay değişmez. Upgrade yapmak için sunucuyu Ankaradan, istanbuldan kaldırıp Amerikaya taşıyacak halimiz yok ya 🙂
4. Seçenekte ise Upgrade öncesi istatistik toplamayı seçili bırakıyoruz. Upgrade öncesi istatistik toplamamız iyi olur fakat veriniz 1-2 TB üstü ise istatistik toplamayla geçen süreyide hesaba katmak gerekiyor buda Upgrade i uzatacaktır.
5. seçenekte ise Upgrade işlemi sırasında kullanıcıların Tablespace lerinin Read Only moda getirililip getirilmemesini teklif ediyor bu seçenek sizin iş durumunuza göre değişecektir ben seçmedim.
6.Seçenekte ise Upgrade için Diagnostic ve Audit File location ını seçmemizi istiyor ben default gelen path i değiştirmeyip ilerliyorum.
Adım -6: Bu adımda 5.Adımda upgrade öncesi yada sonrası çalıştırmak istediğiniz scriptleri belirtebilirsiniz.
Adım -7: Bu adımda Enterprise manager yada Cloud control kullanıyorsanız bunları yeniden konfigüre edebilirsiniz ben seçmedim ve devam ettim.
Adım -8: Bu adımda Veritabanı dosyalarınızı(Datafiles,Controlfiles,Redo log Files vsvs..) ve Fast Recovery Area dediğimiz FRA alanını da Upgrade sırasında taşıyabilirsiniz bunun için Path leri girmeniz gerekmektedir ben bunu tercih etmediğim için seçmeden ilerledim.
Adım -9: Bu adımda upgrade olacak database in Listener ını seçiyoruz.
Adım -10: Bu adımda Upgrade sırasında bir problem olduğu takdirde geri dönebilmesi için bir Backup alıp almayacağını soruyor. Eğer gerek duymuyorsanız benim gibi 2.seçeneği seçip benim kendi backup-recovery stratejim var deyip ilerlersiniz.
Adım -11: Bu adımda Upgrade işlemi öncesi neler yapılacağı özet biçimde sunulmuş burda son kontrolleri yapıp Finish de yapabilirsiniz eğer bi hata görüyorsanız geride dönebilirsiniz ben finish deyip ilerliyorum.
Adım -12: Son olarak Upgrade sırasında hiçbir hata yapmadığımız için Upgrade işlemimiz başarılı bir şekilde gerçekleşiyor.
Adım -13: İlk adımdan önce Veritabanının upgrade öncesi adını ve versiyonunu sorgulamıştık şimdi Upgrade sonrası tekrar aynı sorguları çektiğimizde veritabanın başarılı bir şekilde upgrade olduğunu görebilirsiniz.
bash-4.1$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production on Sun Nov 17 17:39:21 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- POCDB SQL> select version from v$instance; VERSION ----------------- 12.1.0.1.0 SQL>
Böylece bir yazımın daha sonuna gelmiş bulunmaktayım bir sonraki yazıda görüşmek dileğiyle şimdilik esen kalın..
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri