Oracle database kullanıcısını unlock etme

Oracleda bir database’e bir kaç sefer yanlış parola ile bağlanmaya çalıştığınızda hesap kilitlenir. Veritabanına bağlanamaz ve şu şekilde bir hata mesajı alırsınız.

 

ORA-28000 The account is locked 

 

Kullanıcının unlock edilmesi için veritabanına dba olarak bağlanmanız gerekir. Buna yetkiniz yoksa yetkili biri ile görüşmelisiniz.

 

Dba olarak bağlanmak için windowsta Başlat/cmd enter ile çıkan konsolda  şu komutu yazmalısınız :

 

sqlplus  /  as sysdba 

 

Ardından kullanıcıyı unlock etmek için de aşağıdaki komutu girmelisiniz:

Alter user user_name identified by password account unlock;

 

Komutun çıktısı “user altered”  oldu ise işlem başarılı bir şekilde tamamlanmış demektir. Artık bu kullanıcı ile veritabanınıza yeniden bağlanmayı deneyebilirsiniz.

 

Bir Linux Komutu “nohup”

Ssh ile uzak bir sunucuya bağlandığımızda ve orada çok çabuk bitemeyecek bir konsol komutunu çalıştırdığımızda , konsoldan çıkış yapmamız gerektiği zamanlar işlemimiz sistem tarafından öldürülür ve işimiz yarım kalmış olur. Bu gibi bir durumda logout olmamıza rağmen işlemimizin devam etmesini sağlayacak bir linux komutu var.

nohup komut_adi &

Bu komutu verdiğimizde &(ampersant işareti) komutumuzun(komut_adi şeklinde belirttiğimiz komutun) arka planda devam etmesini, nohup ise çıkış yaptığımızda kill edilmesinin önlenmesini sağlar.

Tekrar giriş yaparsak ps aux dediğimizde komutumuzun çalıştığını görürüz.


			

Veri Ambarı Nedir ?

Veri Ambarı (Datawarehouse) konusuna değinelim biraz.

Barry Devlin’in tanımlamasıyla veri ambarı, farklı kaynaklardan toplanmış,son kullanıcının anlayabileceği ve ticari içeriklerde kullanabileceği hale getirilmiş tek, tam ve tutarlı veri kaydıdır.

Şu soruları ve benzerlerini cevaplamamıza yarar sağlar:

  • Elimizdeki yeni ürünü veya hizmeti hangi kullanıcı satın almaya daha yatkındır ?
  • En karlı müşterilerimiz ve ellerindeki ürünler nelerdir ?
  • En çok ve en az karlı ürünler hangileridir ?
  • Müşterilerimiz ileride hangi servis veya ürünleri isteyecekler ?
  • …. vs.

PyQt Kurulumu

Python biliyorsunuz ve PyQt ile arayüz programlamaya başlamak istiyorsunuz. Bir kurulum gerekli tabi ki. Ve kurulum için 2 seçenek var:

* Paketten kurulum

*Kaynaktan kurulum


Paketten kurulum için konsolda şu komutu yazmamız yeterli:

sudo apt-get install python3-pyqt4


Siteden dosyayı indirip derleme yolu ise şöyle:

 

 “build-essentialqt4-qmake ve qt4-dev-tools ” adlı paketler sistemimizde kurulu olmalı bu kurulum yolu için. Bu paketlerin kurulumlarından sonra önce SIP sayfasından SIP programını, sonra da PyQt sayfasından PyQt’yi indirip kurmalıyız.

 

SIP için  indirme linki —-> http://goo.gl/Pj5IJ ‘de sip-X.X.X.tar.gz

PyQt için indirme linki —->http://goo.gl/NASPj ‘de  PyQt-x11-gpl-X.X.X.tar.gz 

 

İndirme işlemlerinden sonra SIP dizinine girip sırası ile bu işlemleri yapıyoruz:

python3.1 configure.py

          sudo make

          sudo make install

PyQt  dizinine girip yine sırası ile aynı işlemleri yapıyoruz.

python3.1 configure.py

sudo make

sudo make install

 

Ve Pyqt kurulumu bitmiş oluyor.

 

Sonraki yazıda PyQt ile arayüz tasarlama kısmına geçeceğim..

PyQt Nedir ?

Python ile sadece komut satırını kullanarak programlar yazabilmemiz mümkündür. Ancak kullanıcıya bir grafik arayüzü de sunmak istiyorsak bu arayüzü tasarlayabilmek için ek kütüphaneye gerek duyulur. Python için bu imkanı sağlayan pek çok kütüphane mevcut:

 

Tkinter

PyGObject+GTK3

PyQt

 

Bunlar bu kütüphanelerin en önemlileri. Ve bunların içinde en güçlüsü de PyQT4 grafik arayüz kütüphanesi.

 

Peki PyQt ‘ nin temeli nereden geliyor ?

 

İsminin içinde de geçtiği gibi QT ile bir ilgi olmalı. Evet, doğru. PyQT, C++ ile geliştirilmekte olan QT isimli grafik arayüz kütüphanesinin python ile kullanılmasını sağlayan bir ara katmandır aslında.Teknik dilde buna “bağlayıcı” deniyor.

 

Bağlayıcı : Herhangi bir dil ile yazılmış olan bir kütüphanenin başka bir dil ile kullanılmasını sağlayan ara katman.


Bahsettiğim diğer kütüphaneler de tıpkı PyQt gibi bir bağlayıcıdırlar aslında. Ve bu kütüphanelerin hepsi açık kaynaklıdır, ücretsizce kullanabilirsiniz.

 

Ancak PyQt’yi onlardan ayıran bir özelliği var. Özgür olmayan bir yazılım geliştiriyorsanız PyQt için bir lisans ücreti ödemeniz gerekli. PyQt, geliştirilen yazılımın özgür olmasını bir ilke olarak kabul etmiş, bu koşula bağlı olarak lisans ücreti isteniyor.

 

Ayrıntılı bilgi için bakabilirsiniz : http://www.riverbankcomputing.co.uk/software/pyqt/license

 

Ve tabi ki PyQt kullanmak için olmazsa olmaz python bilgisidir. Python ile programlama yapabiliyor olmalısınız.

 

PyQt kurulumu ile devam edeceğim..

 

Üniversitenin son durağı

Üniversite biter de üniversite hakkında daha doğrusu üniversite hayatı hakkında bir şeyler yazılmadan olur mu ?  Olmamalı, o eksik kalmamalıydı. O halde basla dedim kendi kendime, basla ve gerisi gelsin tıpkı okulun baslayıp bittiği hızda yazılıversin bu yazı. O zamanları yaşarken çok da hızlı değildi aslında zamanın geçişi. Ömür böyle değil mi zaten ? Zorluklar yaşanırken “zor” , vakti geçince de “bu muymuş tüm mesele yani” dediğimiz şeyler değil mi zaten ? Anlık yaşamlar içindeyiz. Anlık düşünmekteyiz çoğunlukla. Ama anların çoğunu da yaşayamadan kaçırmaktayız, bu nasıl bir zıtlıksa. Buradan konuyu getirmek istediğim aslında üniversite boyunca kaçırılmayacak anlar olduğu ve o anların bir daha kesinlikle gelmeyeceği. Diyeceksiniz belki, o anlar hayatın her anında var diye. Ama bu da bir başka işte.

Üniversiteye ilk geldiğinizde ya çok meraklısınızdır, evinizden uzağa gitmenin heyecanı ile dolusunuzdur, coşkulusunuzdur.Ya da evden ayrılmaktan korkmuş, üzgün, endişeli ama bir yandan da kazanmanın mutluluğu ile dolusunuzdur. Sonuçta ikisinde de mutlusunuzdur. Biterken de ne çabuk demeyen yoktur bence. Ya da yok denecek kadar azdır. Peki ya arada geçen o zaman ? Nasıl akıverir ? Nerede, ne şekilde ? Tek başına bir mücadele, ve büyüdünüz sanırsınız. Yalnızlık büyüttü sizi.Öyle gibi ama değil. Bitip de kapıdan çıktığın an, şehri terk etme vaktinin geldiği o andan bahsediyorum, arkanda bir bebek bırakmışsın gibi hissedersin, bebeğin ağlama sesi kulaklarındadır ve geri bakmaman gerekir artık. Gerisi aslında ne kadar da güzelmiş, asıl büyüme evresi şimdiymiş anlarsın. Geç midir ? Hayır.

Peki üniversite nasıl olmalı ? Üniversite öncelikle gerçekten yaşamayı öğrenmeye başlanılan bir yer. Ve bir anlamda da meslek öğrenmek için temel adım. Hayatın geri kalanı için tüm temeller burada katılıyor bize. Bir üniversite meslek eğitimini iyi vermeli, sosyal olma imkanına sahip olmalı. Ve aslında esas görev kişinin kendisinde bana kalırsa. Kişi öğrenmeye açıksa nerede olsa bulur. Yeter ki ümit kırıcı şeyler olmasın, teşvik olsun. Üniversite yaşamım boyunca edindiğim tecrübeler, arkadaşlıklar mutlu edici.

Üniversiteye yeni başlayacak kişiler için söyleyebileceğim çok şey var ama özetle : Yeni bir hayat dönemeci bu sadece, hem de küçük bir dönemeç.

Python ile Config Dosyalarını Parse Etme Yöntemi

Bir config dosyasını praçalamam gerekiyordu. Yazdığım kod python dilindeydi. Ve ben de pythonda config dosyalarını nasıl parçalayabilirim diye araştırdım. Bunun için ilk gördüğüm yöntem  configparser modülü oldu. Bu yönteme göre configürasyon dosyalarını  parçalamak için aşağıdaki ve ona benzeyen yöntemler olduğunu okudum :

 
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('example.cfg')
print config.get('Section1', 'foo', 0)
print config.get('Section1', 'foo', 1)

Bu okuduklarımı denedim ancak bir türlü olumlu sonuç alamadım ve sürekli olarak config.read(“…”) kısmında hata aldım. Aldığım hata şuydu:

hata1

Bu hatayı çözmeye çalışırken başka bir yönteme rastladım, denedim ve sorun çıkmadığını gördüm. Diğer hatayı hala çözemedim ama şu yol işime yaradı. Siz de bu hata ile karşılaşırsanız şu kod bloğu işinizi görebilir diye düşünüyorum:

 

from configobj import ConfigObj
config = ConfigObj("configfile_path")
value = config['section_name']['option'_name']