1 Eylül 2010

1 Comment

Ubuntu, Oracle XE ve SQL Developer

Ubuntu üzerine Oracle XE kurup onda çalışma yaptığımı daha önce yazmıştım. Karşılaştığım bir iki sorunla ilgili olarak bulduğum çözümleri paylaşmak istedim.

Oracle XE yüklenince, XWindows ana paneline gerekli menüleri ekliyor, ama “Start Database” dediğinizde veritabanı açılmasına rağmen listener açılmıyordu. Terminal penceresi açıp listener’ı manuel olarak başlatmaya çalışınca hatayı gördüm:

Listener programı listener.log dosyasına yazamıyordu. Dosyanın yetkilerini kontrol edince sadece oracle kullanıcısının yazma yetkisi olduğunu gördüm. Kendi kullanıcımı hali hazırda DBA grubuna atamış olduğumdan, root oldum ve dba grubuna yazma yetkisi verdim:

# chmod g+w /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log

Devamını Okuyunuz...

26 Ağustos 2010

0 Comments

Oracle 8i ve ORA-00257: archiver error

Legacy sunucularımızdan birinin bağlantı yapılmak istendiğinde ORA-00257 hatası verdiğini fark ettim. Üzerinde Oracle 8i koşan sunucunun disklerinde yeterince boş alan olmasına rağmen archiever çalışmıyordu. Oracle 8i’de, db_recovery_file_dest_size parametresi de yok, bu tip bir sınırlama olmadığı halde ve diskler boşken bu hatanın alınmaması gerekirdi. Alert logları inceleyince şu hatayı gördüm:

ARC0: Beginning to archive log# 2 seq# 85055
ARC0: Failed to archive log# 2 seq# 85055
Wed Aug 25 10:43:21 2010
Wed Aug 25 10:43:10 2010
ARC0: Beginning to archive log# 1 seq# 85051
ARC0: Archiving not possible: No primary destinations
ARC0: Failed to archive log# 1 seq# 85051

Devamını Okuyunuz...

25 Ağustos 2010

0 Comments

Oracle, Google, Adobe, OpenSolaris ve Java üzerine

Bir Oracle DBA gözüyle son günlerde Oracle ile ilgili yayınlanan haber başlıklarına hızlıca bir göz atmak ve kendimce yorumlamak istedim. Gündemdeki en önemli konu elbetteki Oracle ile Google arasında açılmış olan dava. Oracle’ın açtığı dava hakkında zaten bir yazı yazmıştım. Dava hakkında taraflardan açıklamalar gelmiş. Google, Oracle’ı Java topluluğuna ve açık kaynak destekçilerine havale ediyor:

http://www.theregister.co.uk/2010/08/16/google_oracle_android_lawsuit/

Google bu davayı, Oracle’ın açık kaynak topluluğu ve Java geliştiricilerine karşı açtığı bir dava olarak göstermek istiyor. Google gibi bir dünya devinin hukuksal mücadeleyi bir yana bırakıp hedef saptırmasını anlamakta zorluk çekiyorum. Dava için öne sürülen savlar çok kuvvetli olduğu için Google mahkemede kaybedeceği davayı, toplumun gözünde kazanmaya çalışıyor olabilir mi? Google bu manevralar ile ne  elde etmeyi umuyor? Haklıysan milyon dolarlık avukat ordunla zaten bu savaşı kazanırsın neden açık kaynak topluluğundan destek bekliyorsun? SMS ile mesaj atıp sana $5 avukat parası mı vereceğiz?

Devamını Okuyunuz...

23 Ağustos 2010

1 Comment

Veritabanı hesabını kim kilitliyor?

Ceviz.net Veritabanı ve SQL bölümünde sorulan bir soru:

Arada bir oracle de hatalı girişten oracle hesabı kilitlenmesi yaşıyorum hatalı girişi yapan makınanın ip adresini bulmam gerekiyor bu bilgiye nasıl ulasabilirim?

Oracle kullanıcısının şifresi değiştirildiğinde sıklıkla karşılaşılan durumlardan biri. Muhtemelen eski kullanıcı şifresi ile veritabanına bağlanmaya çalışan bir istemci var ve bu yanlış şifre denemeleri hesabın kilitlenmesine yol açıyor. Hesabın kilitlenmesini önlemek için kullanıcının ait olduğu profile ait FAILED_LOGIN_ATTEMPTS parametresini UNLIMITED olarak değiştirebilirsiniz:

SQL> ALTER PROFILE profil_adi LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

Devamını Okuyunuz...

21 Ağustos 2010

1 Comment

APEX 4.0 ve Yenilikler

APEX 4.0 çıkalı 2 ay oldu ama bu yeni sürüm üzerine yazı yazmaya ancak vakit bulabildim. Aslında APEX 4 üzerinde bir süredir test yapıyordum çünkü Oracle’ın apex.oracle.com sitesinde deneme hesabına sahibim. Buna karşın, APEX 4′ü bilgisayarıma kurmadan, sadece kısa süreli yaptığım online testlerle üzerine bir şeyler yazmak istemedim. Kurulum tahmin edeceğiniz gibi önceki sürümle aynı. Ubuntu’ya APEX kurulumunu anlattığım yazıdaki önergeleri takip ederek rahatlıkla kurulumu yapabilirsiniz:

http://www.gokhanatil.com/2010/05/ubuntuya-oracle-xe-ve-apex-yuklemek/

Giriş sayfasının ekran görüntüsünden anlaşılacağı üzere APEX, web 2.0 ile gelen tasarım şablonlarına adepte olmuş bu yüzden daha modern görünüşlü uygulamalar geliştirebileceğiz.

Devamını Okuyunuz...

19 Ağustos 2010

2 Comments

Oracle kullanıcıları için FriendFeed Grubu

Bir kaç gündür Friendfeed’i aktif olarak kullanmaya başladım ve şimdi bu kadar zamandır nasıl kullanmadığıma şaşırıyorum. Aynı konularla ilgilendiğiniz kişilerin yazılarına erişmek, takip etmek, fikir paylaşımında bulunmak friendfeed ile çok kolay. FriendFeed’e Oracle ile uğraşan Türk uzmanların bloglarını eklediğim bir grup oluşturdum. Bu gruba üye olarak uzmanların sayfalarına eklediği yeni yazılarından anında haberdar olabilirsiniz.

Grup adresi: http://friendfeed.com/oracleturkiye

Eğer Oracle ile ilgili bir blogunuz, web sayfanız varsa bana ulaşın, sizin sayfanızdaki feedleri de bu gruba ekleyelim.

Devamını Okuyunuz...

13 Ağustos 2010

1 Comment

Oracle, Google’ı Dava Ediyor

Oracle, Google’ın Android işletim sisteminde kullandığı Java platformunun, telif haklarını ihlal ettiği iddiasıyla dava açtı. Oracle, patent ihlalinin engellenmesi için Android ürünlerinin satışının ve reklamlarının durdurulmasını, Google’ın tazminat ödemesini istiyor.

Konuyla ilgili çeşitli iddialar var. Bir kısım, bu davanın Oracle’ın Java üzerinden para kazanmak isteğiyle ilgili olduğunu düşünüyor ve bu yüzden Oracle’ın hareketini Java’ya vurulan bir darbe olarak görüyor. Sun’ın satın almadan önce bile sürekli Java’ya olan desteğinden bahseden Oracle’ın,  Java’dan gelir elde etmeye çalışarak Java topluluğunu karşısına alacağını hiç sanmıyorum.

Diğer bir iddia ise Oracle’ın, Google’a karşı Apple’a destek olduğu. Android tabanlı akıllı telefonların bu yılın 2. çeyreğinde %27′lik pazar payına ulaşarak, iPhone’un %23′lük pazar payını geçmiş olması yüzünden, Oracle’ın Android’in yükselişini engellemek için bu yola başvurduğu söyleniyor. Bunu desteklemek için Apple’ın patronu Steve Jobs ile Oracle’ın patronu Larry Ellison’ın yakın arkadaş olmaları delil gösteriliyor ama ben bu seviyedeki firmaların “bir arkadaşa kıyak” yapmak adına bu derece önemli manevralar yapmayacağı düşünüyorum.

Devamını Okuyunuz...

12 Ağustos 2010

2 Comments

Data Guard için TCP Socket Buffer Boyutunun Hesaplanması

Alejandro Vargas’în blogunda yayınlanan bir yazı dikkatimi çekti. Fiziksel Data Guardlarda optimum TCP scoket buffer boyutunu hesaplamak için çok basit bir formül vermiş.

Optimum socket buffer boyutu = (Bant genişliği * round trip time (rtt) * 3)

Bant genişliği: Primary ile secondary sunucular arasındaki iletişimi sağlayan network bağlantısının hızı.

Round Trip Time: İki sunucu arasında paketlerin gidip gelme (ping) süresi

Bu değeri set etmemiz, sunucular arasında archivelogların transferlerinin daha sağlıklı ve hızlı gerçekleşmesini sağlayacak. Formülün mantığını aslında basit. Bant genişliği ile paketin ulaşın süresini çarparak  gerçek gönderim hızımızı buluyor ve bunu sabit bir katsayı ile (3) çarpıyoruz. Alejandro Vargas, neden 3 kullanıldığını açıklamamış. Aslında genelde network otoriteleri, tcp socket bufferını hesaplarken bu katsayının 2 olarak alınmasını öneriyor ama biz Vargas’ın Oracle konusundaki deneyimlerine güvenerek 3 alacağız.

Formülü örnek bir senaryoda kullanalım:

Devamını Okuyunuz...

15 Temmuz 2010

1 Comment

MS SQL Server’da Linked Server Kullanan Sorgularda Performans

Eğer Microsoft SQL Server üzerinde linked server tanımlayarak Oracle veya başka bir veritabanına bağlanıyorsanız yazdığınız sorgularda performans problemleri yaşayabiliriz. Örneğin aşağıdaki sorgu tablonun tutulduğu Oracle veritabanında 30 ms’de sonuç döndürürken, bu sunucuya linked server ile veritabanı bağlantısı yapmış olan Microsoft SQL Server üzerinde 5 saniyede sonuç döndürüyordu:

SELECT COUNT (*) SAYI
FROM [DBLINK_ADI]..[SCHEMA_ADI].[TABLO_ADI]
WHERE A <> ’00′ AND B = ‘TELEFON’ AND (C > ’2010-07-12′ OR D IS NULL )

Sadece 1 satır sonuç döndüren bir sorgunun network’den etkilendiğini düşünmek zor. Aynı linked server üzerinden ve aynı tablodan sorgu yapıp yine 1 satır döndüren aşağıdaki sorgu ise 50 ms’de sonuç döndürüyor:

SELECT COUNT (*) SAYI
FROM [DBLINK_ADI]..[SCHEMA_ADI].[TABLO_ADI]

Devamını Okuyunuz...

2 Temmuz 2010

0 Comments

Problem : ORA-119, ORA-132, ORA-1078

Bu gün, production sunucularımızdan birinde veritabanı yaratırken ORA-119, ORA-132 ve ORA-1078 hatalarını aldım. Listener’ın hali hazırda ayakta olduğunu bildiğimden “ignore” ile devam etmeye çalıştıysam da veritabanı oluşturulamadı ve DBCA ekranına geri döndüm. Bu tip hataları “tekrar deneme” yöntemiyle çözmeye çalışmak Oracle ile uğraşıyorsanız %99 ihtimalle işe yaramaz. %1 ihtimalle çalışsa bile, “şans eseri” elde edilen başarılar uğraştığınız yazılımın görevi ve önemi yüzünden içinize hiç sinmez. Bu yüzden deneme yanılma yerine, her zaman için net olarak sorunu tespit etmek ve çözümünü bulmak gerekir. Tahmin edeceğiniz üzere, deneme yanılma yönteminin işe yaramayacağını çok iyi bilmeme rağmen iç güdüsel olarak aynı şeyi 2 kez denedim. Yaklaşık 5 dakikalık bir zaman kaybından sonra, deneme yanılmalarla daha fazla vakit kaybetmeden, google ve metalink’de araştırma yaptım ve Metalink sayesinde çözüme ulaştım.

Devamını Okuyunuz...