### 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!**