ASM’ de Diskgroup’ a Eklenmiş Olan Bir Diski Çıkartmak

Burdaki örneğimiz de daha önce disk ekleyerek büyütmüş olduğumuz bir diskgroup’ undan herhangi bir diski geri almaya (başka bir yerde kullacağımızı varsayabiliriz) çalışalım ;

SQL> SELECT name, header_status, path, MOUNT_STATUS FROM V$ASM_DISK;
NAME HEADER_STATUS PATH
——————– ——————– ——————————
REDO02_0000 MEMBER /dev/asm007p1
REDO01_0000 MEMBER /dev/asm006p1
ARCH01_0000 MEMBER /dev/asm005p1
DATA01_0001 MEMBER /dev/asm002p1
DATA01_0000 MEMBER /dev/asm001p1
CANDIDATE /dev/asm003p1
CANDIDATE /dev/asm004p1
7 rows selected.

DATA01_0001 olarak etiketlenmiş olan diskimizi bu disk group dan tamamen çıkartmaya çalışalım ;

SQL> ALTER DISKGROUP DATA01 DROP DISK DATA01_0001 ;
Diskgroup altered.

Diskimizi bu diskgroupdan çıkartmış olduk.
Continue reading

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