|Donanım ve yazılım platformlarında saatlerin ileri ve geri alınması genellikle otomatik olarak gerçekleşir. IBM büyük sistemlerde bu işlemler otomatik olarak yapılmaz.Önce zaman kavramlarını gözden geçirelim. Kullandığımız yerel saat, bulunduğumuz boylamın Greenwich kasabasından uzaklığıyla orantılı olarak belirlenmiştir. Greenwich kasabasındaki saate GMT (Greenwich Mean Time) veya daha güncel deyimle UTC (Coordinated Universal Time, Eşgüdümlü Evrensel Zaman) diyeceğiz. Ülkemiz doğuya doğru iki saat ileridedir.


Bu durumu aşağıdaki zaman çizgisinde görüyorsunuz.
|Daylight saving time settings are performed automatically in most hardware, software and middleware platforms. This is not the case for IBM System z servers.First let’s go over time concepts. Local time we use is determined proportionally by the distance of the longitude of our location to Greenwich town. The time in Greenwich is called GMT (Greenwich Mean Time) or UTC (Coordinated Universal Time) as a more recent expression. Turkey is two hours ahead of beginning longitude.


You can observe the following timeline for details.
|Bu durumu işletim sistemine tanımlarız. Veri tabanı ve uygulama sunucusu gibi sunucular zaman bilgisini gerektikçe işletim sisteminden alır. Yani sistemler açılırken yerel saati belirtmemizin yanısıra bulunduğumuz zaman dilimini de belirtiriz. Zaman dilimimizi E02.00.00 gibi belirtiriz. Biz doğuya doğru iki saat ilerideyiz anlamına gelir. İşletim sürecinde bu yerel saat ve GMT (UTC) değerleri işletim sistemi tarafından güncel tutulur.Veri tabanı sistemleri güncellemeler ve geri dönüşler için kullandığı log kayıtlarını GMT (UTC) saatine göre damgalar. Uygulama sunucuları ise yerel saati kullanırlar.


Bazı kuruluşlar zaman dilimini Greenwich kasabasında imiş gibi tanımlarlar. Bu durumda yerel saat ve GMT (UTC) aynı olur. Bu iki saatin aynı olması yaz saati uygulaması prosedürleri açısından bir fark doğurmaz.
Şimdi sistem komutlarıyla saat ve zaman dilimi değiştirme özelliklerini gözden geçirelim.
SET CLOCK sistem komutu yalnızca yerel saati değiştirir. Aşağıdaki örnekte bunu görebilirsiniz. Önce ve sonra DISPLAY TIME komutları girerek SET CLOCK komutunun dökümantasyonda belirtildiği gibi yalnızca YEREL saati değiştirdiğini görürsünüz.
|We define this parametrically to the operating system. Data base management servers, application servers and middleware received this information from the operating system whenever necessary. We define timezone like E.02.00.00. This means that we are ahead of two hours toward the east. In the process of operation local time and GMT (UTC) maintained current.Data base systems use GMT (UTC) time in log timestamps maintained for recovery purposes. Application servers use local time instead.


Some institutions use GMT (UTC) timezone as if they are operating in Greenwich town. In this situation local time is equal to GMT (UTC) time. This equality does not create a difference in setting operating procedures for daylight saving time.
Now let us go over changing clock and timezone parameters.
SET CLOCK system command changes local time. You can observe this at the following example. Entering display commands before and after command, you observe that command just changes local time as documented.
DISPLAY T
IEE136I LOCAL: TIME=10.09.40 DATE=2011.304 UTC: TIME=09.09.40 DATE=2011.304
SET CLOCK=11.10.00
DISPLAY T
IEE136I LOCAL: TIME=11.10.08 DATE=2011.304 UTC: TIME=09.10.44 DATE=2011.304
|SET TIMEZONE komutu parametre olarak belirttiğimiz saat farkını GMT (UTC) değerine ekleyerek veya çıkararak yerel saati değiştiriyor. Yine önce ve sonra görüntüleme komutları yazarak bunu görebilirsiniz.||Timezone change command takes time difference you mention and changes local time adding to or substracting from GMT (UTC) time. You can observe this by displaying before and after time settings.|
DISPLAY T
IEE136I LOCAL: TIME=11.08.52 DATE=2011.304 UTC: TIME=09.08.52 DATE=2011.304
SET TIMEZONE=E.01.00
DISPLAY T
IEE136I LOCAL: TIME=10.09.40 DATE=2011.304 UTC: TIME=09.09.40 DATE=2011.304
|Bu değişiklikleri yine zaman çizgilerinde görelim.Yaz saati başlangıcında sistem saatini veya zaman dilimini bir saat ileri aldığınızda yerel saatle oynamış oluyorsunuz. SET TIMEZONE komutunun 2008 yılında z/OS V1.9 sürümünde geldiğini tekrar hatırlatıyoruz.||Let us review this changes in below timeline.When daylight saving time starts, you just change local time by changing system clock or timezone. Let us remember that SET TIMEZONE command is introduced at z/OS V1.9 in 2008.|
|Böylece sunucuyu bir anda Mogadişu kentine ışınlamış gibi oluyorsunuz. Greenwich kasabasındaki saat değişmediği için veri tabanı log kayıtlarıyla ilgili bir sorun olmuyor. Ama konumuz dışındaki yerel saatle ilgili sorunlar sizin ve değişiklik danışma kurulunun önünüzdedir.Aynı biçimde yaz saati uygulamasının sonunda da zaman dilimini bir saat azaltarak batıya alıyorsunuz. Sunucunuz Türkiye’ye geliyor ve GMT (UTC) yine değişmiyor.||It is like sending your server immediately to Mogadishu. As the time in Greenwich town has not changed, there is no problem with data base log records. But local time related issues we will not mention here may be still waiting attention of you and your change control board.At the end of daylight saving time, you set timezone one hour west. Your server comes back to Turkey and GMT (UTC) does not change again.|
|İşletimsel Prosedürİşletimsel prosedürü hazırlarken SET TIMEZONE komutunu kullanmanızı öneririz. Çünkü saati değiştirirseniz yerel saatle GMT (UTC) arasında saniyeler düzeyinde de olsa fark oluşur. Bunu gidermek çok pratik değildir.


Adımları şöyle özetleyebiliriz.
E.02.00.00 gibi GMT (UTC) zaman diliminden iki saat ileride olduğunuz durum için yapacağız.
Yaz saati uygulamasının başlatılması
Yaz saati uygulamasının bitirilmesi
Eğer normal operasyonda GMT (UTC) saat dilimini kullanıyorsanız yaz saati uygulamasına başlarken zaman dilimini E.01.00 olarak ayarlamanız, yaz saati uygulamasını bitirirken E.00.00 olarak ayarlamanız gerekir.
İşletimsel prosedürleri hazırladıktan sonra veri tabanı geri alma ve kurtarma işlemlerinin beklediğiniz gibi olduğunu test sistemlerinizde gördükten sonra canlı sistemlerde uygulayabilirsiniz.
Gördüğünüz gibi yapılacak işlemler iki yönlüdür ve ilkini doğru yapmazsanız ikincisinde sıkıntı oluşur.
|Operational ProcedureI recommend that you use SET TIMEZONE command. If you change clock, just local time changes and there would be a small difference with GMT (UTC). It is not so easy to get rid of this difference due to typing delay.


Steps are as follows.
Let us assume you are two hours ahead of GMT (UTC) with the definition E.02.00.00.
Starting daylight saving time
Ending daylight saving time
If you are using GMT (UTC) timezone, set timezone as E.01.00 as you start daylight saving time and set timezone as E.00.00 as as you end daylight saving time.
After preparing operational procedures and testing data base recovery and rollback functionalities, you should observe results as you expect and then you could deploy these procedures to live systems.
As you may observe, operations is two-fold. If you do not perform first part then you could experience trouble and need to apply temporary workarounds.