Archive December 2019

Oracle Query for Sessions

This is a usefull query for active sessions to kill ;

SELECT  sess.osuser , 
		sess.machine ,  
		sess.process, 
		sess.status, 
		sess.username, 
		sess.schemaname,  
		sql.sql_text,
		'alter system kill session ''' || sess.SID || ',' || sess.serial# || ''';'  AS KILL_SCRIPT
  FROM v$session sess,
       v$sql     sql
 WHERE sql.sql_id(+) = sess.sql_id
   AND sess.TYPE	= 'USER'
   AND status 		= 'ACTIVE'
   AND sess.SID IN 
   (
   select sid from v$sql_monitor 
   where 1=1 
   AND status ='EXECUTING'  
--   AND elapsed_time/1000000> 300 
--   and username in ('GINAL')
   )

You can find more queries like this at the link below ;

KVKK Vazgeçilmezi : IBM OPTIM

IBM Optim ile veri arşivlemede kullanılacak bir Archive Request oluşturmak için aşağıdaki adımlar izlenebilir.

1- DB Alias: DB Alias Optim için bağlantı bilgilerini temsil etmektedir. Hangi DB ye hangi kullanıcı ve şifre ile bağlandığınızı DB Alias oluşturarak Optim e bildirirsiniz.

Bunun için Optim Configuration’ı açıp Tasks sekmesinden Create/Update DB Alias butonunu tıklamak yeterli. Açılacak olan pencerelerde herhangi bir veritabanı istemcisine bağlantı yapar gibi tanımlamaları gerçekleştirebilirsiniz.

2- Relationship: Veri tabanında bulunan tabloların PK -FK ilişkisi mevcutsa Optim bunları otomatik olarak görmektedir , mevcut olmadığı takdirde bu ilişkiler Optim arayüzü üzerinden oluşturulabilir. Oluşturulan bir “relationship” db seviyesinde yaratılmadan sadece Optim içinde bulundurulur. Relationship’ ler “Parent Table” ve “Child Table”lar seçilerek bu tabloların hangi keyler üzerinden ilişkilendirildiği kayıt edilir.

Optim arayüzünü açıp File > New > Relationship diyerek yeni bir ilişki tanımlayabiliriz

3- Access Definition: Access definition Optim’in hangi tablolara ve ne şekilde bir ilişki ile erişeceği tanımlarıdır. Bu ilişkiler hiyerarşik bir yapıda bulunmaktadır. Start table seçilerek adımlara başlanır ve tanımlı relationshiplere göre child’lara doğru ilerleme yapılır.

4- Archive Request: Access definition oluşturduktan sonra geriye kalan adım bu tanımlara göre ilgili tabloları silecek bir job oluşturmak , bu job bir Archive Request olacak.

File > New > Archive diyerek yeni bir Archive Request oluşturabiliriz.

Archive Request oluştururken dikkat etmemiz gereken noktalar şunlar ;

  • Description: AR nin neden oluşturulduğunu hatırlamanıza yardımcı olabilecek bir tanımlama için kullanılır.
  • Archive File: Arşiv olarak oluşturulacak olan dosyanın konumu ve ismi belirtilir. Arşiv File dosya uzantısı *.AF dir
  • Archive Index File: Optim in kendisi için arşive göre oluşturduğu index file’dır. Uzantısı *.AFX dir
  • Access Definition Options: 3. adımda oluşturduğumuz Access definition burada Named radio button u altında bulunur. Eğer kayıt edilmiş bir access definition yok ise bu job özelinde “local” bir access definition oluşturulabilinir.
  • Process options :
    • Row Limit : Tüm veriyi arşivlemek yerine sadece belli bir sayıda verinin arşivlenmesi için sınır belirlemekte kullanılır.
    • Database Connections : Veritabanında kaç paralel sorgu çalışacağına dair limit verilmesi için kullanılır.
    • Defer Delete After Archive: Bu checkbox default olarak tik atılmış halde gelir. Silme işleminin arşivlemeden daha sonra başka bir job içerisinde yapılacağını belirtir. Bu tik i kaldırırsak ek olarak “Notify” tabının yanında “Delete” tabı açılacaktır.

Defer Delete After Archive’daki tiki kaldırdığımız zaman açılan Delete Tab’ı aşağıdaki şekildedir.

Buradaki önemli husus RowID ye göre silme işlemini gerçekleştirmektir. Bu şekilde çok daha hızlı bir veri silme işlemi gerçekleştirilebilir.

Bütün bu ayarlamaları yaptıktan sonra Archive Request’imiz hazır olacaktır.Koşan adam-Run tuşu ile çalıştırabiliriz.

Daha detaylı bilgi için ;

https://www.ibm.com/support/knowledgecenter/en/SSMLNW_11.3.0/com.ibm.nex.optimd.dg.doc/topics/oparcuse-t-create_an_archive_request.html

IBM Optim ile başka neler yapabilirsiniz ?

https://www.slideshare.net/lucascibm/ibmoptimtechicaloverview01282009