Oracle Database Upgrade 11g to 12c (dbua ile)

Oracle 11g olan database’ imizi 12c versiyonuna nasıl upgrade edebilirize bakıyor olacağız. Ancak hemen öncesinde database’ inizi 12c’ ye doğrudan upgrade edebiliyormuyuz onu kontrol edelim.

Yukarıdaki grafikden anlaşılacağı üzere eğer database’ inizi 12.1 versiyonuna upgrade etmek istiyorsanız öncelikle Upgrade path kolonundaki minumum versiyona ulaşmış olmanız gerekiyor.

Biz database’ imizin versiyonunu kontrol edelim ;

SQL> select * from v$version ;
BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
PL/SQL Release 11.2.0.4.0 – Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 – Production
NLSRTL Version 11.2.0.4.0 – Production

Öncelikle 12c versiyonunun binarysini kurarak işe başlıyoruz;

Linux makinasında display’ ı kendi makinamızı gösterecek şekilde set edelim.

[oracle@Redhat70 12.1.0.2.0]$ export DISPLAY=192.168.1.2:0.0

Sonra 12c’ nin runInstaller’ ını başlatarak kuruluma başlayalım.

[oracle@Redhat70 database]$ ./runInstaller
Starting Oracle Universal Installer…

Checking Temp space: must be greater than 500 MB. Actual 8311 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16383 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<< Some requirement checks failed. You must fulfill these requirements before continuing with the installation, Continue? (y/n) [n] y

Next ile devam ediyoruz.

Yes ile devam ediyoruz.

Install opsiyonu ile devam diyoruz.

Single instance kurulumu yapıyoruz.

Next ile devam ediyoruz.

Enterprise kurulumu yapıyoruz.

Oracle_base ve home pathlerini istediğimiz path’ i set ederek devam ediyoruz.

Next ile devam ediyoruz.

Install ile kurulumu başlatıyoruz.

Close ile oracle 12c binary kurulumunu tamamlamış olduk.

Binary kurulumu sonrasında yeni oracle home altındaki database upgrade assistant ile 11g olan database’ imizi upgrade etmek için artık hazırız, Upgrade’ e başlamadan önce kontrol etmemiz gereken noktalar;

• Source database’ imiz de INVALID durumda component olmaması gerekiyor;

select comp_name, version, status from dba_registry ;

• Database ‘ de varsa DDL loging trigger ‘ ı mutlaka upgrade süresince disable edilmelidir.

• Deprecreated olmuş parametreler spfile’ den kaldıralım ;

select ‘alter system reset ‘||name|| ‘ scope=spfile ;’ remove_parameter from v$parameter where isdeprecated = ‘TRUE’;

• Upgrade edeceğimz db’ nin minumum memory’ si 2 gb ‘ ın altında olmamalıdır. (Minumum 2 gb memory gerekiyor)

• Upgrade önce’ sinde aşağıdaki işlemlerinde yapılmış olması upgrade süresini ciddi bir şekilde kısaltacaktır ;

PURGE DBA_RECYCLEBIN;
EXECUTE dbms_stats.gather_dictionary_stats;
exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
Truncate table AUD$;
Truncate table FGA_LOG$ ;

• Invalid obje kontrolü mutlaka yapılmalıdır,

— detay
select owner, object_name, object_type, status from dba_objects where status <> ‘VALID’;

— özet ;
select owner, object_name, object_type, count(*) from dba_objects where status <> ‘VALID’
group by owner, object_name, object_type;

select count(*) from dba_objects where status <> ‘VALID’;

• Mutlaka backup alınması gerekmektedir. (Hem database hemde binary backupı alınmalıdır)

• Upgrade başlamadan önce profile’ deki path’ ler yeni binary’ i gösterecek şekilde update edilir.

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/db/12.1.0.2
export ORACLE_PATH=/u01/app/oracle/db/12.1.0.2/bin
export ORA_NLS10=/u01/app/oracle/db/12.1.0.2/nls/data
export PATH=$PATH:$ORACLE_HOME/bin
export TMP=/u01/app/oracle/temp
export EDITOR=vi
export ORACLE_SID=oratest
export TMPDIR=/u01/app/oracle/temp
export TNS_ADMIN=/u01/app/oracle/db/12.1.0.2/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

PATH=$PATH:$HOME/bin:/u01/app/oracle/db/12.1.0.2/bin:/u01/app/oracle/db/12.1.0.2/OPatch
export PATH

Sanırım artık hazırız. Başlayabiliriz ;

[oracle@Redhat70 12.1.0.2]$ cd bin/
[oracle@Redhat70 bin]$ pwd
/u01/app/oracle/db/12.1.0.2/bin
[oracle@Redhat70 bin]$ export DISPLAY=192.168.1.2:0.0
[oracle@Redhat70 bin]$ ./dbua

Upgrade opsiyonunu seçerek devam ediyoruz.

Eğer sunucu üzerinde 11g olan birden fazla database’ imiz olsaydı burada hepsini görebiliyor olmamız gerekiyordu. Upgrade edilecek olan database’ inizi burada göremiyor iseniz mutlaka /etc/oratab dosyasını kontrol etmeniz gerekecektir. oratab dosyasında db’ lerinizin tümünü burada görebiliyor olmanız gerekir.

Upgrade sürecinde sıkıntıya yol açacak bir durum olup olmadığını bu sekmede test ediyor olacaz.

Upgrade işleminin nasıl yapılacağının set edildiği ekran, paralelliği kullanmak istiyormuyuz, upgrade sonunda time zonu da upgrade etmek istiyomuyuz, yine upgrade sonrasında istatistikleri güncellemek istiyomuyuz. Bunların hepsini burada set ediyoruz.

EM manager portunu set ediyoruz.

Upgrade sırasında datafile’ lerinde path’ ini değiştireceksek burda tarifliyoruz.

BU ekranda da hangi listenerı kulanacak isek onu da upgrade edebiliyoruz.

Upgrade öncesinde backup almadıysanız gui bu işi sizin adınıza bunu yapabiliyor.

Summary ekranı burda yapılan tüm settingleri tek bir liste halinde gördüğümüz ve onayladığımız ekran.

Upgrade işleminin statüsünü islediğimiz ekran.

BU ekran sonrasında aslında close ile upgrade’ i tamamladığımız bir ekranımız daha var.

Tüm bu işlemler sonrasında database’ imizi upgrade etmiş olduk.

Be Sociable, Share!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


+ iki = 3