Her DBA’nın Bilmesi Gereken Temel Komutlar

### UNIX Komutları: Her DBA’nın Bilmesi Gereken Temel Komutlar

UNIX işletim sistemi, veritabanı yöneticileri (DBA’lar) için vazgeçilmez bir araçtır. Bu yazıda, DBA’ların günlük işlerinde sıkça kullanacağı temel UNIX komutlarını ve bu komutların nasıl kullanıldığını ele alacağız. Bu komutlar, dosya yönetimi, süreç yönetimi, kullanıcı yönetimi ve performans izleme gibi çeşitli görevlerde size yardımcı olacaktır.

#### 1. Temel Dosya Gezinme Komutları

– **`pwd`**: Bulunduğunuz dizini gösterir.
 “`bash
 root> pwd
 /u01/app/oracle/product/9.2.0.1.0
 “`

– **`ls`**: Belirtilen dizindeki dosya ve dizinleri listeler. Eğer bir konum belirtilmezse, bulunduğunuz dizindeki dosyaları listeler.
 “`bash
 root> ls
 root> ls /u01
 root> ls -al
 “`
 – `-a` flag’i gizli dosyaları (`.` ile başlayan) listeler.
 – `-l` flag’i dosya detaylarını gösterir.

– **`cd`**: Dizin değiştirmek için kullanılır.
 “`bash
 root> cd /u01/app/oracle
 “`

– **`touch`**: Yeni bir boş dosya oluşturur.
 “`bash
 root> touch my.log
 “`

– **`rm`**: Dosya veya dizinleri siler.
 “`bash
 root> rm my.log
 root> rm -R /archive
 “`
 – `-R` flag’i alt dizinlerde de işlem yapar.

– **`mv`**: Dosya veya dizinleri taşır veya yeniden adlandırır.
 “`bash
 root> mv my.log my1.log
 root> mv * /archive
 root> mv /archive/* .
 “`

– **`cp`**: Dosya veya dizinleri kopyalar.
 “`bash
 root> cp my.log my1.log
 root> cp * /archive
 root> cp /archive/* .
 “`

– **`mkdir`**: Yeni bir dizin oluşturur.
 “`bash
 root> mkdir archive
 “`

– **`rmdir`**: Boş bir dizini siler.
 “`bash
 root> rmdir archive
 “`

– **`find`**: Belirli dosyaları bulmak için kullanılır.
 “`bash
 root> find / -name dbmspool.sql
 root> find / -print | grep -i dbmspool.sql
 “`

– **`which`**: Bir komutun yolunu bulmak için kullanılır.
 “`bash
 oracle> which sqlplus
 “`

#### 2. Dosya İzinleri

– **`umask`**: Varsayılan dosya izinlerini ayarlar.
 “`bash
 root> umask 022
 “`

– **`chmod`**: Dosya izinlerini değiştirir.
 “`bash
 root> chmod 777 *.log
 “`

– **`chown`**: Dosya sahipliğini değiştirir.
 “`bash
 root> chown -R oinstall.dba *
 “`

#### 3. İşletim Sistemi Kullanıcı Yönetimi

– **`useradd`**: Yeni bir kullanıcı ekler.
 “`bash
 root> useradd -G oinstall -g dba -d /usr/users/my_user -m -s /bin/ksh my_user
 “`

– **`usermod`**: Kullanıcı ayarlarını değiştirir.
 “`bash
 root> usermod -s /bin/csh my_user
 “`

– **`userdel`**: Kullanıcıyı siler.
 “`bash
 root> userdel -r my_user
 “`

– **`passwd`**: Kullanıcı şifresini ayarlar.
 “`bash
 root> passwd my_user
 “`

– **`who`**: Sistemde oturum açmış kullanıcıları listeler.
 “`bash
 root> who
 root> who | head -5
 root> who | tail -5
 root> who | grep -i ora
 “`

#### 4. Süreç Yönetimi

– **`ps`**: Çalışan süreçleri listeler.
 “`bash
 root> ps
 root> ps -ef | grep -i ora
 “`

– **`kill`**: Belirli bir süreci sonlandırır.
 “`bash
 root> kill 12345
 root> kill -9 12345
 “`

#### 5. Performans İzleme

– **`vmstat`**: Sanal bellek istatistiklerini raporlar.
 “`bash
 root> vmstat 5 3
 “`

– **`free`**: Bellek kullanımını gösterir.
 “`bash
 root> free
 “`

– **`iostat`**: Giriş/çıkış istatistiklerini raporlar.
 “`bash
 root> iostat
 “`

– **`sar`**: Sistem aktivitesini raporlar.
 “`bash
 root> sar -u 1 5
 “`

– **`mpstat`**: İşlemci istatistiklerini raporlar.
 “`bash
 root> mpstat 10 2
 “`

– **`top`**: Sistem kaynak kullanımını gösterir.
 “`bash
 root> top
 “`

#### 6. CRON ile Görev Zamanlama

CRON, belirli zamanlarda komut veya script’leri çalıştırmak için kullanılır. CRON tablosunu düzenlemek için iki yöntem vardır:

1. **`crontab -l > filename`**: CRON tablosunu bir dosyaya yazdırır ve düzenledikten sonra `crontab filename` ile uygular.
2. **`crontab -e`**: CRON tablosunu doğrudan düzenler.

Örnek bir CRON girişi:
“`bash
0 1 * * 0 /u01/app/oracle/dba/weekly_cleanup > /dev/null 2>&1
“`

#### 7. Faydalı Dosyalar

– **`/etc/passwd`**: Kullanıcı ayarları.
– **`/etc/shadow`**: Şifrelenmiş kullanıcı şifreleri.
– **`/etc/group`**: Kullanıcı grupları.
– **`/etc/hosts`**: Hostname çözümleme bilgileri.
– **`/etc/sysctl.conf`**: Linux kernel parametreleri.

### Sonuç

UNIX komutları, DBA’lar için günlük işlerini kolaylaştıran güçlü araçlardır. Bu yazıda, temel dosya yönetimi, süreç yönetimi, kullanıcı yönetimi ve performans izleme gibi konularda kullanılan komutları ele aldık. Bu komutları öğrenmek ve etkili bir şekilde kullanmak, veritabanı yönetimi süreçlerinizi büyük ölçüde kolaylaştıracaktır.

**Teşekkürler!**