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;

En çok CPU Kullanan 10 Oracle istemcisi

CPU kaynağı tüketimi yüksek olan kullanıcıları PL/SQL kodu ile tesbit etmek isterseniz aşağıdaki sorguyu kullanabilirsiniz.

Sorgu sonucunda User ID, Oracle User, Windows User, Pc adı ve CPU kullanım miktarını izleyebilirsiniz.

select rownum as SıraNo, a.*
from (
    SELECT v.sid,sess.osuser "User",sess.machine "Pc", program  , v.value / (100 * 60) "CPU Kullanımı"
    FROM v$statname s , v$sesstat v, v$session sess
   WHERE s.name = 'CPU used by this session'
     and sess.sid = v.sid
     and v.statistic#=s.statistic#
     and v.value>0
   ORDER BY v.value DESC) a
where rownum < 11;

Bulk Insert

Bulk Insert , metin Dosyasındaki veriyi, SQL Server da bir tabloya aktarmak amacı ile kullandığımız T-SQL deyimidir. 

Devamını okumak için tıklayınız »

SQLPASS

SQL Server Günlüğüm Orhan AKDOĞAN, En iyi SQL Server Community lerinden olan SQLPASS Blog listesine girmiştir.

Teşekkürler SQLPASS.

Saat, Gün, Ay ve Yıl şeklinde Dinamik Tarih Tablosu oluşturma

Uygulama geliştirirken, rapor sorgularında, raporların grafiksel sunumunda, tablomuzda kullanılmamış tarih birimlerini listelemek, rapora dahil etmek isteyebiliriz.

Aşağıdaki SQL function sayesinde belirlediğimiz iki tarih-saat arasındaki tüm saatleri, günleri, ayları ve yılları bir tablodan sonuç döndürür gibi listeyebilirsiniz.

Function ı oluşturmanız için gerekli create sorgusu:

CREATE Function [dbo].[TarihTablosu]
(
  @baslangic datetime,
  @bitis datetime,
  @tur char(5) --'saat', 'gün', 'ay', 'yıl' değerlerini alabilir.Default değer 'gün' dür.
)
Returns @Result Table
(
  [Tarih] datetime
)
As
Begin
  Declare @bugun datetime
  Set @bugun=@baslangic
  While @bugun<=@bitis
  Begin
    Insert Into @Result Values (@bugun)
    Select @bugun=
    Case
    When @tur='yıl' Then DateAdd(yy,1,@bugun)
    When @tur='ay' Then DateAdd(mm,1,@bugun)
    When @tur='saat' Then DateAdd(hh,1,@bugun)
    Else
      DateAdd(dd,1,@bugun)
    End
  End
  Return
End
GO

Kullanımı:

set dateformat dmy
Select tarih From dbo.TarihTablosu('01.01.2010','01.05.2010','ay')

Bu örnek sorgu 5 farklı ayı tarih sonucu şeklinde döndürecektir.

Result:

2010-01-01 00:00:00.000
2010-02-01 00:00:00.000
2010-03-01 00:00:00.000
2010-04-01 00:00:00.000
2010-05-01 00:00:00.000

Rapor sorgularınızda, kendi tablonuzu, bu function tablosuna left join olarak ilişkilendirerek
sonuç dönmeyen tarihlerinizi raporda 0 olarak gösterebilir ve daha pek çok amaçla bu functionu kullanabilirsiniz.

Bir örnekte saat ile ilgili yapalım:

set dateformat dmy
Select tarih From dbo.TarihTablosu('04.05.2010',GETDATE(),'saat')

Bu sorgu ilede bugün, şu ana kadar geçen saat dilimlerini listeliyoruz.

Result:

2010-05-04 00:00:00.000
2010-05-04 01:00:00.000
2010-05-04 02:00:00.000

Benzer şekilde günleri ve yılları tablo olarak döndürebilirsiniz.

 

Sql Server Collation Değiştirme

Database Collation Değiştirme:

Sql Server ‘da, bir veritabanının collation türünü “Turkish_CI_AS” e çevirmek için,

ALTER DATABASE [VeritabaniAdi] COLLATE Turkish_CI_AS

sorgusunu kullanabilirsiniz.Eğer “The database could not be exclusively locked to perform the operation” şeklinde bir hata alırsak, çok kullanıcılı veritabanlarında karşılaştığımız bu hatayı;

ALTER DATABASE [VeritabaniAdi] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE [VeritabaniAdi] COLLATE Turkish_CI_AS
ALTER DATABASE [VeritabaniAdi] SET MULTI_USER

sorgusuyla çözebiliriz.

Server Collation Değiştirme:

Kurulum dizinimizdeki Setup.exe yi komut isteminde kullanarak kısa bir süre içerisinde bu işlemi tamamlayabiliriz.

ilk olarak tüm veritabanlarının yedeğini alalım ve tüm userların create cümleciklerini yedek de tutalım.

Yedeklerimiz tamamsa aşağıdaki içeriği .bat uzantılı dosya haline getirip çalıştırarak işlemi tamamlayalım.

Artık Server Collation yanında system veritabanlarının da (master,model,msdb ve temdb) Collation değeri değişmiş olacaktır.İşlem sonrasında tüm Kullanıcı veritabanları kendiliğinden detach olur, yeniden attach edebilirsiniz.

SQL Server 2005 için:

c:
cd \
cd "C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap"
start /wait setup.exe /qb INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD="yenisifre" SQLCOLLATION=TURKISH_CI_AS

SQL Server 2008 için:

c:
cd \
cd "C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release"
setup.exe /q /ACTION=RebuildDatabase /INSTANCENAME=MSSQLSERVER /SAPWD="yenisifre" / SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS" /SqlCollation=TURKISH_CI_AS

İşlem sonucunda her hangi bir hata söz konusu olur ise hata detayını ,
“C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log” dizinindeki,
Summary.txt dosyasından gözlemleyebilirsiniz.

SQL Server 2008 R2, e-Book

Microsoft Press, SQL Server 2008 R2 sürümü için ücretsiz bir eBook yayınladı.

Introducing Microsoft SQL Server 2008 R2 (Ross Mistry, Stacia Misner)

Kitap 10 Bölüm ve 216 sayfadan oluşuyor.

İçerik:

PART I   Database Administration

1.Bölüm   SQL Server 2008 R2 Editions and Enhancements
2.Bölüm   Multi-Server Administration
3.Bölüm   Data-Tier Applications
4.Bölüm   High Availability and Virtualization Enhancements
5.Bölüm   Consolidation and Monitoring

PART II   Business Intelligence Development

6.Bölüm   Scalable Data Warehousing
7.Bölüm   Master Data Services
8.Bölüm   Complex Event Processing with StreamInsight
9.Bölüm   Reporting Services Enhancements
10.Bölüm   Self-Service Analysis with PowerPivot

Aşağıdaki linklerden e-Book’u indirebilirsiniz.

PDF Formatı

XPS Formatı

Kaynak:

http://blogs.msdn.com/microsoft_press/archive/2010/04/14/free-ebook-introducing-microsoft-sql-server-2008-r2.aspx

.

SQL Server 2008 Replace

SQL Server 2008 öncesinde, Replace fonksiyonunun üç parametresinin de sağındaki boşluklar otomatik olarak siliniyordu. SQL Server 2008′ de bu durum değişti. Artık boşluklar otomatik olarak silinmiyor.
Aynı şekilde kullanmak istiyorsak Rtrim fonksiyonundan yardım almalıyız,

Replace(rtrim(param1), rtrim(param2), rtrim(param3))