LSOF – Durumu Deleted ta Kalan Dosyaların Temizlenmesi

Merhabalar,

Linux işletim sistemi üzerinden bir dosya sildiniz diyelim. ls komutu ile baktınız ve dosyanın silindiğinden emin oldunuz. Diskler üzerindeki boş alan artmış mı diye baktığınızda ise bir değişikliği olmadığını görüyorsanız bu yazıyı okumaya devam edebilirsiniz.

Bu tür durumlarda lsof ile aşağıdaki komutu çalıştırarak sildiğimiz dosyanın deleted durumuna düştüğünü bu dosyayı hangi process in kullandığını bulabiliriz.

/usr/sbin/lsof | grep deleted

lsof

Bu dosyanın tamamen silinebilmesi için 2 yolumuz var.

  1.  Bağlı olduğu processler kill edilir. Dosya otomatik olarak silinecektir.
  2. Riskli bir yol olsa da disk doluluğu yaşadığımız zamanlarda bu işlemi yapabiliriz;

devdb_diag_5445.trc dosyasını tamamen silmek istediğimizde process id sinin 5445 olduğunu yukarıda görebiliyorum. /proc dizini ile bu processin yaptığı işlemleri görebiliyorum.

ls -l /proc/5445/fd

proc

Dosyayı da gördükten sonra içini truncate ederek boş alan sağlamış oluyoruz.

[root@devdb ~]# :>/proc/5445/fd/17

 

Reklamlar

Oracle 12c R2 – Partitioning İyileştirmeleri

Emrah METE

Herkese Selam,

Bu yazıda Oracle 12c R2 ile beraber gelen partitioning konusundaki iyileştirmelerden bahsedeceğim umarım farkındalık anlamında faydalı bir yazı olur.

Partitioning bilindiği üzere Oracle’ın en temel ve en çok beğendiğim özelliklerinden biri. Özellikle büyük hacimli tablolardaki verilere ulaşmada oldukça işimizi kolaylaştıran ve genel sorgu performansımızı arttıran bir veritabanı özelliği.

Oracle 12c R2’den önce bir tabloyu sadece yaratma aşamasında fiziksel olarak partitionlı bir şekilde yaratabiliyorduk. Bunun dışında partitionsız yaratılmış ve hızla büyüyen bir tabloyu partitionlı bir hale getirmek istediğimizde ne yazık ki bu işlemi gerçekleştiremiyorduk ve devamında veriye erişim performanslarımızda düşüşler yaşıyorduk.

Oracle 12c R2’den önce davranışın ne olduğuna bakmak gerekirse;

//db_version: 11g R2 CREATE TABLE partitionTest ( YEARMONTH NUMBER, INVOICE_ID NUMBER, PRICE NUMBER ); INSERT /*+append*/ INTO partitionTest SELECT TO_NUMBER (TO_CHAR (SYSDATE - MOD (LEVEL, 365), 'YYYYMM')) YEARMONTH, LEVEL INVOCE_ID, MOD (LEVEL, 365) * 10 price FROM DUAL CONNECT BY LEVEL < 100000; COMMIT; ALTER TABLE partitionTest MODIFY PARTITION…

View original post 364 kelime daha

FIND ORACLE BLOCKING SESSIONS

Aşağıdaki sorgu hangi session’ın blocking lock a sebebiyet verdiği ve hangi sessionların beklediği sonucunu vermektedir. Holder ile işaretlenmiş sid nin kill sql’i ve trace başlatma sorgusu da bulunabilir.

SELECT l. sess,
       s .inst_id || ‘_’
       || TRIM (
                NVL ( s.CLIENT_INFO , s. USERNAME)
             || ‘_’
             || s .ACTION
             || ‘_’
             || s .MODULE
             || ‘_’
             || s .USERNAME)
          “USER”,
       –o.object_name,
       s .status,
       s .inst_id,
       s .sid,
       s .serial#,
       w .event,
       ROUND ( w.seconds_in_wait / 60 , 2 ) minutes_in_wait,
       CASE
          WHEN l.block > 0 AND w.event NOT IN (‘enqueue’ )
          THEN
             ‘kill -9 ‘ || p. spid
          ELSE
             NULL
       END
          kill_os ,
       CASE
          WHEN l.block > 0 AND w.event NOT IN (‘enqueue’ )
          THEN
                ‘ALTER SYSTEM KILL SESSION ”’
             || s .sid
             || ‘,’
             || s .serial#
             || ‘,@’
             || S .INST_ID
             || ”’;’
          ELSE
             NULL
       END
          kill_sid ,
          ‘begin sys.dbms_system.set_sql_trace_in_session(‘
       || s .sid
       || ‘,’
       || s .serial#
       || ‘,TRUE); end;’
          start_trace ,
          ‘begin sys.dbms_system.set_sql_trace_in_session(‘
       || s .sid
       || ‘,’
       || s .serial#
       || ‘,FALSE); end;’
          stop_trace ,
       s .osuser,
       s .machine,
       s .last_call_et
  FROM (  SELECT DECODE (l.request , 0 , ‘Holder: ‘ , ‘      Waiter: ‘ ) sess, l.*
            FROM GV$LOCK l
           WHERE ( l.id1, l.id2, l.TYPE) IN (SELECT id1, id2, TYPE
                                              FROM gV$LOCK
                                             WHERE request > 0)
        ORDER BY l.id1, l.request ) l
       JOIN gv$session s
          ON l.sid = s.sid AND s.inst_id = l. inst_id
       —  left outer join dba_objects o on o.object_id=l.id1
       LEFT OUTER JOIN gv$session_wait w
          ON w.sid = s.sid AND w.INST_ID = s. INST_ID
       LEFT OUTER JOIN gv$process p
          ON p. addr = s.paddr AND p. inst_id = s.inst_id ;

Exadata power off/on steps

ibrisim

Selamlar,

aşağıdaki adımları izleyerek exadata’nızı tutarlı bir şekilde kapatıp açabilirsiniz.

###################CHEKCS###################
1. check all cell nodes (MS, RS & CELLSRV services must be running)

cd /opt/oracle.SupportTools/onecommand
cat dbs_group
cat cell_group

dcli -g cell_group -l root "su - celladmin -c "cellcli -e list cell detail ""

dcli -g cell_group -l root "su - celladmin -c "cellcli -e LIST GRIDDISK WHERE STATUS = 'inactive' ""

2. check cluster services

/u01/app/11.2.0/grid/bin/crsctl stat res -t

3. check all dbnodes and cellnodes

dcli -g cell_group -l root 'hostname; uptime'
dcli -g dbs_group -l root 'hostname; uptime'

###################DISABLE ASR###################

1. check asr configuration
– on db node

If your Exadata Server Software is release 12.1.2.x or later:
dcli -g dbs_group -l root -n "dbmcli -e list dbserver attributes snmpSubscriber"
If your Exadata Server Software release is earlier than 12.1.2.x:
dcli -g dbs_group -l root –n "/opt/oracle.cellos/compmon/exadata_mon_hw_asr.pl -get_snmp_subscribers -type asr"

– on cell

If your Exadata Server Software is release 12.1.2.x or…

View original post 587 kelime daha

HIGH AVABILITY: Oracle RAC vs. RAC One Node vs. Data Guard

Let IT know

I try to say as simple as possible. If we have to find HA solution for ORACLE DB, I will introduce for you the alternatives.  I collected as much information as possible about the available technologies such as RAC, One Node RAC and Data Guard.  In this article I do not want to consider explaining all of these technologies, more than compare with each other, help to someone summaries the features, advantages, disadvantages. And just one other important aspect: I take the focus just for high availability and I will not concentrate the other criteria. So, let’s start with basic introduction part:

View original post 937 kelime daha