Oracle tablolarını .dmp uzantılı almak

Merhabalar,

Oracle içinden tabloları çekip yazdığınız projede kullanmak istediÄŸinizde, özellikle Java uygulamalarında “.dmp” uzantılı dosyaları kullanmak büyük kolaylık saÄŸlıyor. Tabiki tablo çekme yöntemlerinden en performanslısı bu olmayabilir, benim karşılaÅŸtırmam geçenlerde aldığım “.sql” uzantılı dosyam ile ÅŸimdi aldığım “.dmp” uzantılı dosyam. Ee denemeden bilemeyiz, kolları sıvayıp denemeliyiz.

Benim ve çevremdekilerin yaptığı en büyük hatayı sana aktarmak isterim sevgili okuyucu. Ben her zaman komut satırından iÅŸlemleri yapma taraftarıyım. Zaten database içinden tablo çekmek, diÄŸer bir adıyla export iÅŸlemi komut satırı ile yapılması gereken bir iÅŸ. Ama bu iÅŸi yaparken otomatik olarak SQL*Plus’a baÄŸlanıp onunla iÅŸlem yapmaya çalışıyoruz. Ama SQL*Plus’ta export yapacak yetenek yok. :) Bu iÅŸ için bize sadece sevgili terminal, Windows’ta isek sevgili cmd yardım edecek. Evet sadece bu kadar!

Terminali açıp;

EXP HELP=Y

yazarsak, bize gelen parametreler doğrultusunda istediğimiz şekilde export işlemini yapabiliriz. Hatta orada bir iki örnek kullanım bile göreceksiniz.

EXP SCOTT/TIGER TABLES(EMP,DEPT)

BulunduÄŸunuz dizinde “EXPDAT.DMP” ÅŸeklinde bir dosyaya istediÄŸiniz tablo isimlerini girerek dosyanıza yazdırabilirsiniz.

Renkli günler…

SQL Developer ile Oracle database tablolarını alma

Merhabalar,

Oracle malum derya deniz. Tablespace-ler, tablolar, şemalar falan filan derken hem bilgisayarımızda hem de gerçek anlamda şirketlerde hem fiziksel olarak hemde sabit diskte çok yer kaplıyor. Ve database taşınması, kopyalanması işlemleri meşakatli oluyor. Yazılım grubumuzda geçen günkü problemimiz; oluşturduğum veritabanını nasıl başka bilgisayara atacağız? İşi senaryoya dökecek olursak, ben DBA olarak (hoşuma gitti :) ) yazılımcı arkadaşlara tablolarımı iletmeliyim ki onlar yazdıkları programı veritabanı ile ilişkilendirsinler.

Bunun için SQL Developer güzel bir araç. (Bu çalışmaların hepsi Windows ortamında yapılmıştır.) Şuradan indirdiğim SQL Developer ve şuradan indirdiğim JDK bu iş için gerekli programımız. Önerim, önce SQL Developer indirme ile işe başlamanız eğer sisteminizde JDK yoksa bunun üzerine JDK indirmeniz. Ve yönergeleri mutlaka okuyun derim ben.

Kurulum iÅŸlemi bitince SQL Developer programını açın. Sıra veritabanımıza baÄŸlanmaya geldi. “New Connection” seçeneÄŸi ile yeni bir baÄŸlantı açıyoruz. “Connection name” olarak kendinize göre bir ad verin, altında “Username” ve “Password” kısımlarına veritabanınızda hangi kullanıcı ile baÄŸlantı açacağınızı yazın. “Hostname” olarak localhost, “Port” olarak 1521 otomatik gelecektir. Radio button-seçimi ile “Service name” seçeneÄŸini aktifleÅŸtirip database-imin ismi olan “orcl”‘yi girdim. Altta “Connect” butonu ile veritabanı baÄŸlantınızı gerçekleÅŸtirin.
Capture1

 

BaÄŸlantı saÄŸlanınca sol taraftaki sidebar-da veritabanı baÄŸlantınız gözükecektir. Buradan iÅŸlem yapacağınız tabloya saÄŸ tıklayarak “export” seçeneÄŸini kullanabilirsiniz. Böylece belirttiÄŸiniz bir yere .sql uzantılı olarak bir dosya oluÅŸacak ve bunun içeriÄŸinde sizin tablo bilgileriniz yer alacaktır. İsterseniz “Ctrl” ile tablo seçimi yapıp tüm tablolarınızı da tek bir sql dosyasına aktarabilirsiniz.

Bundan sonra .sql uzantılı dosyanızı projenizde kullanabilirsiniz.

Renkli günler…

Kitap – Teoman Dinçel’in Oracle 11g kitabı hakkında

Oracle-11g-Kurun-Calistirin-Kullanin-Yonetin__30820853_0Merhabalar,

1 aydır zevkli uÄŸraşım olan Teoman Dinçel’in Oracle 11g kitabını bitirdim. Kitap Oracle’a baÅŸlangıç için güzel bir giriÅŸ yapmış diyebilirim. Aldığım workshop I eÄŸitimi ardından bu kitabı kurcalamaya baÅŸladığımda tüm anlatılanları anladım. Ve kitap içerisindeki verilen minik örnekleri rahatça gerçekleyebildim.

Kitabın ilk amacı, Oracle veritabanı yönetim sistemine giriÅŸ ve onu diÄŸer veritabanı yönetim sistemlerinden ayıran özellikleri göstermek. Sonrasında SQL konusuna giriÅŸ yapılıyor ve örneklerle sürekli kullanılan SQL komutları açıklanıyor. Kitabın en arkasındaki “Bir Sonraki Adım” baÅŸlıklı kısmı da ayrıca çok beÄŸendiÄŸimi söyleyebilirim.

İlk amacı yol göstermek, sonrasında biraz SQL ile boğuşmamızı sağlayan ve Oracle veritabanı mimarisini anlatan bu kitabı okumanızı tavsiye ederim.

Türkiye’de Oracle ile ilgili Türkçe bir kitap bulmak zor. Ve artık İngilizce’nin zamanı! Bugün sipariÅŸ verdiÄŸim kitabın ismi Oracle Database 11g – Underground Advice for Database Administrators. Bu kitabı da baÅŸarıyla bitirirsem mutlaka blogumda incelemesini yazacağım.

Renkli günler…

Defterimden Notlar I – Oracle Instance

Merhabalar,

Bu yazı dizisinde sizlere Oracle mimarisi, işlemleri ve yönetimi ile ilgili okuduğum makalelerden, yazılardan aldığım notları paylaşacağım. Bu yazdıklarımın hem size bir yol olmasını hem de bana hatırlatıcı ufak anektotlar olmasını isterim.

Bazen anlaya anlaya saatlerce okuyoruz ama okuduklarımıza şöyle bir tepeden bakıp onları tablolaştırmıyoruz. Bu yazımda ayrıntılara girmeden Oracle Instance nedir ve neler içerir onları anlatacağım.

Instance, çalışan veritabanımızdaki SGA, PGA ve arka plan işlemlerinin bir araya gelmesi ile oluşan yapıdır. Oracle veritabanı başlayınca instance başlar.

SGA ( System Global Area ) RAM üzerinde tahsis edilen sistem çalışma alanı.

PGA ( Program Global Area ) SGA içinde kullanıcılara tahsis edilen yer.

Hemen genel tablomuzu yapalım.

oracleInstance

Renkli günler.

Oracle Sohbetleri V – Oturum içinde Türkçe dil desteği

Merhabalar,

Bir çok uzmanın önerdiÄŸi gibi Oracle’ı İngilizce kullanmak onu öyle anlamak gerekir. Piyasaya bakınca sadece bir iki kitabın Türkçe olması da bunu doÄŸrular nitelikte. Ama bazen alacağınız hatalarda siz de benim gibi çaylaksanız, sizin de Türkçe desteÄŸine ihtiyacınız var demektir.

Oracle’da iÅŸlemlerimizi yaptığımız yer “session” diye tabir edilen Türkçe’si “oturum” olan birimdir. Session üzerinde yaptığımız deÄŸiÅŸiklikler de sadece session içinde kalır ve sistemi tekrardan baÅŸlattığımızda tekrar eski haline geri döner. Bu bize kendi oturumumuzda oynama imkanı sunar.

Çalışırken aldığım bazı hataları yorumlamakta güçlük çekiyorum. Buna karşı savaşacak silahım Türkçe dil desteği. Bunu nasıl mı yapıyorum? SQLPlus satırımda;

ALTER SESSION SET NLS_LANGUAGE = ‘TURKISH’;

komutu ile bana gelen uyarıları kendi dilimde değerlendirip araştırıyorum.

KiÅŸisel olarak gördüğüm oturum iÅŸlemlerinde “ALTER SESSION” ibaresi kullanılmakta ve daha sonra deÄŸiÅŸtirilecek parametre yazılmaktadır. Bu ibareyi aklımda tutmak yararıma olacaktır.

Umarım Oracle Sohbetleri yarar sağlıyordur. Ben gördüklerimi, öğrendiklerimi buradan yazmaya devam ediyor olacağım.

Renkli günler…

Oracle Sohbetleri IV – User lock/unlock İşlemleri

Merhabalar,

Oracle 11g sürümünde terminalden veritabanını karıştırırken, başlangıçta yüklü olan hr kullanıcısına girmek istememle bu konuyu öğrendim.

İşe önce kullanıcıyı kilitleme işlemiyle başlayacağım, sonra ise kilitli bir kullanıcıyı açmakla devam edeceğim.

Lock/unlock işlemlerini yapacağımız yer sysdba ile bağlandığımız sqlplus satırı olacak. Sizin veritabanı yönetici isminiz farklı ise onunla giriş yapınız. O zaman bağlanalım:

$ sqlplus / as sysdba

Yönetici olarak girişimi gerçekleştirdikten sonra şu komutu kullanarak kullanıcılarımı ve hesap bilgilerini alıyorum. Aşağıdaki ekran görüntüsünü inceleyelim.

SQL> SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS;

 

 

1

Benim önceden oluÅŸturduÄŸum “KUTUPHANECI” isimli bir kullanıcı var baÅŸtan 8. sırada. İşlemlerimi bu kullanıcı üzerinden gerçekleÅŸtireceÄŸim.

Şimdi bu kullanıcımızı kilitleyelim:

SQL> ALTER USER KUTUPHANECI ACCOUNT LOCK;

2

Bu işlemden sonra bakalım gerçekten kullanıcı kilitlendi mi? Hemen account_status kontrol etmek için dba_users içinde görüntüleme yapıyorum.

3

Üstteki ekran görüntüsünden “KUTUPHANECI” karşılığını bulursanız “LOCKED” yazdığını göreceksiniz.

Kilitleme iÅŸlemi tamamlandığına göre artık kullanıcımızı açalım. Tahmin edeceÄŸiniz üzere “unlock” kelimesi bize yardım edecek:

SQL> ALTER USER KUTUPHANECI ACCOUNT UNLOCK;

Bu kodu yazdıktan sonra tekrardan sıralama yaptırarak kullanıcınızı kontrol edebilirsiniz. Hemen sıralama yaptırdığımız kodu ben size hatırlatayım:

SQL> SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS;

İşte herşey  bu kadar. Unutmamamız gereken kural tüm bu işlemler sysdba adı altında açtığımız (ya da sizin veritabanı yönetici isminiz ne ise) alanda yapılıyor olması.

Renkli günler…

Oracle Sohbetleri III – Database baÅŸlatma parametreleri

Minik bir şekerleme tadında Oracle sohbetlerinden tekrar merhaba sevgili okuyucu.

Bugünkü üzerine düştüğüm konu database baÅŸlatmak. ÇeÅŸitli ÅŸekilleri ve kullanım amaçları var database start durumlarının. Normal hayatta duyduÄŸum ve gördüğüm kadarıyla sürekli açılıp kapanan bir database yok. Oracle kullanan sunucular hiç  kapanmıyorlar. Biraz düşününce de mantıklı geliyor deÄŸil mi? Benim bir alış veriÅŸ sitem olacak, Türkiye’de öğlen alış veriÅŸ yapan bir müşterim olacak ve bunun gibi Amerika’dan da Türkiye saatiyle gece 03:00′te alış veriÅŸ yapan müşterim olacak. Haliyle database hiç kapanmayacak.

Oldu da sistemime bir saldırı oldu. Ya da database-ime yama yükleme zamanı geldi. Ya da bir doğal afet neticesinde fiziksel sistem zarar gördü ve database kapandı. İşte bu senaryolar için farklı farklı database açma parametreleri var Oracle için.  Hemen sıralayacak olursam;

1.0 startup nomount

2.0 startup mount

3.0 startup

4.0 startup restrict

5.0 startup force

6.0 startup quiet

7.0 startup recover

8.0 startup upgrade

 

Tanım tanım gidelim.

1.0 startup nomount

Bu komutu sqlplus terminalinizde girdiğinizde Oracle önce init.ora parametrelerini okur ve buradan aldığı bilgilerle database-i çalıştırır. Bu parametre, recover modda kullanım için veya parametre değişiklikleri için kullanılır.

startup nomount;

 2.0 startup mount

Bu modda data dosyaları ve log dosyaları okunur. Kontrol dosyası yüklenir. Bu parametrenin kullanım amacı yapılan fiziksel yol deÄŸiÅŸimlerini ayarlamaktır. ÖrneÄŸin redo dosyasını 16 GB’tan 160 GB’ta yükseltmek gerektiÄŸinde bu modda giriÅŸ yapmak gerekir. Mount moda geçmek için;

1.0 startup nomount;

2.0 ALTER database mount;

3.0 ALTER database open;

3.0 startup

Normal database açılışları için yazılan komuttur. Data file ve database erişimleri açılır.

4.0 startup restrict

Kullanıcılara özel izinler vermek için bu modda açılış yapılır.

5.0 startup force

Geçici bir süre için database-i zorla açar. Database çöktüğü durumlarda başvurulacak yöntemlerden bir tanesidir.

6.0 startup quiet

Başlarken SGA bilgilerini de döken açılış parametresidir.

7.0 startup recover

Adından da anlaşılacağı gibi recovery operations-larda kullanılır.

8.0 startup upgrade

Database upgrade edildikten sonraki ilk açılışta kullanılması tavsiye edilen komuttur.

Renkli günler…