<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Just a blog from Berkant Karduman</title>
	<atom:link href="http://buslat.com/feed" rel="self" type="application/rss+xml" />
	<link>http://buslat.com</link>
	<description>Delphi,Oracle,MySQL,MsSQL,Database,PowerShell,IT tech</description>
	<lastBuildDate>Tue, 07 Feb 2012 16:01:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Citect Scada Schneider Eğitimi</title>
		<link>http://buslat.com/citect-scada-schneider-egitimi.html</link>
		<comments>http://buslat.com/citect-scada-schneider-egitimi.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 11:22:25 +0000</pubDate>
		<dc:creator>PcDr Hasan ÇOBANOĞLU</dc:creator>
				<category><![CDATA[Scada]]></category>
		<category><![CDATA[Citect Scada Schneider Eğitimi]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=506</guid>
		<description><![CDATA[Citect Scada Programı
dotnetfx35.exe İNDİR
WindowsInstaller-KB893803-v2-x86 İNDİR 
Scada Citect Part 1 İNDİR
Scada Citect Part 2 İNDİR
Scada Citect Part 3 İNDİR
Scada Citect Part 4 İNDİR
Scada Citect Part 5 İNDİR
Scada Citect Part 6 İNDİR
NOT: Dosyaları indirdikten sonra zip dosyalarını Citect 7.20 dosyasının içerisine açın ve "setup.exe" tıklayınız...! 
Symbol Factory 2.0
Sembol Programı İNDİR
Citect Scada Eğitim Linkleri 
Citect Scada Kitabı (pdf) [...]]]></description>
			<content:encoded><![CDATA[<h5>Citect Scada Programı</h5>
<p>dotnetfx35.exe <a href="http://hotfile.com/dl/144736073/cb569b5/dotnetfx35.rar.html">İNDİR</a></p>
<p>WindowsInstaller-KB893803-v2-x86 <a href="http://hotfile.com/dl/144736410/3972cb7/WindowsInstaller-KB893803-v2-x86.rar.html">İNDİR</a> </p>
<p>Scada Citect Part 1 <a href="http://hotfile.com/dl/144736582/7333e81/Citect_7.20.rar.html">İNDİR</a></p>
<p>Scada Citect Part 2 <a href="http://hotfile.com/dl/144738256/fd364c8/Extras.rar.html">İNDİR</a></p>
<p>Scada Citect Part 3 <a href="http://hotfile.com/dl/144738855/1d8e4a4/Knowledge_Base.rar.html">İNDİR</a></p>
<p>Scada Citect Part 4 <a href="http://hotfile.com/dl/144740086/bc2f78e/Manuals.rar.html">İNDİR</a></p>
<p>Scada Citect Part 5 <a href="http://hotfile.com/dl/144741174/dfbdbfc/Citect.rar.html">İNDİR</a></p>
<p>Scada Citect Part 6 <a href="http://hotfile.com/dl/144741118/e647856/WebServer.rar.html">İNDİR</a></p>
<p>NOT: Dosyaları indirdikten sonra zip dosyalarını Citect 7.20 dosyasının içerisine açın ve "setup.exe" tıklayınız...! </p>
<h5>Symbol Factory 2.0</h5>
<p>Sembol Programı <a href="http://hotfile.com/dl/144743566/0309441/Symbol_Factory_2.0.rar.html">İNDİR</a></p>
<h5>Citect Scada Eğitim Linkleri </h5>
<p>Citect Scada Kitabı (pdf) <a href="http://hotfile.com/dl/144739497/20694ba/Vijeocitect_Egitim_not.rar.html">İNDİR</a></p>
<p>Citect Scada Eğitim Videoları En Kısa Zamanda Eklenecektir...!</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/citect-scada-schneider-egitimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Citect Scada Schneider</title>
		<link>http://buslat.com/citect-scada-schneider.html</link>
		<comments>http://buslat.com/citect-scada-schneider.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 11:17:54 +0000</pubDate>
		<dc:creator>PcDr Hasan ÇOBANOĞLU</dc:creator>
				<category><![CDATA[Scada]]></category>
		<category><![CDATA[Citect Scada Schneider Nedir]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=502</guid>
		<description><![CDATA[Citect Scada Schneider Nedir...?
Supervisory Control And Data Acquisition 
SCADA sistemleri için veri yolları farklı firmaların ürettiği farklı ürünler ve iletişim protoklleri ile günümüzde mühendislik zamanı açısından önemli bir dezavantaj oluşturmaktadır. Bunun farkına varan yazılımcı firmalar ise aynı andan birkaç protokolü destekleyen yazılımlar ortaya çıkarmışlardır. Bunun için ise ağ üzerine uygunlaştırıcı modüller ekleme zorunluluğu doğmuştur. Dolayısı [...]]]></description>
			<content:encoded><![CDATA[<h3>Citect Scada Schneider Nedir...?</h3>
<h2>Supervisory Control And Data Acquisition </h2>
<p>SCADA sistemleri için veri yolları farklı firmaların ürettiği farklı ürünler ve iletişim protoklleri ile günümüzde mühendislik zamanı açısından önemli bir dezavantaj oluşturmaktadır. Bunun farkına varan yazılımcı firmalar ise aynı andan birkaç protokolü destekleyen yazılımlar ortaya çıkarmışlardır. Bunun için ise ağ üzerine uygunlaştırıcı modüller ekleme zorunluluğu doğmuştur. Dolayısı ile günümüzde bir SCADA sistemi için tek bir veri yolu yapısından söz etmek neredeyse imkansız hale gelmiştir. Veri iletişimi konusunda yapılacak bir seçimin Ethernet yönünde yapılmasıyla sağlanan en büyük Avantaj ekonomidir. PC, Windows ve Internet teknolojilerinde standart bir bileşen olan ethernet teknolojisi yüksek veri hızlarında düşük maliyetle çalışabilmektedir. Kullanıcılar seçtikleri teknolojinin şu anki ve gelecekteki gereksinimlerini karşılayacağından emin olmak isterler. Doğal olarak hiçbir mühendis on yıl sonra bu gün kullandıkları ürünlerin piyasadan kalktığını veya ağ artık üzerindeki yükü taşıyamadığı için bütün iletişim sistemini yenilemek zorunda kalmayı istemez. Ancak ne yazık ki üreticiler arasındaki çekişmelerin standartlaşmayı geciktirdiği ve son kullanıcıların asıl gereksinimlerini karşılama konusunda başarısızlığa yol açtığı da bir gerçektir. </p>
<p>Sensörleri denetim uygulamalarını tek bir ağ yapısında toplamak isteyen şirketler çok az seçenek ile karşılaşmaktadırlar. Bunun için DeviceNet, CAN Bus, Profi Bus, ControlNet, Foundation Fieldbus.. gibi birkaç iletişim ağı teknolojisi vardır ve bunların her birinin üreticisi en iyi seçimin kendileri olacağını iddia ederler. Bunlardan hangisini seçmenin daha yararlı ve ekonomik olacağı yanıtlaması çok güç bir sorudur. Bunların hemen hepsi bir veya birkaç üreticinin özel ihtiyaçları göz önüne alınarak tasarlanmıştır. Örneğin ProfiBus'ın geliştirilmesinde Siemens ve Klockner-Moeller etkili olurlarken, Allen-Bradley ControlNet'i kendi PLCleri için geliştirmiştir. Öte yandan Foundation Fieldbus geleceğin veri yolu olarak, pek çok sistemle uyumluluk göz önüne alınarak tasarlanmaktadır. Foundation Fieldbus on yılı aşkın zamandır geliştirilme aşamasındadır ve bazı politik çıkarlar bu sistemin geliştirilmesini yavaşlatmıştır. Bütün bu olumsuz gelişmelere rağmen pazarın daralarak bütün üreticilerin destekleyeceği bir veya iki standart ağ teknolojisi ile sınırlanmasına sebep olacağına kesin gözüyle bakılmaktadır. Bu, PC'nin bilgisayar pazarını ele geçirmesinin hikayesine benzeyebilir. </p>
<p>PC ortamının açık sistem mimarisi neredeyse hayal edilebilen bütün sistemlerin kurulumuna olanak sağlamaktadır. Endüstriyel sistem tasarımcılarının değişik üreticilerden aldıkları ekipmanları benzeri bir açık mimari kullanarak bir arada ve sorunsuzca kullanabilme beklentilerini ve talepleri her gün artmaktadır. İşte bu noktada var olan sensör ağlarının içerdiği karmaşık iletişim tekniklerine alternatif olarak ethernet adıyla yeni bir iletişim teknolojisi yaratılmıştır..<br />
PC'yi endüstriyel pazara sokmayı başaran ekonomik sebepler şimdi de ethernet için geçerlidir. Win 9x.2000, NT ve Unix, ortamında yıllardır bir standart olan TCP/IP protokolü bütün verinin gönderilmesini garantileyen bir yapıya sahiptir ve günümüzde işletmelerin neredeyse tümünde bilgi akışı için en güçlü seçenektir. Ethernet, şu an var olan bütün endüstri standardı PC donanımları ve işletim sistemleri ile uyumludur. </p>
<p>Bir başka önemli nokta da kurulum ve bakım masraflarıdır. Burada da Ethernet diğer bütün alternatiflere karşı bir hayli avantajlı konumdadır. Ethernet'in kablolama özellikleri onun kurulumunu ve genişlemesini çok kolaylaştırmaktadır. Yapıya eklenen ucuz hublar, sisteme yeni birimler eklemeyi basitleştirirler. Bir cihazı yeni yerinde tekrar ağa bağlamak için yapılması gereken tek şey en yakınındaki hub'a bir 10Base-T kablosu çekmektir. Özelleşmiş ağ yapılarında eğitim ve bakım maliyetleri çoğu zaman hatırı sayılır miktarlara ulaşmasına rağmen eternet sisteminin bakımı var olan işletme personelince sorunsuz olarak yapılabilir Ethernetin 10-Mbps ve 100-Mbps versiyonları dağıtık I/O sistemleri için yeterli bir bant genişliği sunmaktadır.10Base-T bile 19.2 Kbaud tipik bir RS422/485'den çok daha hızlıdır. Bant genişliğinin büyük olması, özellikle pekçok sinyalin aynı anda gözlendiği uygulamalarda olaylara hızlı cevap verme anlamına gelir. 1997'de geliştirilen 100Base-T ile 100 Mbps transfer hızı ile şu an var olan en yüksek performanslı rakibinden bile 10 kat daha hızlı ve o oranda ucuz hale gelmiştir. Son olarak, 1998'de IEEE 802.3z standardının kabulü ile Ethernet için artık 1000 Mbps hızlardan söz edilmektedir. Bu yeni standart "Gigabit Ethernet" diye tanımlanmaktadır . Bu yeni standardın önemli özelliklerinden bir tanesi kurulu bulunan 10Base-T ağlarla uyumluluğudur. </p>
<p>Pekçok uygulama genel olarak çeşitli sensörlerden gelen verinin izlenmesini gerektirir. Makina veya süreçlerin izlenmesi, alarmların, arızaların, proses değişkenlerinin kaydedilmesi bu sınıfa dahil edilebilir.Bir diğer uygulama alanı ise özellikle insan bulunmayan ortamlardaki çevre koşullarının izlenmesi ve kontrolüdür. Bu uygulamalar veriyolu üzerinde çok fazla bir yük oluşturmaz. Ağın yalnızca veriyi hızlı ve güvenli bir şekilde iletmesi gereklidir. Bütün veri iletildiği sürece determinizm ve mesaj önceliği gibi sorunlar çok önemli değildir. Yüksek veri transfer hızı, güvenilir veri iletimi ile bir TCP/IP Ethernet sistemi bu tür uygulamalar için son derece uygundur. Başka hiçbir veriyolu hız; maliyet ve kurulum kolaylığı konusunda Ethernet ile rekabet edemezDenetim uygulamaları için sistemler tasarlarken bazı farklı gereksinimler vardır. Bu sistemler öngörülebilir tepkiler vermeli, veriyolu belirli süre içinde bir veri paketini gideceği yere ulaştırmalıdır. Bu tür uygulamalarda alışıldığı üzere çoğu zaman bir sensörden gelen bilgilere göre herhangi bir olayın gerçekleşmesi gerekir. Denetim uygulamaları için token-passing metodu kullanarak veri paketleri arasında çarpışmayı engelleyen ProfiBus gibi veriyolları geliştirilmiştir. veri çarpışması Ethernet üzerinde iki cihaz aynı anda bilgi göndermeye kalkıştıklarında gerçekleşir. Tabii ki bu öngörülebilirliğin de bir bedeli vardır. Diğer veri yollarında sistem elemanları pahalıdır, kullanılan protokoller özeldir, bütünleşme zordur ve tecrübeli programcılara gereksinim vardır. ( Her nekadar Ethernette veri çarpışması olasılığının var olduğu ve bu nedenle bazı uygulamalar için güvensiz bir teknoloji olduğu düşünülsede yüksek ekonomik avantajları, kanıtlanmış başarısı, açık mimari yapısı onu sahadaki veri toplama sistemleri ile işletmedeki geri kalan diğer cihazlarla birleştirmek için yaygın bir ağ çözümü haline getirmiştir. </p>
<p>Özel ağ yapılarının yüksek maliyetlerinin yanısıra bütün fabrikada tek bir ağ standardına duyulan ihtiyaç Ethernetin yaygınlaşmasında çok önemli rol oynamıştır. Eğilim ilk olarak Ethernet'in Foxboro, SquareD, Westinghouse gibi bazı proses denetimi ve PLC firmalarınca kontrol seviyesinde kullanılması ile başladı. General Motors ise şu anda otomotiv endüstrisinde yaygın olarak kullanılan yeni bir yaklaşımın öncüsü oldu: Open Modular Architecture Controller. Bu yaklaşım Ethernet üzerinden PC-tabanlı denetimi desteklemektedir. Ethernet'in dev tabanı, bu standardın ilerideki uygulamaların da altından kalkabilecek şekilde geliştirileceğinin ve destekleneceğinin bir göstergesidir. IEEE komitesi Ethernet standardını çeşitli revizyonlardan geçirmiştir. Örneğin, IEEE 802.3x full duplex spesifikasyonu 1997'de ortaya çıkmıştır. Bu twisted-pair veya fiber optik kablo üzerinden standart Ethernet veri paketlerinin çift yönlü olarak aynı anda alınmasına ve gönderilmesine olanak tanımaktadır. Bu standardın kullanılması bant genişliğini iki katına çıkarırken, veri çarpışması olasılığını da en aza indirmektedir. </p>
<p>Bir diğer önemli standart ise IEEE 802.1p dir ve mesaj önceliğine sahiptir.100Base-T gibi daha hızlı teknolojiler veri çarpışması olasılığını azaltsalar da bu standart, öngörülebilirliğin hayati olduğu uygulamalarda bu olasılığı tamamen ortadan kaldırmaktadır. 802.1p'nin uygulanması ile kullanıcılar mesajlara öncelik sırası atayabilir ve bazı kritik mesajların cevap süresi kesin olarak belirlenebilmektedir. Son yıllarda birçok Ethernet tabanlı veri toplama sistemi piyasaya çıkmıştır, Belli başlı DAC, RTU ve PLC üreticileri Ethernet arabirimleri sunmaktadırlar. Endüstriyel otomasyon alanında çalışan pekçok uzmana göre Foundation FieldBus'ın kontrol seviyesi H2 spesifikasyonlarının 100Base-T Ethernet tabanlı olacağı öngörülmektedir. Bu uzmanlara göre Internet teknolojilerinin daha da etkili olmaları, ve endüstriyel otomasyon pazarında büyük değişikliklere yol açmaları öngörülmektedir. Yakın gelecekte bir Web browser üzerinde Java veya Dynamic HTML kullanarak bütün çalışma bilgilerini yayınlayacak endüstriyel cihazların çıkması beklenmektedir. Sahadaki her cihaz bir homepage'e sahip olacak ve bu sayfadan konfigürasyon ve çalışma bilgilerini izlemek her zaman mümkün olacaktır. Sahadaki cihazlardan gelen veri çok değişik formatlarda görsellenerek verilerin ağ üzerinde "canlı" hale gelmesi sağlanacaktır. Bu fabrika içindeki ağla bilgi alışverişinde bulunan her cihazın bir IP numarasına sahip olmasını ve TCP/IP protokolünde haberleşmesini gerektirecektir. Doğru Firewall korulması ile bu bilgiler yalnızca yerel olarak değil Internet erişimine sahip her yerden izlenebilir hale gelecektir. Kuşkusuz bu eğilimlerin sonucu olarak, otomasyon sistemlerinin mimarisi ağın yapısına bağlı olarak belirlenecektir.<br />
Sırası gelmişken RTU lardan bağımsız olarak kullanılan diğer haberleşme protokollarından<br />
da kısaca bahsedelim: </p>
<ul>
<li>
<strong>RS232 </strong>: En eski, en basit, en yaygın ve en çok bilinen iletişim protokolüdür.
</li>
<li>
<strong>RS485</strong> : RS232'nin mesafe yönünden oluşturduğu dezavantajı azaltmak için geliştirilmiş protokoldür.
</li>
<li>
<strong>USB</strong> : Kısa mesafe ve hızlı veri iletişimi ile günümüzdeki PC bazlı donanım veya aparat üreten firmaların hemen hemen hepsince desteklenen iletişim protokolüdür.
</li>
<li>
<strong>GPIB</strong> : Hızlı ve güvenilir veri iletimi için geliştirilmiş bir iletişim protokolüdür.
</li>
<li>
<strong>PROFIBUS</strong> : Profibus geniş kapsamlı üretim ve proses otomasyonu için tasarlanmış üreticiden bağımsız açık saha bus standartıdır. Üretici bağımsız oluşu ve açıklığı uluslararası standartlar olan En 50170, EN 50254 ve IEC 61158 üzerine kurulmuştur. 650'ye yakın üyesi bulunan ve birçok araştırma enstitiüsü tarafından desteklen Profibus, farklı üreticilerin cihazları arasında haberleşme sağlayan ve bunu yaparken herhangi özel bir arabirime ihtiyacı olmayan bir veri yolu olmakla birlikte, yüksek hızlı kritik uygulamalar veya komplex haberleşme işlemleri gibi kullanım alanlarında yaygın olarak uygulanan bir veri yolu sistemidir.
</li>
<li>
<strong>CAN BUS </strong>: Bosch firması tarafından geliştirilen (seri) veri yolu sistemi olan Controller Area Network veri yolu sistemi, özellikle otomotiv sektörüne yönelik akıllı network sensör ve actuatörler için tasarlanmış ve kısa bir zamanda bu çalışmalarda standart hale gelmiştir. Multi-Master yani bütün CAN noktalarının data iletebildiği ve birkaçınıda eş zamanlı olarak istekte bulunabildiği veri yolu sistemi olan CAN hiçbir abone ya da kullanıcı için herhangi bir adreslemeye sahip olmamakla birlikte öncelikli mesajın iletilmesi şeklinde veri iletir. Bu veri iletişim protokolu en sık Otomotiv ve Medikal endüstrisinde kullanım alanı bulmaktadır.
</li>
<li>
<strong>DEVICENET</strong> : Allen-Bradley tarafından geliştirilen Akıllı sensör ve aktüatorler için tasarlanmış endüstriyel network yapısı olan DEVICENET "Open DeviceNet Vendors Association " adı verilen üretici bağımsız bir kuruluş tarafından günümüzde gelişimini sürdürmektedir. DEVICENET ile limit switch, fotoelektrik sensör, barkod okuyucu ve motor starterleri gibi düşük seviyeli aygıtlara bağlanılabilir ve PC veya PLC gibi daha üst seviyeli aygıtlarla haberleşme sağlanabilir
</li>
<li>
<strong>FOUNDATION FIELD BUS</strong>: Özellikle dağıtılmış proses kontrol uygulamaları için dizayn edilen Fieldbus Foundation (organizasyon) olarak dünyadaki otomasyon sistemlerinde yaklaşık %80 'lik bir pazara sahip olan 140 şirketin biraraya gelmesi ile oluşmuştur. Teknolojisi fiziksel katman, haberleşme çatısı ve kullanıcı katmanından meydan gelmektedir.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/citect-scada-schneider.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WorkSpace Manager</title>
		<link>http://buslat.com/workspace-manager.html</link>
		<comments>http://buslat.com/workspace-manager.html#comments</comments>
		<pubDate>Mon, 30 Jan 2012 13:32:46 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[ORA-00942]]></category>
		<category><![CDATA[ORA-20003]]></category>
		<category><![CDATA[ORA-20061]]></category>
		<category><![CDATA[workspace manager]]></category>

		<guid isPermaLink="false">http://buslat.com/workspace-manager.html</guid>
		<description><![CDATA[WorkSpace Manager
Oracle WorkSpace Manager  farklı WorkSpace ler oluşturup tabloların farklı sürümlerini bu çalışma alanlarında kaydedebileceğimiz bir yapıdır. Aşağıdaki gereksinimleri karşılar.

Kayıt güncelleme ve eklemelerini Production DB’ye uygulamadan önce gruplar halinde yönetmek.
Veri tabanı tasarımını yönetebilmek için.
Birden farklı senaryoda verilerin farklı sürümlerine göre analizler yapabilmek için.
 Veri değişikliklerini saklamak için.

Bu işlemlerin tümü DBMS_WS paketindeki procedure’ler yardımı ile yapılır. [...]]]></description>
			<content:encoded><![CDATA[<h1>WorkSpace Manager</h1>
<p>Oracle WorkSpace Manager  farklı WorkSpace ler oluşturup tabloların farklı sürümlerini bu çalışma alanlarında kaydedebileceğimiz bir yapıdır. Aşağıdaki gereksinimleri karşılar.</p>
<ul>
<li>Kayıt güncelleme ve eklemelerini Production DB’ye uygulamadan önce gruplar halinde yönetmek.</li>
<li>Veri tabanı tasarımını yönetebilmek için.</li>
<li>Birden farklı senaryoda verilerin farklı sürümlerine göre analizler yapabilmek için.</li>
<li> Veri değişikliklerini saklamak için.</li>
</ul>
<p>Bu işlemlerin tümü DBMS_WS paketindeki procedure’ler yardımı ile yapılır. Bu procedurelerden en önemlileri</p>
<p>o   DBMS_WM.CreateWorkSpace</p>
<p>o   DBMS_WM.GotoWorkSpace</p>
<p>o   DBMS_WM.EnableVersioning</p>
<p>o   DBMS_WM.DisableVersioning</p>
<p>o   DBMS_WM.BeginDDL</p>
<p>o   DBMS_WM.CommitDDL</p>
<p>o   DVMS_WM.SetDiffVersions</p>
<p>Veri tabanında bulunan tablolardan birini EnableVersioning procedure ile version-enabled hale getirirsiniz. Bu işlemi yaptığınızda WorkSpace manager bu tablo ile ilişkili bazı VIEW lar oluşturur, tablo yapısında bazı değişiklikler uygular ve sadece DBA kullanıcıların görebileceği bazı nesneler oluşturur.</p>
<p>Yaptığı en önemli değişiklik  tablonun adını&lt;TABLE_NAME&gt;_LT şeklinde değiştirmesi ve eski tablo ile aynı isimde bir VIEW oluşturmasıdır. Ama kullanıcılar tüm SQL sorgularında hala aynı ismi kullanmaya devam etmelidir.</p>
<p>Bir tablo version-enabled hale getirildiğinde tüm satırları  çoklu versiyon desteğini sağlar. GotoWorkSpace procedure ile değişik workspaceler arasında seçim yapıldığında  seçtiğiniz workspace de version-enable hale getirilmiş olan tablonun verileri ilgili versiyondaki hali ile görebilirsiniz.</p>
<p>Version-enabled bir tablo için <strong>&lt;table_name&gt;_DIFF</strong> isimli view workspace manager tarafında otomatik olarak oluşturulur. Bu view SetDiffVersions procedure ile alınan iki workspace için tablodaki verilerin farklıklarını gösterir.</p>
<p><strong>&lt;table_name&gt;_HIST </strong>view ise<strong> </strong>tablodaki verilerin geçmişini gösterir.</p>
<h2>Dikkat Edilmesi Gereken Hususlar</h2>
<ul>
<li> Version-enabled tabloda primary-key  alanın değerini güncelleyemezsiniz. Güncelemeyi denerseniz
<pre>ORA-20003: cannot modify primary key values for version-enabled tables</pre>
<p> hatası ile işlem iptal edilir.</li>
<li>Workspace isimleri büyük-küçük harf ayrımına duyarlıdır.(case sensitive)</li>
<li>WorkSpace adı maksimum 30 karakter olabilir.</li>
<li> WorkSpace ler aralırında hiyerarşi oluşturabilir. Bu hiyerarşi maksimum 30 seviyede olabilir.</li>
<li>Version-enabled tabloda insert,update,merge komutları RETURUNING yapısını desteklemez.</li>
<li>Version-enabled tabloda bir DDL(Data Definition Language) işlemi gerçekleştirmeden önce mutlaka DBMS_WM paketindeki beforeDDL ve CommitDDL procedureleri çalıştırılmalıdır.
<pre>Aksi halde ORA-00942: Table or view does not exists</pre>
<p> hatası alırsınız.</li>
<li> Alter table ifadesinde tablo isminin sonuna _lts eklendiğine dikkat ediniz.</li>
<pre class="sql">&nbsp;
   EXECUTE DBMS_WM.BeginDDL<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TEST_TBL'</span><span style="color: #66cc66;">&#41;</span>;
   <span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> TEST_TBL_lts <span style="color: #993333; font-weight: bold;">ADD</span> <span style="color: #66cc66;">&#40;</span>aciklama VARCHAR2<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
   EXECUTE DBMS_WM.CommitDDL<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TEST_TBL'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<li>Version-enabled bir tabloda partitioned,reverse veya join index oluşturamaz veya drop edemezsiniz.</li>
<li>Eğer yabancı anahtarla bağlanmış iki tablodan baba tablo version-enabled yapılmışsa çocuk tabloda yapılmalıdır.</li>
<li>Version-enabled bir tabloda sadece per-row tirgger yapısı desteklenir.</li>
<li>Version-enabled bir tabloyu drop etmeden önce mutlaka DisableVersioning procedure kullanmalısınız aksi halde
<pre>ORA-20061: versioned objects have to be version disabled before being dropped</pre>
<p> hatası ile işlem iptal edilir.</p>
<pre class="sql">&nbsp;
exec DBMS_WM.DisableVersioning<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TEST_TBL’)
</span></pre>
<p>yukardaki sql komutu ile versionlama devre dışı bırakılabilir.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/workspace-manager.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Şafakmatik</title>
		<link>http://buslat.com/safakmatik.html</link>
		<comments>http://buslat.com/safakmatik.html#comments</comments>
		<pubDate>Sun, 22 Jan 2012 06:18:48 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[Askerlik]]></category>
		<category><![CDATA[şafak]]></category>
		<category><![CDATA[şafak metre]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=469</guid>
		<description><![CDATA[ Burayı tıkla 
Şafak sorgulaması yapmak için yaptığım form.
Bundan sonra buradan bakabilirsiniz.

Şafağını öğrenmek için burayı tıkla.

Şafağa göre çıkan yorumları beğeneceğinizi umuyorum.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://buslat.com/safak/safagini-ogren.php" > Burayı tıkla </a></p>
<p>Şafak sorgulaması yapmak için yaptığım form.</p>
<p>Bundan sonra buradan bakabilirsiniz.</p>
<p><a href="http://buslat.com/safak/safagini-ogren.php" ><br />
Şafağını öğrenmek için burayı tıkla.<br />
</a></p>
<p>Şafağa göre çıkan yorumları beğeneceğinizi umuyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/safakmatik.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diyarbakır KTM</title>
		<link>http://buslat.com/diyarbakir-ktm.html</link>
		<comments>http://buslat.com/diyarbakir-ktm.html#comments</comments>
		<pubDate>Sun, 15 Jan 2012 07:58:28 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[Askerlik]]></category>
		<category><![CDATA[diyarbakır ktm]]></category>
		<category><![CDATA[kabul toplanma merkezi]]></category>
		<category><![CDATA[KTM]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=456</guid>
		<description><![CDATA[İzine Giden Asker
Aralık-2011 ve Ocak -2012 arasında izine gidiş ve izinden dönüş için mecburen uğradığım Diyarbakır KTM ve KTM lerle ilgili bir kaç cümle yazmak istiyorum.
KTM Kabul Toplanma Merkezi kelimelerinin baş harflerinden oluşan bir kısaltma  askerliğinizi içgüvenlik bölgesinde yapmadıysanız size biraz yabancı gelebilir. Bu bölgede askerlik yapan şahıslar izin,terhis,hastane , görev vb. sebeblerle seyahat [...]]]></description>
			<content:encoded><![CDATA[<h1>İzine Giden Asker</h1>
<p>Aralık-2011 ve Ocak -2012 arasında izine gidiş ve izinden dönüş için mecburen uğradığım Diyarbakır KTM ve KTM lerle ilgili bir kaç cümle yazmak istiyorum.<br />
<strong>KTM </strong>Kabul Toplanma Merkezi kelimelerinin baş harflerinden oluşan bir kısaltma  askerliğinizi içgüvenlik bölgesinde yapmadıysanız size biraz yabancı gelebilir. Bu bölgede askerlik yapan şahıslar izin,terhis,hastane , görev vb. sebeblerle seyahat etmek durumda kalırlarsa yolculukları KTM denen birazda Otogarları andıran bu yerlerden geçmek zorunda.<br />
Mardin KTM den sonra Diyarbakır KTM 'de de gördümki KTM 'lerde düzeni sağamak çok zor. Yüzlerce kişinin toplandığı , sihhi koşulların çok iyi olmadığı bazende orman kanunlarının işlediği bir yer. </p>
<h2>Diyarbakır KTM</h2>
<p>7. Kol Ordunun içerisinde oluşturulmuş bir yerdir. Güneydoğu konvoy güzergahının giriş kapısı. Belkide en kalabalık KTM burasıdır. 120-150 kişilik 4 adet koğuş var. Buralar yetersiz kaldığında yemekhane ve gazinolarda gecelenebiliyor. Misafir asker sıfatı ile burada bulunmak insana çok büyük bir eziyet gibi geliyor.<br />
Misafir askerler bu koğuşlar ve araç sevk alanı dışında bir yerde bulunamazlar. Bu sevk alanından Lice,Kulp,Hani,Şırnak,Cizre,Silopi,Batman,Elazığ,Ergani gibi pek çok yere konvoy düzenlenir.<br />
Koğuşlarda bazen bir yatakta birden fazla kişi  yatması zorunlu olur.<br />
Tesisin tüm yapıları burada kalan askerler tarafından harap edilmiştir. Kapılar kırık, pencereler bozuk,musluklar patlak,pisuvarlar ve tuvaletler tıkalı, sevk alanında oturma bankları sökük durumdadır. Bu tesisler hem bakımsız hem harap edilmiştir.<br />
Araç sevk alanı kış şartları için uygun değildir. O yüzden kışın buraya gelen askerler buldukları her yanıcı cismi(banklar,ağaçlar,çöpler,fırıncıdan çalınan odunlar,vb) yakarak ısınmaya çalışır. Burada bulunduğunuz sürece kendi devletiniz tarafından esir kampına alınmış gibi hissedersiniz. Birde sizinle dalga geçer gibi "Misafir Personel" diye hitap ederler size.Bazen insan diyor misafirinize bunu reva görüyorsanız düşmanınıza ne yaparsınız acaba diye.<br />
Burada görev yapan rütbeli personelde sinirlerine hakim olamamakta bazen "Misafir Asker" dedikleri kampta bulunan kişilere gayri-insani davranışlar sergilemektedirler. Ben orda iken çileden çıkan bir üsteğmen tüm askerlere hitaben yaptığı konuşmasında güya bazılarımızı kast ederek "O.Çocukları " gibi hakaretler içeren cümleler kurmuştu.<br />
Diyarbakır KTM ye yeni bir bina yapıldığınıda gördüm. Henüz hizmete girmemiş olan bu binada hizmete girdikten kısa bir süre sonra harap olacak endişesi taşımaktayım.  Keşke dediğim bazı noktalar var.<br />
Mesela</p>
<ul>
<li>Askerlerin sevkiyatın da hava yolu tercih edilse daha güzel olur. Buradan haftada 3-4 defa helikopter kaldırılsa bu tesislerde bu kadar kalabalık olmaz diye düşünüyorum </li>
<li>Terhis ve izin için Diyarbakır'a kadar getirilmiş ama izin günü gelmediği için burada boş yere bekletilen  askerlerin KTM'ye katıldıkları an serbest bırakılmaları da hem bu tesislerdeki gereksiz kalabalığı eritecektir. Bu askerler eksik hizmet sürelerini bağlı bulundukları askerlik şubesinde tamamlayabilir veya bu süreler yapılmış sayılabilir.     </li>
<li>Bu bölgede ikamet eden şahısların  KTM'ye katılma zorunluluğu da ayrı bir saçmalık bence. Adam zaten hayatını Şırnak'ta,Lice'de veya Cizre'de yaşıyor. Kendi evine giderken askeri konvoylardan ,KTM lerden geçmesi gereksiz.    </li>
</ul>
<p>KTM de bulunduğunuz sürece Türk insanının genel yapsını daha yakından görürsünüz. Ne kadar "temiz" ne kadar "yardım sever" bir millet olduğumuzu orada yaşayarak görüyorsunuz.<br />
Ayrıca <strong>askeri çifte standart'da</strong> burada her yerdekinden daha çok göze batar. Tamam konakladığımız şartlar rütbe farkıdan dolayı böyle diyelim ama aynı kanun neden Erbaş ve Er'lere farklı uygulanır. Ben orda iken bir astsubayın kendisi KTM de olmadığı halde izin kağıdına gerekli işlemler yapılmış ve birliğine gönderilmişti mesela. Tıpkı kışlalarda cep telefonu kullanmanın sadece erbaş ve erlere yasak olması gibi.(Aslında tüm personel için kışlaya sokulması yasak olan şeyler aynıdır.)</p>
<h3> Hayatta Kalma Yöntemleri Ve Öneriler</h3>
<p>KTM de kalacak arkadaşlar için bazı önerilerim var.</p>
<ul>
<li>Öncelikle gerçekten işiniz yoksa izne çıkmayın ,hastaneye gitmeyin. En iyisi KTM 'ye katılma zorunluluğu olan durumlardan  uzak durmak.</li>
<li>KTM'de bulunduğunuz süre içinde temizliğe özen gösterin ve başkalarını da bu konuda uyarın uyarın. Burada kaldığınız sürece kendiniz ve çevrenizdeki insanların temizliğe dikkat etmesinde büyük önem var. Bunu sağlamak tesisin yöneticilerinden daha çok "Misafir Personel" dedikleri askerlerin elinde. Maalesef arkadaşlarımız koğuşlarda yedikleri yemeğin , içtikleri sigaranın ve daha bilmem nelerin çöplerini koğuşlara hatta bazen yataklara bırakıp çıkıyorlar.</li>
<li>Burada bir adet marketde var. Gıda ihtiyacınızı sevk alanında ve koğuş bölgesindeki kantinlerden veya bu markettenden karşılayabilirsiniz. Diyarbakır KTM'de cep telefonundan esrara kadar herşeyi satan birileri bulunur. </li>
<li>Cep telefonu şarj etmek için elektrik tertibatını kurcalamayın. Zaten gidince görürsünüz Kahve makinesinin besleme kablosundan, lambaların kablosuna kadar pek çok yer askerlerce açılıp şarj için kullanılmıştır. Bunun yerine pilli şarj cihazlarından veya güneş enerjilli şarj cihazlarından yararlanın.</li>
<li>Diyarbakır KTM de Vakıfbank ATM si mevcuttur. Buradan para ihtiyacınızı karşılayabilirsiniz.</li>
</ul>
<p>Burayla ilgili söylecek çok şey var ama şimdilik bu kadar.</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/diyarbakir-ktm.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aynı isimdeki Dosyalar</title>
		<link>http://buslat.com/ayni-isimdeki-dosyalar.html</link>
		<comments>http://buslat.com/ayni-isimdeki-dosyalar.html#comments</comments>
		<pubDate>Sat, 31 Dec 2011 11:30:17 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[duplicate finder]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=446</guid>
		<description><![CDATA[İsimleri Aynı Olan Dosyaları Bulmak
Bir programcı projesi ile ilgili çalışmalarını yapmaya başlar önce bir sınıf yazar ve bu sınıfı class1.pas ismiyle saklar sonra başka bir projedede farklı bir işi yapacak olan aynı isimde bir dosya yazar. Sonra gün gelir aynı isimdeki dosyaları aynı proje klasöründe görmeye başlar. İşler git gide dahada karışır. PowerShell ile yazacağımız [...]]]></description>
			<content:encoded><![CDATA[<h1>İsimleri Aynı Olan Dosyaları Bulmak</h1>
<p>Bir programcı projesi ile ilgili çalışmalarını yapmaya başlar önce bir sınıf yazar ve bu sınıfı class1.pas ismiyle saklar sonra başka bir projedede farklı bir işi yapacak olan aynı isimde bir dosya yazar. Sonra gün gelir aynı isimdeki dosyaları aynı proje klasöründe görmeye başlar. İşler git gide dahada karışır. PowerShell ile yazacağımız tek satırlık bir script ile aynı ismi verdiğimiz dosyaları görebiliriz. Bu kodu Başlat -> Çalıştır ekranına PowerShell yazarak açacağınız PowerShell komut arayüzene yazarak çalıştırabilirsiniz.<br />
İşte bahsettiğimiz kod</p>
<pre class="bash">&nbsp;
<span style="color: #c20cb9; font-weight: bold;">dir</span> d:\projeler -Filter *.pas -Recurse | group name | where <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #007800;">$_</span>.Count -gt <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> | % <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #007800;">$_</span>.group | foreach<span style="color: #7a0874; font-weight: bold;">&#123;</span> <span style="color: #007800;">$_</span>.fullname <span style="color: #7a0874; font-weight: bold;">&#125;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;</pre>
<p>Burda Filter parametresi ile sadece .pas uzantılı dosyaları alıyoruz. Recurse parametresi ise tüm alt klasörleri ile birlikte verdiğimiz klasörü taramak için. </p>
<h3>Group-Object</h3>
<p>Collection lar ile işlem yaparken gruplamamız gerekirse group-object cmdlet kullanılıyor. Yukardaki örnekte "Group Name" komutu pipeline ile kendisine gelen veriyi Name property sine göre grupluyor.</p>
<h3>Where-Object</h3>
<p>Collection lar ile işlem yaparken arama ,filtreleme yapmak gerekirse where-object cmdlet kullanılıyor. Yukardaki örnekte "where {$_.Count -gt 1}" where komutu pipeline ile kendisine gelen verinin her bir elemanını kontrol ederek Count propery değeri 1 den büyük olanları dönderiyor.</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/ayni-isimdeki-dosyalar.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebird Parola Sıfırlama</title>
		<link>http://buslat.com/firebird-parola-sifirlama.html</link>
		<comments>http://buslat.com/firebird-parola-sifirlama.html#comments</comments>
		<pubDate>Sat, 31 Dec 2011 10:06:13 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[FireBird]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=442</guid>
		<description><![CDATA[Security2.Fdb
Firebird RDBMS sisteminde veri tabanına erişim yetkisi olan kullanıcıların bilgileri Security2.Fdb dosyasında tutulur.Bu dosya normalde firebird kurulumun yapıldığı klasörde bulunur. Örneğin benim bilgisayarımda "C:\Program Files\Firebird\Firebird_2_0\security2.fdb" bu klasörde bulunuyor. 
Firebird sysdba kullanıcısının şifresini kurtarmak için  security2.fdb dosyasını başka bir bilgisayardan  veya firebirdsql.org sunucusundan indirerek değiştirmeniz yeterlidir.
Dosyayı değiştirdiğinizde sysdba kullanıcısının varsayılan şifresi olan "masterkey" ile [...]]]></description>
			<content:encoded><![CDATA[<h1>Security2.Fdb</h1>
<p>Firebird RDBMS sisteminde veri tabanına erişim yetkisi olan kullanıcıların bilgileri Security2.Fdb dosyasında tutulur.Bu dosya normalde firebird kurulumun yapıldığı klasörde bulunur. Örneğin benim bilgisayarımda "C:\Program Files\Firebird\Firebird_2_0\security2.fdb" bu klasörde bulunuyor. </p>
<p>Firebird sysdba kullanıcısının şifresini kurtarmak için  security2.fdb dosyasını başka bir bilgisayardan  veya firebirdsql.org sunucusundan indirerek değiştirmeniz yeterlidir.</p>
<p>Dosyayı değiştirdiğinizde sysdba kullanıcısının varsayılan şifresi olan "masterkey" ile oturum açabilirsiniz. Tabiki dosyayı değiştirebilmek için öncelikle firebird sunucusunu durdurmanız gerekecektir. Daha sonra bahsettiğim yerlerden temin ettiğiniz dosyayı elinizdeki ile değiştirin.</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/firebird-parola-sifirlama.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swap Size Ne Olmalı</title>
		<link>http://buslat.com/swap-size-ne-olmali.html</link>
		<comments>http://buslat.com/swap-size-ne-olmali.html#comments</comments>
		<pubDate>Fri, 30 Dec 2011 20:22:56 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[dba]]></category>
		<category><![CDATA[swap advisor]]></category>
		<category><![CDATA[swapsize]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=424</guid>
		<description><![CDATA[Linux Swap Space
Windows işletim sistemlerinde takas dosyası olarak bilinen yapı linux işletim sistemlerinde Swap Space olarak karşımıza çıkıyor.
Sistem sahip olduğu fiziksel RAM 'den daha fazla belleğe ihtiyaç duyduğunda veya bir uygulama çok büyük veri bloklarını belleğe yükleyip kullanmadığında SWAP SPACE kullanılıyor.
Yani SWAP alanı işletim sistemi tarafından Fiziksel RAM gibi kullanılıyor. Tabikide bu durum performansı olumsuz [...]]]></description>
			<content:encoded><![CDATA[<h1>Linux Swap Space</h1>
<p>Windows işletim sistemlerinde takas dosyası olarak bilinen yapı linux işletim sistemlerinde Swap Space olarak karşımıza çıkıyor.<br />
Sistem sahip olduğu fiziksel RAM 'den daha fazla belleğe ihtiyaç duyduğunda veya bir uygulama çok büyük veri bloklarını belleğe yükleyip kullanmadığında SWAP SPACE kullanılıyor.<br />
Yani SWAP alanı işletim sistemi tarafından Fiziksel RAM gibi kullanılıyor. Tabikide bu durum performansı olumsuz etkiliyor çünkü HDD üzerinde bulunan SWAP alanının RAM kadar hızlıçalışması mümkün değil.</p>
<h1>Oracle Linux Swap Size</h1>
<p>Oracle kuran arkadaşlar sürekli swap size ne olmalı diye soruyorlar. Bu sorunun cevabı oracle dökümanlarında şu şekilde verilmiş. </p>
<h3>Linux x86-64 ve IBM: Linux on System z:(64 Bit)</h3>
<p><br \><br />
•	Aşağıdaki tablo RAM boyutu ve tavsiye edilen SwapSize boyutlarını gösteriyor:<br />
<br \></p>
<table border="2">
<tr>
<td>RAM </td>
<td>SwapSpace</td>
</tr>
<tr>
<td>4 GB ve 8 GB Arasında</td>
<td>RAM boyutunun 2 katı </tr>
<tr>
<td>8 GB ve 32 GB arasında</td>
<td>	RAM boyutunun 1.5 katı </td>
</tr>
<tr>
<td>32 GB ve Daha büyük  </td>
<td>	32 GB</td>
</tr>
</table>
<p><br \></p>
<h3>Linux x86:(32 Bit)</h3>
<p><br \></p>
<p>•	Aşağıdaki tablo RAM boyutu ve karşılığında tavsiye edilen SwapSize boyutlarını gösteriyor:<br />
<br \></p>
<table border="2">
<tr>
<td>RAM </td>
<td>SwapSpace</td>
</tr>
<tr>
<td>1 GB ve 2 GB Arasında</td>
<td>RAM boyutunun 1.5 katı </tr>
<tr>
<td>2 GB ve 16 GB arasında</td>
<td>	RAM boyutu ile aynı </td>
</tr>
<tr>
<td>16 GB ve Daha büyük  </td>
<td>	16 GB</td>
</tr>
</table>
<p><br \><br />
<br \><br />
<br \></p>
<p>Daha fazla bilgi için <a href="http://docs.oracle.com/cd/E11882_01/install.112/e24321.pdf"> Oracle® Database Installation Guide 11g Release 2 (11.2)</a> dökümanındaki Linux->Memory Requirements. Başlığına bakabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/swap-size-ne-olmali.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASM Disk Usage</title>
		<link>http://buslat.com/asm-disk-usage.html</link>
		<comments>http://buslat.com/asm-disk-usage.html#comments</comments>
		<pubDate>Wed, 28 Dec 2011 15:12:14 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[asm]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=419</guid>
		<description><![CDATA[ASM
ASM(Automatik Storage Management ) disk ve dosya yönetimini sağlayan özel bir oracle instance dır. ASM yapısında disk grupları,dizinler ve dosyalar oluşturabilirsiniz. Bu yapıda  datafiles, controlfiles, logfiles barındırılabilir.
ASM yapısında disk gruplarının kullanımını görüntülemek için aşağıdaki SQL'i kullanabilirsiniz.
&#160;
SELECT name, free_mb, total_mb, round&#40;&#40;total_mb-free_mb&#41;/total_mb*100,2&#41; &#34;Usage&#34; FROM v$asm_diskgroup;
&#160;
ASMCMD
ASM yapısında bir dosyayı silmek için ASM instance'a bağlanarak
&#160;
ALTER DISKGROUP disk_group_1 DROP [...]]]></description>
			<content:encoded><![CDATA[<h1>ASM</h1>
<p>ASM(Automatik Storage Management ) disk ve dosya yönetimini sağlayan özel bir oracle instance dır. ASM yapısında disk grupları,dizinler ve dosyalar oluşturabilirsiniz. Bu yapıda  datafiles, controlfiles, logfiles barındırılabilir.</p>
<p>ASM yapısında disk gruplarının kullanımını görüntülemek için aşağıdaki SQL'i kullanabilirsiniz.</p>
<pre class="sql">&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> name, free_mb, total_mb, round<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>total_mb-free_mb<span style="color: #66cc66;">&#41;</span>/total_mb*<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #ff0000;">&quot;Usage&quot;</span> <span style="color: #993333; font-weight: bold;">FROM</span> v$asm_diskgroup;
&nbsp;</pre>
<h2>ASMCMD</h2>
<p>ASM yapısında bir dosyayı silmek için ASM instance'a bağlanarak</p>
<pre class="sql">&nbsp;
<span style="color: #993333; font-weight: bold;">ALTER</span> DISKGROUP disk_group_1 <span style="color: #993333; font-weight: bold;">DROP</span> FILE <span style="color: #ff0000;">'+disk_group_1/my_dir/my_file.dbf'</span>;
&nbsp;</pre>
<p>şeklinde bir sql komutunu çalıştırmalısınız. Dosyalarınızı görmek için <strong>v$ASM_FILE</strong> view'ı kullanabilirsiniz.<br />
Bunun yerine işletim sistemlerinden alışık olduğunuz komut yapısına benzer bir yapı ile çalışmak isterseniz asmcmd yi kullanabilirsiniz. ASMCMD ile disk grup oluşturmak ve drop etmek dışındaki tüm dosya işlemlerini kolayca gerçekleştirebilirsiniz.</p>
<pre class="bash">&nbsp;
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">ORACLE_SID=</span>+ASM1
asmcmd
&nbsp;</pre>
<p>bu şekilde komut aracına bağlanmış oluruz.<br />
burada<br />
disk kullamını görüntülemek için<br />
du veya lsdg komutlarını kullanabilirsiniz.<br />
<a href="http://buslat.com/wp-content/uploads/du.png"><img src="http://buslat.com/wp-content/uploads/du.png" alt="" title="du" width="243" height="101" class="alignnone size-full wp-image-420" /></a></p>
<p><a href="http://buslat.com/wp-content/uploads/lsdg.png"><img src="http://buslat.com/wp-content/uploads/lsdg.png" alt="" title="lsdg" width="987" height="69" class="alignnone size-full wp-image-421" /></a><br />
Ayrıca burada içi boş bir klasörü silmek için rm veya bir dizini tamamen silmek için rm -r komutlarını kullanabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/asm-disk-usage.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Duplicate Finder</title>
		<link>http://buslat.com/duplicate-finder.html</link>
		<comments>http://buslat.com/duplicate-finder.html#comments</comments>
		<pubDate>Thu, 15 Dec 2011 10:45:03 +0000</pubDate>
		<dc:creator>Berkant</dc:creator>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[add note property]]></category>
		<category><![CDATA[duplicate finder]]></category>
		<category><![CDATA[kopya bulucu]]></category>
		<category><![CDATA[md5]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[PowerShell grouping]]></category>
		<category><![CDATA[Round]]></category>
		<category><![CDATA[[Math]]]></category>

		<guid isPermaLink="false">http://buslat.com/?p=407</guid>
		<description><![CDATA[Kopya Dosyalar
Her şey müzik merakı ile başladı. Önce kullanıcı bilgisayarlarındaki müzikleri kendi bilgisayarımıza aldık. Sonra internetten indirilenleride ekledik ve elimizde güzel bir arşiv oluştu. Daha sonra incelediğimde gördümki bir müzik dosyasının 8 farklı kopyasını almışım. Bu fazlalık dosyalardan kurtulmalıydım ama öyle sabahlara kadarda inceleyemezdim. Dosyaların isimleride aynı değildi. Böylece bu script'i yazmaya karar verdim.
Dosya ismine [...]]]></description>
			<content:encoded><![CDATA[<h1>Kopya Dosyalar</h1>
<p>Her şey müzik merakı ile başladı. Önce kullanıcı bilgisayarlarındaki müzikleri kendi bilgisayarımıza aldık. Sonra internetten indirilenleride ekledik ve elimizde güzel bir arşiv oluştu. Daha sonra incelediğimde gördümki bir müzik dosyasının 8 farklı kopyasını almışım. Bu fazlalık dosyalardan kurtulmalıydım ama öyle sabahlara kadarda inceleyemezdim. Dosyaların isimleride aynı değildi. Böylece bu script'i yazmaya karar verdim.<br />
Dosya ismine göre değilde dosyaların hash değerlerine göre kopyları buluyor.</p>
<pre class="bash">&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> get-md5<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$file</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #007800;">$hasher</span> = <span style="color: #7a0874; font-weight: bold;">&#91;</span>system.Security.Cryptography.MD5<span style="color: #7a0874; font-weight: bold;">&#93;</span>::Create<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
  <span style="color: #007800;">$stream</span> = New-Object System.IO.FileStream<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$file</span>,<span style="color: #7a0874; font-weight: bold;">&#91;</span>System.IO.FileMode<span style="color: #7a0874; font-weight: bold;">&#93;</span>::Open<span style="color: #7a0874; font-weight: bold;">&#41;</span>;
  <span style="color: #007800;">$sb</span> = New-Object System.Text.StringBuilder;
  <span style="color: #007800;">$hasher</span>.ComputeHash<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$stream</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> | % <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span>void<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #007800;">$sb</span>.Append<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$_</span>.ToString<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #ff0000;">&quot;x2&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span>;
  <span style="color: #007800;">$sb</span>.ToString<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
  <span style="color: #007800;">$stream</span>.Dispose<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>;
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#125;</span>;
&nbsp;</pre>
<p>Bu örnekteki get-md5 fonksiyonu ile dosyaların MD5 değerlerini alabilirsiniz. Ayrıca Property eklemek için kullandığım add-member fonksiyonu içinde bir örnek var. </p>
<pre class="bash">&nbsp;
Add-Member  NoteProperty MD5Hash <span style="color: #007800;">$hash</span> -InputObject  <span style="color: #007800;">$file</span> ;
&nbsp;</pre>
<p>Ayrıca decimal yuvarlama işlemi içinde [Math]::Round kullandım.<br />
Bu örnekte Group-Object ve Where-Object yapısının ne kadar faydalı olduğunuda görebilirsiniz.<br />
Lafı fazla uzattım İşte kodun tamamı. İsteyen inceleyebilir.</p>
<pre class="bash">&nbsp;
<span style="color: #808080; font-style: italic;"># Parametreler #</span>
<span style="color: #808080; font-style: italic;"># kopya dosyaların aranacağı klasör;</span>
<span style="color: #007800;">$path</span> = <span style="color: #ff0000;">&quot;D:<span style="color: #000099; font-weight: bold;">\M</span>uzik<span style="color: #000099; font-weight: bold;">\&quot;</span> ;
#kopya dosyaları silecek olan BAT dosyasının adı
$batchfile = &quot;</span>c:\remove_duplicated.bat<span style="color: #ff0000;">&quot;;
&nbsp;
function get-md5($file)
{
  $hasher = [system.Security.Cryptography.MD5]::Create();
  $stream = New-Object System.IO.FileStream($file,[System.IO.FileMode]::Open);
  $sb = New-Object System.Text.StringBuilder;
  $hasher.ComputeHash($stream) | % {[void] $sb.Append($_.ToString(&quot;</span>x2<span style="color: #ff0000;">&quot;))};
  $sb.ToString();
  $stream.Dispose();
&nbsp;
};
&nbsp;
#boyutlarına göre grupla ve sadece aynı boyutta olan dosyaları al
$groups = dir $path -Recurse | where {$_.Length -gt 0} |  group Length | where {$_.Count -gt 1} 
&nbsp;
#Hash bilgilerini ekle
$hashed = foreach($group in $groups)
{
  foreach($file in $group.Group)
  {
     $hash =  Get-Md5($file.FullName) ;
     Add-Member  NoteProperty MD5Hash $hash -InputObject  $file ;
     $file;
  }
}
&nbsp;
#Hash bilgisine göre grupla ve sadece HASH'i aynı olanları al
$dupfilesgrp = $hashed | group MD5Hash | where {$_.Count -gt 1};
&nbsp;
$kazanc = 0;
$silinecek=0;
&nbsp;
#BAT dosyasını hazırla
$dupfilesgrp | % { $_.Group;$i=0;} |
foreach{$i++;if($i -gt 1) {$op=&quot;</span>del <span style="color: #ff0000;">&quot;;$kazanc += $_.Length;$silinecek++;}else{$op=&quot;</span>REM &lt;&lt;Silinmeyecek Olan Dosya&gt;&gt; <span style="color: #ff0000;">&quot;} ;$op+ $_.Fullname}  &gt; $batchfile;
&nbsp;
$kazanc = [Math]::Round($kazanc /1024/1024,2);
&nbsp;
&quot;</span><span style="color: #007800;">$silinecek</span> Adet kopya dosyayı silerek <span style="color: #007800;">$kazanc</span> MB kazanç sağlayabilirsiniz.
Dosyaları otomatik olarak silmek iç<span style="color: #000000; font-weight: bold;">in</span> <span style="color: #007800;">$batchfile</span> dosyasını çalıştırabilirsiniz.<span style="color: #ff0000;">&quot;
&nbsp;
&lt;#
BAT dosyası ile uğraşmak istemiyorsanız;
Bu kod parçası kopya dosyalardan birini bırakıp diğerlerini kullanıcıdan onay alarak silecektir.
&nbsp;
$dupfilesgrp | % { $_.Group;$i=0;} |
foreach{$i++;if($i -gt 1) { $_ | remove-item -Confirm}}  
&nbsp;
 #&gt;
</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://buslat.com/duplicate-finder.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

