Orhan AKDOĞAN > İpucu

SQL Developer -“ORA-01882: timezone region not found” Hatası

SQL Developer da alınan “ORA-01882: timezone region not found” Hatasını gidermek için;
Sqldeveloper kurulum dizinine gidip;
sqldeveloper\sqldeveloper\bin\sqldeveloper.conf
yolundaki dosyayı notepad ile açıp
satır sonuna
AddVMOption -Duser.timezone=”+01:00″

Değerini ekleyip tekrar denemeliyiz.

Oracle – Satırları virgülle ayrılmış tek satır olarak getirmek

SELECT table_name "Tablo Adı" , wmsys.wm_concat(column_name) "Kolon Listesi"
FROM all_tab_columns
WHERE table_name='TBLSTSABIT' -- Tablo adını yazıyoruz.
and rownum<20  --ilk 20 kolonu
GROUP BY table_name

Oracle – Session Sayısı

select count(*) "Toplam session", 
(select count(*) from gv$session where type != 'BACKGROUND' ) "Toplam Session (Oracle Hariç)", 
(select count(*) from gv$session where status = 'ACTIVE' and inst_id=1 and type != 'BACKGROUND' ) "Aktif Session"
 from gv$session group by 1,2,3

Oracle – Tablespace Free Space

SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /
(1024*1024) ) as free_m
, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks
FROM dba_free_space
GROUP BY tablespace_name

Oracle – Order by ile Türkçe Destekli Sıralama

order by nls_sort(KolonAdı,nls_sort=xturkish) şeklindeki kullanım ile sıralamada Türkçe karakter desteği sağlayabilirsiniz.

Select * From TBLCASABIT Order By NLSSORT(CARI_ISIM,'NLS_SORT=XTURKISH')

Oracle – Lock Table Bilgileri

Oracle da Lock durumdaki Tablo bilgilerini aşağıdaki sorguyla gözleyebilirsiniz.

Select * From V$LOCKED_OBJECT 
Where object_id = (select object_id from dba_objects where object_name ='TabloAdı');

Oracle – En uzun süren 100 sorgu

Sorgu başlama -bitiş zaman aralığı en yüksek 100 sorgu sonucunu veren pl/sql kodu aşağıdaki gibidir.

SELECT * FROM
(SELECT elapsed_time,
    sql_fulltext,
    sql_id,
    child_number,
    disk_reads,
    executions,
    first_load_time,
    last_load_time
FROM    v$sql
WHERE FIRST_LOAD_TIME between '2011-02-17/13:00:00' and '2011-02-17/14:00:00'
ORDER BY elapsed_time DESC)
WHERE ROWNUM < 100

Oracle – Son Çalışan 1000 Sorgu

Oracle Database de çalışan tüm sorguları gözlemlemek isterseniz, bu sorguların saklandığı v$sql tablosu üzerinden yapılacak bir sorgu ile aradığınıza ulaşabilirsiniz.

Select * From
(SELECT FIRST_LOAD_TIME "Başlama",LAST_LOAD_TIME "Bitiş",elapsed_time "Süre",v$sql.*
FROM v$sql
--WHERE FIRST_LOAD_TIME>'2010-11-13/16:20:06' --Belirli bir zamandan sonrası için.
--AND SQL_TEXT like '%UPDATE%'                --Sorgu içinde geçen bir kısım
--AND MODULE like '%SQL Developer%'           --Sorgu Hangi Uygulamadan çalıştırıldı.
--AND PARSING_USER_ID='DB2010'                --Veritabanı Filtresi.
Order BY FIRST_LOAD_TIME DESC )               --Sorgu Başlama zamanı sırasına göre Diz
Where Rownum<1001;

Oracle – invalid objeleri listeleme

Select owner, object_type, substr(object_name,1,30) object_name, status
from dba_objects where status='INVALID' order by object_type;

Oracle – USERENV ile aktif oturuma ait bilgiler

USERENV ile aktif oturuma ait birtakım  bilgileri sorgulayabiliriz.

Oracle User:  sys_context(‘USERENV’, ‘CURRENT_USER’)

SELECT sys_context('USERENV', 'CURRENT_USER') FROM DUAL;

Oracle AUTHENTICATION TYPE: sys_context(‘USERENV’, ‘AUTHENTICATION_TYPE’)

SELECT sys_contextsys_context('USERENV', 'AUTHENTICATION_TYPE') FROM DUAL;

Oracle Network Protocol: sys_context(‘USERENV’, ‘NETWORK_PROTOCOL’)

SELECT sys_context('USERENV', 'NETWORK_PROTOCOL') FROM DUAL;

Oracle Client IP adresi: sys_context(‘USERENV’, ‘IP_ADDRESS’)

SELECT sys_context('USERENV', 'IP_ADDRESS') FROM DUAL;