12c New Features : Pluggable Database Restore – Recover

Aslında bu yazıyıda bir anlamda new features olarak düşünebiliriz. Sonuçda container database 12c ile birlikte geldi. 12c öncesindeki versiyonlarda standalone database yapısı olduğundan her bir database için ayrı bir backup alır ve o backup’ ı kullanarakda yine o database için restore işlemlerimizi yapıyoruz. 12c ile bilirkte yapı RMAN tarafında biraz değişti. Örneğin bir container database’ iniz ve altında bir sürü pluggable database’leriniz olduğunu düşünürsek burda sadece container database’ in backupını alıp sonrasında bu backup içerisinden istenilen pluggable database’ i restore edebilirsiniz. Yani sizin bir container db altında 10 tane ppluggable db’ iniz varsa her biri için ayrıca backup almanız gerekmiyor. İsterseniz tabi ayrı ayrı da alabilirisiniz.

Container database’ in backupı alındığında burada kullanılan pluggable database’ lerden bir tanesini nasıl restore edebiliriz ona bakalım ;

Spfile ve controlfile container bazında olduğu için onları sonrasında anlatıyor oluruz. Şimdi databafile’ lerden başlayarak testimizi yapmaya çalışalım ;

Restore testi yapacağımız database’ i mount moda alıyoruz;

SQL> alter session set container=pdbt11;
Session altered.

SQL> shu immediate
Pluggable Database closed.

SQL> select name,dbid,open_mode from v$pdbs where name =’PDBT11′;
NAME DBID OPEN_MODE
—————————— ———- ———-
PDBT11 87534229 MOUNTED
Continue reading

12c New Fetures : Read Any Table Yetkisi Kullanımı

Oracle 12c versiyonu ile birlikte gelen read any table yetkisinin neyi ifade ettiğinden ve daha önceki versiyonlarda sıkça kullandığımız Select any table yetkisinden ne farkı olduğunu anlatmaya çalışacağım.

11g ve daha önceki versiyonlarda kullandığımız (12c versiyonu ile de kullanmaya devam ediyoruz bu arada) Select any table yetkisini bir kullanıcıya verdiğimiz de aslında o kullanıcının select attığı tabloyu LOCK edebilme yetkisini de vermiş oluyoruz. Kullanıcı aslında bunu iki şekilde sahip olmuş oluyor. Test edelim ;

Test1 adında yeni bir user create edip sadece bir tabloya select yetkisi verip neleri yapabildiğine bakalım.

===> create user test1 identified by test1
User created.
===> grant connect to test1
Grant complete.
===> grant select on kamil.test_table to test1
Grant complete.

Test tablomuzu bu user ile lock etmeye çalışalım (lock koymaya çalışalım);
Continue reading

Oracle Database Upgrade 11g to 12c (command line ile)

Upgrade öncesinde oracle 12c binary kurulumunu dbua ile upgrade’ i anlattığım aşağıdaki linkde zaten belirtmiştim. Dolayısıyla burda direk upgrade işlemini yapıyor olacağız.

http://www.kamilturkyilmaz.com/2015/06/27/oracle-upgrade-11g-to-12c-dbua/

Upgrade sırasında loglarımızın tek bir dizine çıkması için bir dizin create edip ordan devam edelim;

[oracle@Redhat70 dbs]$ mkdir -p /u01/12c_upgrade
[oracle@Redhat70 dbs]$ cd /u01/12c_upgrade/
[oracle@Redhat70 12c_upgrade]$

Manuel upgrade yapacağımız için ve burda user-friendly bir arayüzümüzde olmadığından upgrade öncesi kontroller son derece kritik önem arzediyor. Bunun için 12c binarysi altında bulunan iki tane sql file’ imiz var onları kullanıyor olacağız. Öncelikle bu iki dosyayı create ettiğimiz dizine kopyalayalım;

[oracle@Redhat70 dbs]$ cp /u01/app/oracle/db/12.1.0.2/rdbms/admin/preupgrd.sql /u01/12c_upgrade/.
[oracle@Redhat70 dbs]$ cp /u01/app/oracle/db/12.1.0.2/db_1/rdbms/admin/utluppkg.sql /u01/12c_upgrade/.

Source oracle_home altından database’ e sys ile bağlanıp preupgrd.sql ‘ i çalıştıracağız. Utluppkg.sql’ ile ilk sql kullandığından dolayı onuda almak durumunda kaldık.

[oracle@Redhat70 12c_upgrade]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed May 6 22:17:45 2015
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> spool preupgrade.txt
SQL> @preupgrd.sql

Loading Pre-Upgrade Package…
Continue reading

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
Continue reading