Orhan AKDOĞAN > Oracle

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;

Oracle – V$ Tabloları

Oracle V$ ile başlayan tüm tabloların ilgili grubuna göre listesi aşağıda bulabilirsiniz.

DATABASE BACKUPS, ARCHIVE FILES, AND RECOVERY

V$ARCHIVE
V$ARCHIVED_LOG
V$ARCHIVE_DEST
V$BACKUP
V$BACKUP_CORRUPTION
V$BACKUP_DATAFILE
V$BACKUP_DEVICE
V$BACKUP_PIECE
V$BACKUP_REDOLOG
V$BACKUP_SET
V$DELETED_OBJECT
V$RECOVERY_FILE_STATUS
V$RECOVERY_LOG
V$RECOVERY_STATUS
V$RECOVER_FILE
(daha&helliip;)

Oracle – Tablespace Listesi

Oracle Tablespace listesi:

select	tablespace_name		"Tablesapce",
        bytes			"Size",
       	nvl(bytes-free,bytes)	"Used",
       	nvl(free,0)		"Free",
       	nvl(100*(bytes-free)/bytes,100)	"% Used"
  from(
	select ddf.tablespace_name, sum(dfs.bytes) free, ddf.bytes bytes
	FROM (select tablespace_name, sum(bytes) bytes
	from dba_data_files group by tablespace_name) ddf, dba_free_space dfs
	where ddf.tablespace_name = dfs.tablespace_name(+)
	group by ddf.tablespace_name, ddf.bytes)
  order by 5 desc;

Oracle Version Bilgisi

Database Listesi sorgusu:

select	NAME "Database Name",
	CREATED "Created",
	LOG_MODE "Status"
  from	sys.v_$database;

Oracle Version Bilgisi:

select	banner "Version"
  from	sys.v_$version;

Oracle – Database UpTime

Database Ne Kadar zamandır açık;
SELECT NAME, ' Database Başlama Zamanı: ',TO_CHAR(STARTUP_TIME,'DD-MON-YYYY "at" HH24:MI')
FROM V$INSTANCE, v$database;

Oracle – Bir Tablodaki kolonların adını ve kolon tipini listeleme

Bir Tablonun Kolon adı ve kolon tipi gibi bilgilerini listelemek için aşağıdaki sorguyu kullanabilirsiniz.

SELECT 'COLUMN' type, owner, table_name , column_name, column_id, data_type 
FROM sys.all_tab_cols 
WHERE table_name = 'TABLOADI'

Oracle.exe Thread List sql

Sorgu sonucunda Oracle.exe alt işlem(Thread) listesi ve ram kullanımları görülür.

select  a.sid,  a.serial#,  a.program,  p.pid,
   p.spid,  a.osuser,   b.name,  b.description,
   p.pga_used_mem
from   v$session   a,   v$process   p,   v$bgprocess b
where  a.paddr=b.paddr and  a.paddr=p.addr and  p.background=1;