Catalog Upgrade Sonrası ORA-15204 Hatası

Oracle database upgrade işleminin ardından RMAN ile backup alınırken ASM disk grupları ile Database versiyonunun uyuşmamasından ORA-15204 hatası alınabilir.

Database üzerinden compatible sürümü aşağıdaki gibi kontrol edilir. 

SQL> show parameter compatible; 

NAME          TYPE    VALUE
compatible    string          11.2.0.0.0

ASM disk gruplarının compatible kontrolü:

ASMCMD> lsattr -l -G RECOC1 compatible.rdbms 

Name Value
compatible.rdbms 11.2.0.0.0
ASMCMD> lsattr -l -G DATAC1 compatible.rdbms 

Name Value
compatible.rdbms 11.2.0.4.0

DATAC1 ve RECOC1 disk gruplarının farklı versiyonda olduğu dikkatinizi çekmiş olmalı. Bu örnekte database’e ait tüm datafile’lar RECOC1 disk grubunda, spfile DATAC1 disk grubunda bulunmaktadır.  Database backup işlemine başladığında spfile’nin backup’ı otomatik alınır. Spfile database ile uyuşmayan disk grubunda olduğundan dolayı backup işlemi başarısız olmaktadır.

Compatible sorunu çözülene kadar spfile’nin backup’ı aşağıdaki gibi alınabilir.

SQL> create pfile ='/u02/backup/spf_%d_%T_%s_%p.bck' from memory;

Database’in compatibility parametresini 11.2.0.4.0’a set edildiğinde spfile backup alma işlemi başarılı olacaktır.

SQL> alter system set compatible=’11.2.0.4.0′ scope=spfile sid='*'; 
SQL> shutdown immediate;
SQL> startup;

English Grammar Note 2

RELATIVE CLAUSES

  • Cümlenin ortak öznesi bulunur.
  • Bir ana cümle, bir yan cümle.
  • Ortak öznenin yanına “who/which/that” getirilir.
  • who: insanlar, which: hayvanlar ve cansız nesneler, that: hepsi için kullanılır.
  • who/which/that kullanılacak yerin bir önceki kelimesi mutlaka isim olmalıdır.

Eg: “Pizza yiyen adam, hamburger yemeyi sever”

“Adam pizza yiyor. (The man is eating a pizza.)” “Adam hamburger yemeyi sever.(The man likes eating hamburger)”

The man who is eating pizza likes eating hamburger.

“Yediğim yemek çok iyiydi.”: “Yemek yedim”, “Yemek çok iyiydi”: “The meal which I ate was very nice.”

TAG QUESTIONS (ONAYLAMA SORULARI)

Öyle değil mi?

Türkçe de bu cümleyi zamandan ve türden bağımsız olarak her cümleyle kullanabiliyoruz. İngilizce de cümlenin zamanına, türüne (+,-), öznesine bakmamız gerekiyor.

Şimdiki zaman: O şu anda havuzda yüzüyor, değil mi? (She is swimming in the pool right now, isn’t she?).

Onaylama sorusunda özel ad kullanılmaz. I, you, we, they, she, he, it kullanılır.

-Simple present tense (do, does)-

Some of the students knew the answer, didn’t they? (Birçok öğrenci ve simple past tense)

(+): Her father always comes home late, doesn’t he? (Babası sürekli gecikiyor, değil mi?)
(-): She hasn’t eaten breakfast yet, has she? (Henüz kahvahtı yapmadı, değil mi?)

Modals:
– We should use a sunscreen, shouldn’t we?
– She must buy herself a computer, mustn’t she?
– They may be late, don’t you think so / don’t you agree?
(may be/might be kullanıldığı zaman mayn’t veya mightn’t gibi kullanımlar olmadığından don’t you think so veya don’t you agree kullanılır)

Will You:
– Olumlu ve olumsuz emin ve rica cümlelerinde WILL YOU kullanılır.
– Rica cümlelerine kibarlık katmak amacıyla WOULD YOU / COULD YOU kullanılabilir.

There:
– Bu tür cümlelerde özne yerine THERE kullanılır.
– There is rainbow in the sky, isn’t there?

İşaret Zamirleri:
– This, that, these, those.
– Bu tür cümlelerde this ve that için it, these ve those için they öznesi kullanılır.
– This is your house isn’t it?
– Those are your books, aren’t they?

Belgisiz Zamir:
– Someone, no one, everyone…
– Bu tür cümlelerde özne olarak they kullanılır.
– Someone entered the house, didn’t they?
– Everybody was happy, weren’t they?

I am:
– Aren’t kullanılır.
– I am your friend, aren’t I?
– I am your friend, an I not? (daha resmi)

Bazen tag question kısmı, cümle olumlu olmasına rağmen olumsuz hale getirilmediyse ima, sevinç, sinirlenme belirtiyordur.
– She knows what she is talking about, does she? (ima)
– She wants to break up with me, does she? (anger)

IF CLAUSES / CONDITIONALS (Koşul Cümleleri)

  • Türleri: 0-1-2-3 (gerçeklik, hayal olma durumuna bağlı olarak)
  • Ortak özellikleri içerisinde en az 2 cümle bulundurmalarıdır.
  • Koşul bümlesi (if cümlesi), temel cümle

TYPE 0:
 iki cümle de geniş zamanda kurulur.
– Genel geçer durumlar belirtilir.
– If you eat too much, you get fat.
– İhtimal anlamı yoktur. Bu yüzden fizik kurallarını açıklarken kullanılır.
– If you boil the water, it evaporates.
– If you pour oil into water, it floats.
– When sözcüğünün if yerini tutabildiği bütün cümleleri type 0 ile kullanabiliriz.

TYPE 1:
– Farklı tense’ler kullanılarak oluşturulabilir ancak en yaygını Geniş Zaman, Will şeklindedir.
– Olasılık anlamı vardır.
– If have enough time tomorrow, I will go shopping.
– If you don’t answer the questions correctly, you will fail.
Geniş Zaman, Modal:
– If he doesn’t win the election, he can’t be the mayor.
– If you like animals, you shouldn’t wear fur.
Emir Cümlesi, Geniş Zaman:
– Use your umbrella, if it rains.
– Don’t get into the river, if you don’t know how to swim.

MODALS VERBS

PAST CONTINUOUS TENSE (GEÇMİŞ ZAMANDA DEVAMLILIK)

  • Geçmişte devamlılık gösteren tensdir. Geçmişte başlayıp, belli bir süre devam eden işleri anlatmak için kullanılır. Türkçe de “Sürekli geçmiş veya Şimdiki zamanın hikayesi” diyoruz.

(+): Subject + aux Verb + Ving + Complement
(-): Subject + aux Verb + not + Ving + Complement
– It was raining this morning.
– It was snowing yesterday.
– I was writing a book
– You were going to office.
– She was a little girl five years ago.

Past Continuous ile Zaman Zarfı:
– I was sleeping when you come.
– I was reading an interesting book, last night.
– He was going to school last year.

PRESENT PERFECT TENSE (YAKIN GEÇMİŞ ZAMAN)

SubjectAux VerbVerbNesne/SıfatYer ZarfıZaman Zarfı
I
You
We
They
havecleaned
Washed
Seen
Been
the house
your car
him



here
just before
this morning
twice this week
for 2 days
He
She
It
hashad
read
rained
the car
two books
a lot


in London
since monday
so far
recently/lately

– I’ve, She’s şeklinde kısaltılabilir.
– Already (çok / zaten), Always (hep / her zaman), just (az önce), ever (hiç), never (hiç / asla)
– Never kullanıldığında cümle olumlu kurulur ancak anlam olarak olumsuzdur.

Long Tipi Kolonu Olan Tabloların Taşınması

Oracle db’de bir şemanın tablolarını db link ile başka bir db’ye yere aktarmam gerekiyordu. Bu işlemi yaparken long tipi kolonu olan bir tablonun bu yöntemle aktarılmadığını fark ettim.

Long tipi kolonu olan tabloyu aktarmak için sadece o tabloyu export import yapmak gerekiyor.

Bu örnekte HR şemasından export ettiğim tabloyu EMRAH şemasına import edeceğim. 

Export/İmport edilecek tablo:

CREATE TABLE HR.COMMENT(
  C_ID RAW(16),
  C_TITLE VARCHAR2(155),
  C_CONTENT LONG,
);

Export/İmport şlemi için db de tanımlı bir directory olmalıdır. Bu örnekte tanımlı directory HOME_DIR=’/home/oracle’ olarak set edilmiştir.

$ expdp userid="hr/hr" DIRECTORY=HOME_DIR TABLES=HR.COMMENT DUMPFILE=hr_comment.dmp LOGFILE=hr_comment_exp.log ROWS=Y

Bu işlem sonucunda “/home/oracle” dizini altında “hr_comment.dmp” dosyasının oluşması ve long tipindeki kolonun verileri de export edilmiş olması gerekiyor.

HR şemasında export edilmiş tabloyu EMRAH şemasına import işlemi aşağıdaki gibi yapılmaktadır.

$ impdp userid="emrah/welcome1" DIRECTORY=HOME_DIR DUMPFILE=hr_comment.dmp LOGFILE=hr_comment_imp.log REMAP_SCHEMA="HR:EMRAH" ROWS=Y

REMAP_SCHEMA parametresi yazılmadığı taktirde import HR şemasına yapılacaktır. REMAP_SCHEMA parametrenin kullanımı “default_şema:yeni_şema” şeklindedir.