Docker ile Oracle XE Veritabanı Kurulumu

Veri yönetimi ve iş süreçlerinde güvenilir, yüksek performanslı bir veritabanı çözümüne ihtiyaç duyduğunuzda, Oracle Database, dünya genelinde en çok tercih edilen seçeneklerden biridir. Oracle, büyük ölçekli veritabanı ihtiyaçlarına cevap veren, güvenilirliği ve esnekliği ile bilinen bir platformdur.

Ancak, Oracle Veritabanı’nın klasik yöntemlerle kurulumu ve yapılandırılması oldukça karmaşık olabilir. Bu noktada Docker, işleri kolaylaştıran önemli bir araç olarak devreye giriyor. Docker kullanarak, Oracle Veritabanı’nı hızlı ve verimli bir şekilde kurmak, test etmek ve yönetmek mümkün. Üstelik bu yöntem, geleneksel kurulum süreçlerindeki karmaşıklığı ortadan kaldırarak daha pratik bir çözüm sunar.

Bu yazıda, Docker ile Oracle Veritabanı’nı nasıl kolayca kurabileceğinizi adım adım inceleyeceğiz. Kurulum sürecinin sonunda, temel bir Oracle Database ortamına sahip olacağız.

Oracle XE Nedir?

Oracle XE (Express Edition), Oracle Corporation tarafından sunulan, geliştiricilere ve küçük işletmelere yönelik ücretsiz bir veritabanı yönetim sistemidir. Oracle XE, sınırlı kaynaklarla yüksek performans sunarak uygulama geliştirmeyi kolaylaştırır. Aşağıdaki özelliklerle dikkat çeker:

  • Tek Veritabanı Örneği: Oracle XE, yalnızca bir veritabanı örneği oluşturmanıza izin verir. Bu veritabanı, sistemin kendisi ve üzerinde barındırılan tüm verileri içerir.
  • Kullanıcı ve Şema Yönetimi: Tek bir veritabanı içinde birden fazla kullanıcı oluşturabilir ve her kullanıcı kendi şemasına sahip olur. Bu sayede, farklı kullanıcılar aynı veritabanı üzerinde bağımsız olarak çalışabilir.
  • Özgür ve Ücretsiz: Oracle XE, herhangi bir lisans ücreti olmadan kullanılabilir ve geliştirme, test ve production aşamalarında tercih edilebilir.
  • Sınırlı Kaynak Kullanımı: Oracle XE, belirli sınırlar içinde (RAM, CPU ve depolama alanı gibi) çalışır, bu da onu küçük projeler ve uygulamalar için ideal bir seçim haline getirir.

Ön Gereksinimler:

  • Docker kurulu bir bilgisayar
  • İnternet bağlantısı

1. Çalışma Dizini Oluşturma

Öncelikle, Oracle veritabanı için bir çalışma dizini oluşturalım. Bu dizin, Docker Compose dosyasını ve veritabanı verilerinizi saklamak için kullanılacaktır.

mkdir oracle-database
cd oracle-database

2. Docker Compose Dosyası Oluşturma

Çalışma dizininde docker-compose.yml adında bir dosya oluşturalım ve aşağıdaki içeriği ekleyelim. Bu dosya, Oracle veritabanı konteynerini tanımlayacaktır.

Docker Compose dosyası

services:
  oracle-xe:
    container_name: oracle-xe
    image: container-registry.oracle.com/database/express:21.3.0-xe
    environment:
      - ORACLE_PWD=YourPassword123
      - ORACLE_CHARACTERSET=AL32UTF8
    volumes:
      - oradata:/opt/oracle/oradata
    ports:
      - "1521:1521"
      - "5500:5500"

volumes:
  oradata:

Docker Compose dosyasını oluşturduktan sonra, Oracle veritabanı konteynerini başlatmak için aşağıdaki komutu çalıştıralım:

docker-compose up -d
  • -d bayrağı, konteynerin arka planda çalışmasını sağlar.

Oracle veritabanı konteynerinin düzgün bir şekilde çalıştığından emin olmak için konteyner durumunu kontrol edelim:

docker ps
  • Bu komut, çalışan konteynerleri listeleyecektir. oracle-xe konteynerinin durumunun “Up” olduğunu görmelisiniz.

3. SQL Plus ile Veritabanına Bağlanma

3.1. SQL Plus Nedir?

SQL Plus, Oracle veritabanı ile etkileşimde bulunmak için kullanılan bir komut satırı aracıdır. Kullanıcılara SQL sorguları yazma, çalıştırma ve veritabanı yönetimi ile ilgili komutlar uygulama imkanı sunar. Oracle veritabanı ile birlikte otomatik olarak gelen bu araç, SQL komutlarını yazmak ve çalıştırmak için yaygın olarak kullanılmaktadır.

 3.2. SQL Plus Kurulumu

SQL Plus, Docker ile başlattığınız Oracle veritabanı konteynerinin içinde otomatik olarak bulunmaktadır. Oracle veritabanı ile birlikte yüklenen bu araç, konteyneri başlattığınızda otomatik olarak kullanılabilir hale gelir.

3.3. SQL Plus Aracını Kullanma

Oracle konteyner içinde sqlplus’ı başlatalım:

docker exec -it oracle-xe sqlplus sys/YourPassword123@//localhost:1521/XE as sysdba
3.3.1. SQL Plus Komutunun Açıklaması

docker exec -it oracle-xe sqlplus sys/YourPassword123@//localhost:1521/XE as sysdba komutunu parçalarına ayırarak açıklayalım:

  • sys/YourPassword123:
    • sys kullanıcısı, Oracle’ın en yetkili yönetici hesabıdır. Bu kullanıcı ile veritabanı yönetimi ve kritik işlemler yapılabilir.
    • YourPassword123 burada SYS kullanıcısının parolasını temsil eder. Kurulum sırasında belirlenen parola burada kullanılır.
  • @//localhost:1521/XE:
    • Bu bağlantı dizesi, hangi sunucu, port ve veritabanına bağlanılacağını belirtir:
      • @//localhost: Bağlanılacak sunucu olarak localhost seçilmiştir, yani veritabanı konteyner içinde çalışıyor. Eğer veritabanı farklı bir sunucuda olsaydı, burada IP adresi veya sunucu adı belirtilirdi.
      • :1521: Oracle veritabanının dinleme yaptığı porttur. Oracle varsayılan olarak 1521 portunu kullanır. Farklı bir port ayarlanmışsa burada o port belirtilmelidir.
      • /XE: Bu kısım veritabanı kimliğini (SID) belirtir. Oracle XE (Express Edition) varsayılan olarak XE SID’i kullanır. Başka bir SID ile çalışıyorsanız, bu kısmı değiştirmeniz gerekir.
  • as sysdba:
    • SYS kullanıcısına SYSDBA yetkisi tanımlanır. Bu yetki, veritabanını açma/kapama, yedekleme ve diğer yönetimsel işlemleri yapma yetkisi sağlar.

4. Kullanıcı Oluşturma ve Yetkilendirme

SQL Plus’ta aşağıdaki komutlarla yeni bir kullanıcı oluşturabilir ve bu kullanıcıya yetkiler atayabiliriz:

CREATE USER myuser IDENTIFIED BY mypassword;
GRANT ALL PRIVILEGES TO myuser;
  • Burada myuser ve mypassword kısmını istediğiniz kullanıcı adı ve şifre ile değiştirebilirsiniz.
  • Burada myuser ve mypassword, oluşturulacak kullanıcının adı ve şifresidir. Bu işlem, Oracle veritabanı içinde yeni bir kullanıcı ve şema oluşturur. Ancak bu işlem, bir veritabanı oluşturma işlemi değildir. Oracle’ın şema tabanlı yapısı nedeniyle kullanıcı oluşturma işlemi bazen “veritabanı oluşturma” gibi algılanabilir.

GRANT ALL PRIVILEGES TO myuser;
Bu komut, myuser adlı kullanıcıya Oracle veritabanı üzerinde tüm yetkileri verir.

  • GRANT: Yetki verme işlemidir.
  • ALL PRIVILEGES: Kullanıcıya tüm temel işlemleri yapma yetkisi tanır (tablo oluşturma, veri ekleme/silme gibi).
  • TO myuser: Yetkilerin atanacağı kullanıcıdır.

Kim Yetki Veriyor?
Bu komut genellikle SYS veya SYSTEM gibi yüksek yetkili bir kullanıcı tarafından çalıştırılır.

4.2. Kullanıcıyı Doğrulama

Kullanıcı oluşturulduktan sonra aşağıdaki komutla kullanıcıyı kontrol edebilirsiniz:

SELECT * FROM all_users WHERE username = 'MYUSER';

5. Yetkilendirme İşlemleri

5.1. Kullanıcıya Yetki Verme

Oluşturduğumuz kullanıcıya ek yetkiler vermek için şu komutları kullanabiliriz:

GRANT CREATE SESSION TO myuser;
GRANT CREATE TABLE TO myuser;
  • CREATE SESSION: Kullanıcının oturum açmasına izin verir.
  • CREATE TABLE: Kullanıcının tablo oluşturmasına izin verir.

5.2. Yetkilerin Kontrolü

Yetkilerimizi kontrol etmek için aşağıdaki sorguyu kullanabiliriz:

SELECT * FROM user_sys_privs;

6. Veritabanına Bağlantı Testi

Yeni kullanıcı ile bağlantı kurmak için SQL*Plus aracını tekrar kullanalım:

docker exec -it oracle-xe sqlplus myuser/mypassword@//localhost:1521/XE
  • Eğer kullanıcı adı ve şifre doğruysa, başarılı bir şekilde bağlanmalısınız.
  • myuser/mypassword: Yeni oluşturulan kullanıcı adı ve şifresi.
  • @//localhost:1521/XE: Veritabanının bağlantı dizesidir.

7. Veritabanı Yönetimi

7.1. Veritabanını Durdurma

Konteyneri durdurmak için aşağıdaki komutu kullanabilirsiniz:

docker-compose down

7.2. Konteyner ve Veri Silme

Eğer konteyneri ve ona ait verileri tamamen silmek isterseniz, aşağıdaki komutları kullanabilirsiniz:

docker-compose down -v

Bu komut, konteyneri ve oradata hacmini siler.

Kurulumunuzu başarıyla tamamladınız, yazımız da burada son buluyor!

Docker ile Oracle XE’yi hızlıca kurup temel kullanıcı yönetimini nasıl yapabileceğinizi öğrendik. Oracle XE, özellikle küçük projelerde veya geliştirme ortamlarında işinizi fazlasıyla görebilecek güçlü bir veritabanı çözümü. Docker ise tüm bu kurulumu oldukça basit ve hızlı bir hale getiriyor.Bu süreçten sonra, uygulamalarınızı geliştirebilir, test edebilir ve veritabanınızı daha verimli bir şekilde kullanabilirsiniz. Eğer takıldığınız bir nokta olursa, Oracle’ın dökümantasyonuna göz atabilir ya da topluluklardan yardım alabilirsiniz.

Kurulum aşamasında öğrendiklerinizin işinize yaraması dileğiyle! Yardıma ihtiyacınız olursa buradayız. İyi çalışmalar!

Yazar Hakkında
Toplam 2 yazı
Bengisu Bostancı
Bengisu Bostancı
Bilgisayar Mühendisliği öğrencisiyim ve veri dünyasına büyük bir tutku duyuyorum. Özellikle veri mühendisliği, veri tabanları, Docker, Python ve SQL konularında hem öğrenmeyi hem de öğrendiklerimi paylaşmayı seviyorum. Şu anda, veri altyapılarının tasarımı, optimize edilmesi ve yönetimi üzerine çalışmalar yapıyorum.Blog yazılarımda, veri mühendisliğinin temellerinden ileri seviye pratiklere, Python ve SQL ile veri işlemeden Docker gibi araçlarla platform yapılandırmaya kadar çeşitli konularda içerikler sunmayı hedefliyorum. Amacım, veri mühendisliği alanına ilgi duyanlar için anlaşılır ve faydalı içerikler hazırlayarak bu alana katkı sağlamak.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara