DSTV28 UPDATE OCT 2016 TZDATA2016G yamasının RAC veritabanına uygulanması ve gerekli işlemler

7 Eki by Ahmet Duruöz

DSTV28 UPDATE OCT 2016 TZDATA2016G yamasının RAC veritabanına uygulanması ve gerekli işlemler

Türkiye’deki yaz saati uygulamasının kalıcı olmasıyla birlikte , tüm sistemlerde saatlerin 30 ekimde geri alınmaması için yama gerekmektedir. Oracle veritabanı için gerekli yama yayınlanmış durumdadır. Bu yamanın nasıl uygulanacağını ve sonrasında yapılması gereken işlemleri anlatmaya çalıştım.

Öncelikle 24701840 numaralı yamayı indirmekle işe başlıyoruz. Bu yamanın uygulanabilmesi için Opatch versiyonun 11.2.0.3.5 ve üzeri olması gerekiyor. OPatch versiyonunuz eski ise 6880880 numaralı yamayı indirip güncelleyebilirsiniz.

Veritabanı açıkken de yama uygulanabilir. Ama sonrasındaki işlemler için veritabanı birkaç kez kapanıp açılacaktır. Bu yüzden kesinti olacaktır. Yama uygularken https://ccr.oracle.com adresine bağlanmaya çalışmakta ve sizden geçerli  bir Oracle Support hesap bilgileri istemektedir. Geçerli bir e-posta adresi girip , şifreyi boş geçip , diğer sorulara NONE şeklinde cevap verip devam edebilirsiniz. 

Yamanın uygulanması :

Tek node üzerinden , çalıştırdığımızda diğer node’lar için de uygulanmış olacaktır.

-bash-4.3$ unzip p24701840_112040_AIX64-5L.zip 
Archive:  p24701840_112040_AIX64-5L.zip
   creating: 24701840/
  inflating: 24701840/README.txt     
   creating: 24701840/files/
   creating: 24701840/files/oracore/
   creating: 24701840/files/oracore/zoneinfo/
  inflating: 24701840/files/oracore/zoneinfo/readme_28.txt  
  inflating: 24701840/files/oracore/zoneinfo/timezone_28.dat  
   creating: 24701840/files/oracore/zoneinfo/little/
  inflating: 24701840/files/oracore/zoneinfo/little/timezlrg_28.dat  
  inflating: 24701840/files/oracore/zoneinfo/little/timezone_28.dat  
   creating: 24701840/files/oracore/zoneinfo/big/
  inflating: 24701840/files/oracore/zoneinfo/big/timezlrg_28.dat  
  inflating: 24701840/files/oracore/zoneinfo/big/timezone_28.dat  
  inflating: 24701840/files/oracore/zoneinfo/timezlrg_28.dat  
   creating: 24701840/etc/
   creating: 24701840/etc/config/
  inflating: 24701840/etc/config/inventory.xml  
  inflating: 24701840/etc/config/deploy.xml  
  inflating: 24701840/etc/config/actions.xml  
   creating: 24701840/etc/xml/
  inflating: 24701840/etc/xml/ShiphomeDirectoryStructure.xml  
  inflating: 24701840/etc/xml/GenericActions.xml  
-bash-4.3$ cd 24701840
-bash-4.3$ opatch apply

...........


Patch 24701840 successfully applied.
Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/24701840_Oct_06_2016_14_45_48/apply2016-10-06_14-45-48PM_1.log

OPatch succeeded.

Tüm node’larda aşağıdaki gibi kontrol edelim. Yamanın uygulandığından emin olalım.

-bash-4.3$ . oraenv
ORACLE_SID = [oracle] ? ORCL1
The Oracle base remains unchanged with value /u01/app/oracle
-bash-4.3$ 
-bash-4.3$ 
-bash-4.3$ 
-bash-4.3$ opatch lsinventory
Oracle Interim Patch Installer version 11.2.0.3.12
Copyright (c) 2016, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.12
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2016-10-06_14-51-20PM_1.log

Lsinventory Output file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2016-10-06_14-51-20PM.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname: oradb2
ARU platform id: 212
ARU platform description:: IBM_AIX

Installed Top-level Products (1): 

Oracle Database 11g                                                  11.2.0.4.0
There are 1 products installed in this Oracle Home.


Interim patches (1) :

Patch  24701840     : applied on Thu Oct 06 14:50:09 EEST 2016
Unique Patch ID:  20621928
   Created on 27 Sep 2016, 01:41:32 hrs PST8PDT
   Bugs fixed:
     24701840

	 
Rac system comprising of multiple nodes
  Local node = oradb2
  Remote node = oradb1

--------------------------------------------------------------------------------

OPatch succeeded.

Sonraki adım DBMS_DST scriptlerinin çalıştırılmasıdır. Bu scriptler ile ilgili detaylı bilgiyi 1585343.1 numaralı dokümanda bulabilirsiniz. Dokümanda belirtildiği linkten DBMS_DST_scriptsV1.9.zip dosyasını indirip içindekileri dışarı çıkarın. Aşağıdaki gibi 4 adet script mevcut. Bu scriptler 11gR2 veya 12cR1 versiyonları için çalıştırılabilir.

-bash-4.3$ cd DBMS_DST_scriptsV1.9/
-bash-4.3$ ls -ltr
total 136
-rw-r--r--    1 oracle   oinstall       6294 Oct 06 12:06 countstarTSTZ.sql
-rw-r--r--    1 oracle   oinstall       6909 Oct 06 12:06 countstatsTSTZ.sql
-rw-r--r--    1 oracle   oinstall      19502 Oct 06 12:06 upg_tzv_apply.sql
-rw-r--r--    1 oracle   oinstall      31010 Oct 06 12:06 upg_tzv_check.sql

İşlemlere ön kontroller ile başlayalım.

Var olan RDBMS DST versiyonu öğrenelim. İşlem bittiğinde bu versiyon 28 olacaktır.

SQL> SELECT version FROM v$timezone_file;

Aşağıdaki sorgu ile de DST bilgilerini kontrol ediyoruz. Bu sorgudan dönen DST_PRIMARY_TT_VERSION değeri v$timezone_file sorgusundan dönen versiyon ile aynı olmalıdır. DST_SECONDARY_TT_VERSION değeri 0(sıfır) ve DST_UPGRADE_STATE değeri NONE olmalıdır. Değilse 1585343.1 numaralı dokümanda belirtilen işlemler yapılmalıdır. Aşağıdaki gibi çıktı olduğunu varsayarak devam ediyoruz. Her sciprt çalıştırmadan önce spool ile log oluşturup , script çıktılarını dosyaya yazdırıyoruz. 

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME LIKE 'DST_%'
ORDER BY PROPERTY_NAME;  2    3    4  

PROPERTY_NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
DST_PRIMARY_TT_VERSION
14

DST_SECONDARY_TT_VERSION
0

DST_UPGRADE_STATE
NONE

 

countstatsTSTZ.sql scriptinin çalıştırılması :

-bash-4.3$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Oct 6 14:57:53 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> spool countstatsTSTZ.log
SQL> @countstatsTSTZ.sql
.
Amount of TSTZ data using num_rows stats info in DBA_TABLES.
.
For SYS tables first...
Note: empty tables are not listed.
Stat date  - Owner.Tablename.Columnname - num_rows
01/10/2013 - SYS.AQ$_ALERT_QT_S.CREATION_TIME - 3
01/10/2013 - SYS.AQ$_ALERT_QT_S.DELETION_TIME - 3
01/10/2013 - SYS.AQ$_ALERT_QT_S.MODIFICATION_TIME - 3
01/10/2013 - SYS.AQ$_AQ$_MEM_MC_S.CREATION_TIME - 3
01/10/2013 - SYS.AQ$_AQ$_MEM_MC_S.DELETION_TIME - 3
01/10/2013 - SYS.AQ$_AQ$_MEM_MC_S.MODIFICATION_TIME - 3
01/10/2013 - SYS.AQ$_AQ_PROP_TABLE_S.CREATION_TIME - 1
01/10/2013 - SYS.AQ$_AQ_PROP_TABLE_S.DELETION_TIME - 1
01/10/2013 - SYS.AQ$_AQ_PROP_TABLE_S.MODIFICATION_TIME - 1
01/10/2013 - SYS.AQ$_KUPC$DATAPUMP_QUETAB_S.CREATION_TIME - 1
01/10/2013 - SYS.AQ$_KUPC$DATAPUMP_QUETAB_S.DELETION_TIME - 1
01/10/2013 - SYS.AQ$_KUPC$DATAPUMP_QUETAB_S.MODIFICATION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.CREATION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.DELETION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER$_EVENT_QTAB_S.MODIFICATION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.CREATION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.DELETION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER$_REMDB_JOBQTAB_S.MODIFICATION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.CREATION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.DELETION_TIME - 1
01/10/2013 - SYS.AQ$_SCHEDULER_FILEWATCHER_QT_S.MODIFICATION_TIME - 1
01/10/2013 - SYS.AQ$_SUBSCRIBER_TABLE.CREATION_TIME - 1
01/10/2013 - SYS.AQ$_SUBSCRIBER_TABLE.DELETION_TIME - 1
01/10/2013 - SYS.AQ$_SUBSCRIBER_TABLE.MODIFICATION_TIME - 1
01/10/2013 - SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.CREATION_TIME - 3
01/10/2013 - SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.DELETION_TIME - 3
01/10/2013 - SYS.AQ$_SYS$SERVICE_METRICS_TAB_S.MODIFICATION_TIME - 3
01/10/2013 - SYS.KET$_AUTOTASK_STATUS.ABA_START_TIME - 1
01/10/2013 - SYS.KET$_AUTOTASK_STATUS.ABA_STATE_TIME - 1
01/10/2013 - SYS.KET$_AUTOTASK_STATUS.MW_RECORD_TIME - 1
01/10/2013 - SYS.KET$_AUTOTASK_STATUS.MW_START_TIME - 1
01/10/2013 - SYS.KET$_AUTOTASK_STATUS.RECONCILE_TIME - 1
01/10/2013 - SYS.KET$_CLIENT_CONFIG.FIELD_2 - 7
01/10/2013 - SYS.KET$_CLIENT_CONFIG.LAST_CHANGE - 7
01/10/2013 - SYS.OPTSTAT_HIST_CONTROL$.SPARE6 - 19
01/10/2013 - SYS.OPTSTAT_HIST_CONTROL$.SVAL2 - 19
01/10/2013 - SYS.RADM_FPTM$.TSWTZ_COL - 1
06/10/2016 - SYS.SCHEDULER$_EVENT_LOG.LOG_DATE - 11
01/10/2013 - SYS.SCHEDULER$_GLOBAL_ATTRIBUTE.ATTR_TSTAMP - 11
06/10/2016 - SYS.SCHEDULER$_JOB.END_DATE - 14
06/10/2016 - SYS.SCHEDULER$_JOB.LAST_ENABLED_TIME - 14
06/10/2016 - SYS.SCHEDULER$_JOB.LAST_END_DATE - 14
06/10/2016 - SYS.SCHEDULER$_JOB.LAST_START_DATE - 14
06/10/2016 - SYS.SCHEDULER$_JOB.NEXT_RUN_DATE - 14
06/10/2016 - SYS.SCHEDULER$_JOB.START_DATE - 14
06/10/2016 - SYS.SCHEDULER$_JOB_RUN_DETAILS.LOG_DATE - 11
06/10/2016 - SYS.SCHEDULER$_JOB_RUN_DETAILS.REQ_START_DATE - 11
06/10/2016 - SYS.SCHEDULER$_JOB_RUN_DETAILS.START_DATE - 11
01/10/2013 - SYS.SCHEDULER$_SCHEDULE.END_DATE - 3
01/10/2013 - SYS.SCHEDULER$_SCHEDULE.REFERENCE_DATE - 3
06/10/2016 - SYS.SCHEDULER$_WINDOW.ACTUAL_START_DATE - 9
06/10/2016 - SYS.SCHEDULER$_WINDOW.END_DATE - 9
06/10/2016 - SYS.SCHEDULER$_WINDOW.LAST_START_DATE - 9
06/10/2016 - SYS.SCHEDULER$_WINDOW.MANUAL_OPEN_TIME - 9
06/10/2016 - SYS.SCHEDULER$_WINDOW.NEXT_START_DATE - 9
06/10/2016 - SYS.SCHEDULER$_WINDOW.START_DATE - 9
06/10/2016 - SYS.WRI$_ALERT_HISTORY.CREATION_TIME - 17
06/10/2016 - SYS.WRI$_ALERT_HISTORY.TIME_SUGGESTED - 17
01/10/2013 - SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY.SAVTIME - 12964
01/10/2013 - SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY.SPARE6 - 12964
01/10/2013 - SYS.WRI$_OPTSTAT_IND_HISTORY.SAVTIME - 1335
01/10/2013 - SYS.WRI$_OPTSTAT_IND_HISTORY.SPARE6 - 1335
01/10/2013 - SYS.WRI$_OPTSTAT_TAB_HISTORY.SAVTIME - 1192
01/10/2013 - SYS.WRI$_OPTSTAT_TAB_HISTORY.SPARE6 - 1192
Total numrow of SYS TSTZ columns is : 31318
There are in total 125 non-SYS TSTZ columns.
.
For non-SYS tables ...
Note: empty tables are not listed.
Stat date  - Owner.Tablename.Columnname - num_rows
01/10/2013 - SYSMAN.AQ$_MGMT_LOADER_QTABLE_S.CREATION_TIME - 1
01/10/2013 - SYSMAN.AQ$_MGMT_LOADER_QTABLE_S.DELETION_TIME - 1
01/10/2013 - SYSMAN.AQ$_MGMT_LOADER_QTABLE_S.MODIFICATION_TIME - 1
01/10/2013 - SYSMAN.AQ$_MGMT_NOTIFY_QTABLE_S.CREATION_TIME - 1
01/10/2013 - SYSMAN.AQ$_MGMT_NOTIFY_QTABLE_S.DELETION_TIME - 1
01/10/2013 - SYSMAN.AQ$_MGMT_NOTIFY_QTABLE_S.MODIFICATION_TIME - 1
01/10/2013 - WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.CREATION_TIME - 1
01/10/2013 - WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.DELETION_TIME - 1
01/10/2013 - WMSYS.AQ$_WM$EVENT_QUEUE_TABLE_S.MODIFICATION_TIME - 1
Total numrow of non-SYS TSTZ columns is : 9
There are in total 27 non-SYS TSTZ columns.
Total Minutes elapsed : 0
SQL> spool off

dbms_scheduler.purge_log çalıştırılması(opsiyonel) :

Bu adım opsiyonel olup, işlemlerin daha kısa sürmesi için DBMS_SCHEDULER tablolarındaki logging bilgilerinin temizlenmesini sağlayabilir.  

SQL> exec dbms_scheduler.purge_log;

PL/SQL procedure successfully completed.

Yukarıda işlem başarısız olursa , aşağdaıki gibi manuel de ilgili log bilgilerini temizleyebiliriz.

Conn / as sysdba
check
current nr of rows in HISTHEAD / HISTGRM
select count(*) from SYS.WRI$_OPTSTAT_HISTGRM_HISTORY;
select count(*) from SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY;
check
the current retention of stats
the
default value is 31
select systimestamp dbms_
stats.get_stats_history_availability from dual;
now
disable stats retention
exec dbms_stats.alter_stats_history_retention(0);
remove
all stats
exec DBMS_STATS.PURGE_STATS(systimestamp);
check
result of purge
select count(*) from SYS.WRI$_OPTSTAT_HISTGRM_HISTORY;
select count(*) from SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY;
AFTER
the DST update you can set the retention back to the original value
exec dbms_stats.alter_stats_history_retention(31);

 

upg_tzv_check.sql scriptinin çalıştırılması :

Bu scriptin çalıştırılması öncesinde veritabanın single instance olarak açılması gerekiyor. Bunun için cluster_database parametresini false yapıp tek node üzerinden sqlplus ile veritabanı açıyoruz.

SQL> alter system set cluster_database = false scope=spfile sid='*';

System altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
-bash-4.3$ 
-bash-4.3$ srvctl stop database -d ORCL
-bash-4.3$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Oct 6 15:03:21 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1.0609E+11 bytes
Fixed Size                  2258872 bytes
Variable Size            5.5029E+10 bytes
Database Buffers         5.0734E+10 bytes
Redo Buffers              327282688 bytes
Database mounted.
Database opened.

Artık scripti çalıştırabiliriz. 

SQL> spool upg_tzv_check.log
SQL> @upg_tzv_check.sql
INFO: Starting with RDBMS DST update preparation.
INFO: NO actual RDBMS DST update will be done by this script.
INFO: If an ERROR occurs the script will EXIT sqlplus.
INFO: Doing checks for known issues ...
INFO: Database version is 11.2.0.4 .
INFO: Database RDBMS DST version is DSTv14 .
INFO: No known issues detected.
INFO: Now detecting new RDBMS DST version.
A prepare window has been successfully started.
INFO: Newest RDBMS DST version detected is DSTv28 .
INFO: Next step is checking all TSTZ data.
INFO: It might take a while before any further output is seen ...
A prepare window has been successfully ended.
INFO: A newer RDBMS DST version than the one currently used is found.
INFO: Note that NO DST update was yet done.
INFO: Now run upg_tzv_apply.sql to do the actual RDBMS DST update.
INFO: Note that the upg_tzv_apply.sql script will
INFO: restart the database 2 times WITHOUT any confirmation or prompt.
SQL> spool off

 

upg_tzv_apply.sql scriptinin çalıştırılması :

Bu script veritabanını upgrade modda başlatıp işlem yapacaktır.

 

SQL> spool upg_tzv_apply.log
SQL> @upg_tzv_apply.sql
INFO: If an ERROR occurs the script will EXIT sqlplus.
INFO: The database RDBMS DST version will be updated to DSTv28 .
WARNING: This script will restart the database 2 times
WARNING: WITHOUT asking ANY confirmation.
WARNING: Hit control-c NOW if this is not intended.
INFO: Restarting the database in UPGRADE mode to start the DST upgrade.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.

Total System Global Area 1.0609E+11 bytes
Fixed Size 2258872 bytes
Variable Size 5.5029E+10 bytes
Database Buffers 5.0734E+10 bytes
Redo Buffers 327282688 bytes
Database mounted.
Database opened.
INFO: Starting the RDBMS DST upgrade.
INFO: Upgrading all SYS owned TSTZ data.
INFO: It might take time before any further output is seen ...
An upgrade window has been successfully started.
INFO: Restarting the database in NORMAL mode to upgrade non-SYS TSTZ data.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.

Total System Global Area 1.0609E+11 bytes
Fixed Size 2258872 bytes
Variable Size 5.5029E+10 bytes
Database Buffers 5.0734E+10 bytes
Redo Buffers 327282688 bytes
Database mounted.
Database opened.
INFO: Upgrading all non-SYS TSTZ data.
INFO: It might take time before any further output is seen ...
INFO: Do NOT start any application yet that uses TSTZ data!
INFO: Next is a list of all upgraded tables:
Table list: "SYSMAN"."MGMT_PROV_SUITE_INST_MEMBERS"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_STAGING_DIRS"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_RPM_REP"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_OPERATION"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_NET_CONFIG"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_IP_RANGE"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_DEFAULT_IMAGE"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_CLUSTER_NODES"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_BOOTSERVER"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_ASSIGNMENT"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_NOTIFY_QTABLE_S"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_NOTIFY_QTABLE_L"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_LOADER_QTABLE_S"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_LOADER_QTABLE_L"
Number of failures: 0
INFO: Total failures during update of TSTZ data: 0 .
An upgrade window has been successfully ended.
INFO: Your new Server RDBMS DST version is DSTv28 .
INFO: The RDBMS DST update is successfully finished.
INFO: Make sure to exit this sqlplus session.
INFO: Do not use it for timezone related selects.
SQL> spool off

 

Script çıktısının sonlarında yukarıdaki gibi “INFO: Do not use it for timezone related selects.” şeklinde ibare varsa sorun yok diyebiliriz.

Gerekli kontrolleri yapalım. İlk sorgumuzdaki sonuç 0 (sıfır) , ikinci sorgudaki sonuç 28 ve son sorgudaki tüm saatler 03:00 ise işlem başarılı bir şekilde tamamlanmış diyebiliriz. Eğer saatlerde 02:00 olanlar varsa işlem başarısız olmuştur  ve yeniden scriptlerin çalıştırılması gerekmektedir.

SQL> SELECT count(*) FROM ALL_TSTZ_TABLES where UPGRADE_IN_PROGRESS='YES';

  COUNT(*)
----------
         0

1 row selected.

SQL> SELECT VERSION FROM V$TIMEZONE_FILE;

   VERSION
----------
        28

1 row selected.

SQL> SELECT to_timestamp_tz('30-10-2016 02:00:00','DD-MM-YYYY HH24:MI:SS') 
+ NUMTODSINTERVAL(level*30, 'MINUTE') DST
FROM dual
CONNECT BY level <= 10;  

DST
---------------------------------------------------------------------------
30-OCT-16 02.30.00.000000000 AM +03:00
30-OCT-16 03.00.00.000000000 AM +03:00
30-OCT-16 03.30.00.000000000 AM +03:00
30-OCT-16 04.00.00.000000000 AM +03:00
30-OCT-16 04.30.00.000000000 AM +03:00
30-OCT-16 05.00.00.000000000 AM +03:00
30-OCT-16 05.30.00.000000000 AM +03:00
30-OCT-16 06.00.00.000000000 AM +03:00
30-OCT-16 06.30.00.000000000 AM +03:00
30-OCT-16 07.00.00.000000000 AM +03:00

10 rows selected.

Veritabanınızı cluster olarak açabiliriz.

SQL> alter system set cluster_database = true scope=spfile sid='*';

System altered.


SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
-bash-4.3$ 
-bash-4.3$ srvctl start database -d ORCL

Önemli hatırlatma :

Eğer java prosedürleriniz varsa , 24701882 numaralı Java (OJVM) yamasının da uygulanması gerekiyor.  Yamayı aşağıdaki adımları takip ederek uygulayabilirsiniz.

Yamayı açalım :

-bash-4.3$ unzip p24701882_11204_GENERIC.zip

Yama öncesindeki önemli bir adımı yapalım.

-bash-4.3$ 24701882/files/custom/scripts/post -apply

Bu adım sonrasında yamayı uygulanabiliriz.

-bash-4.3$ cd 24701882


-bash-4.3$ opatch apply
Oracle Interim Patch Installer version 11.2.0.3.12
Copyright (c) 2016, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.3.12
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/24701882_Oct_17_2016_10_54_50/apply2016-10-17_10-54-50AM_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   24701882  

Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Backing up files...
Applying interim patch '24701882' to OH '/u01/app/oracle/product/11.2.0/dbhome_1'

Patching component oracle.javavm.server, 11.2.0.4.0...

Patching in all-node mode.

Updating nodes 'oradb2' 
   Apply-related files are:
     FP = "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/copy_files.txt"
     DP = "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/copy_dirs.txt"
     MP = "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/make_cmds.txt"
     RC = "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/remote_cmds.txt"

Instantiating the file "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/copy_files.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/copy_files.txt" with actual path.
Propagating files to remote nodes...
Instantiating the file "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/copy_dirs.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/oracle/product/11.2.0/dbhome_1/.patch_storage/NApply/2016-10-17_10-54-50AM/rac/copy_dirs.txt" with actual path.
Propagating directories to remote nodes...
Patch 24701882 successfully applied.
Log file location: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/24701882_Oct_17_2016_10_54_50/apply2016-10-17_10-54-50AM_1.log

OPatch succeeded.

 

 Yama sonrasında fixTZa.sql scriptinin çalıştırılması gerekiyor. Bu script çalıştırıldığında aşağıdaki gibi bir çıktı üretirse , veritabanı migrate ile başlatılıp , fixTZb.sql scriptinin çalıştırılması gerekiyor.

########################################################
Bug is in fact present, so this patch is needed
Proceed by restarting the database and running script
fixTZb
########################################################

Script çalıştırıldığında aşağıdaki gibi bir çıktı üretirse , veritabanını yeniden başlatmalıyız.

########################################################
Bug is no longer present.  Patch succeeded.
########################################################

Script işlemleri sonrasında RAC veritabanlarında , paketlerin yeniden yüklenmesi gerekmektedir. Nasıl yapılacağı aşağıda anlatılmıştır.

Script’leri çalıştıralım :

Değişkenlerin yüklenmesi :

-bash-4.3$ . oraenv
ORACLE_SID = [oracle] ? ORCL1
The Oracle base remains unchanged with value /u01/app/oracle

fixTZa.sql scriptinin çalıştırılması :

-bash-4.3$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Oct 17 10:56:56 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> @$ORACLE_HOME/javavm/admin/fixTZa.sql

Session altered.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


Java created.

No errors.

Java altered.

No errors.

Package created.

No errors.

Package body created.

No errors.

PL/SQL procedure successfully completed.


Call completed.

Testing various timezone DST attributes
FAILED for America/Metlakatla 1451638800000 -32400000 0
FAILED for America/Metlakatla 1457866799999 -32400000 0
FAILED for America/Metlakatla 1457866800000 -32400000 3600000
FAILED for America/Metlakatla 1478426399999 -32400000 3600000
FAILED for America/Metlakatla 1478426400000 -32400000 0
FAILED for America/Metlakatla 1489316399999 -32400000 0
FAILED for America/Metlakatla 1489316400000 -32400000 3600000
FAILED for America/Metlakatla 1509875999999 -32400000 3600000
FAILED for America/Metlakatla 1509876000000 -32400000 0
FAILED for America/Metlakatla 1520765999999 -32400000 0
FAILED for America/Metlakatla 1520766000000 -32400000 3600000
FAILED for America/Metlakatla 1541325599999 -32400000 3600000
FAILED for America/Metlakatla 1541325600000 -32400000 0
FAILED for America/Metlakatla 1552215599999 -32400000 0
FAILED for America/Metlakatla 1552215600000 -32400000 3600000
FAILED for America/Metlakatla 1572775199999 -32400000 3600000
FAILED for America/Metlakatla 1572775200000 -32400000 0
FAILED for America/Metlakatla 1583665199999 -32400000 0
FAILED for America/Metlakatla 1583665200000 -32400000 3600000
FAILED for America/Metlakatla 1604224799999 -32400000 3600000
FAILED for America/Metlakatla 1604224800000 -32400000 0
FAILED for America/Santa_Isabel 1457863200000 -28800000 3600000
FAILED for America/Santa_Isabel 1478422799999 -28800000 3600000
FAILED for America/Santa_Isabel 1489312800000 -28800000 3600000
FAILED for America/Santa_Isabel 1509872399999 -28800000 3600000
FAILED for America/Santa_Isabel 1520762400000 -28800000 3600000
FAILED for America/Santa_Isabel 1541321999999 -28800000 3600000
FAILED for America/Santa_Isabel 1552212000000 -28800000 3600000
FAILED for America/Santa_Isabel 1572771599999 -28800000 3600000
FAILED for America/Santa_Isabel 1583661600000 -28800000 3600000
FAILED for America/Santa_Isabel 1604221199999 -28800000 3600000
FAILED for America/Fort_Nelson 1451631600000 -25200000 0
FAILED for Chile/EasterIsland 1463281199999 -21600000 3600000
FAILED for Chile/EasterIsland 1471147200000 -21600000 3600000
FAILED for Chile/EasterIsland 1494730799999 -21600000 3600000
FAILED for Chile/EasterIsland 1502596800000 -21600000 3600000
FAILED for Chile/EasterIsland 1526180399999 -21600000 3600000
FAILED for Chile/EasterIsland 1534046400000 -21600000 3600000
FAILED for Chile/EasterIsland 1557629999999 -21600000 3600000
FAILED for Chile/EasterIsland 1565496000000 -21600000 3600000
FAILED for Chile/EasterIsland 1589079599999 -21600000 3600000
FAILED for Chile/EasterIsland 1596945600000 -21600000 3600000
FAILED for Pacific/Easter 1463281199999 -21600000 3600000
FAILED for Pacific/Easter 1471147200000 -21600000 3600000
FAILED for Pacific/Easter 1494730799999 -21600000 3600000
FAILED for Pacific/Easter 1502596800000 -21600000 3600000
FAILED for Pacific/Easter 1526180399999 -21600000 3600000
FAILED for Pacific/Easter 1534046400000 -21600000 3600000
FAILED for Pacific/Easter 1557629999999 -21600000 3600000
FAILED for Pacific/Easter 1565496000000 -21600000 3600000
FAILED for Pacific/Easter 1589079599999 -21600000 3600000
FAILED for Pacific/Easter 1596945600000 -21600000 3600000
FAILED for America/Cancun 1451624400000 -18000000 0
FAILED for America/Eirunepe 1451624400000 -18000000 0
FAILED for America/Porto_Acre 1451624400000 -18000000 0
FAILED for America/Rio_Branco 1451624400000 -18000000 0
FAILED for Brazil/Acre 1451624400000 -18000000 0
FAILED for America/Caracas 1462086000000 -14400000 0
FAILED for America/Grand_Turk 1451620800000 -14400000 0
FAILED for America/Santiago 1463281199999 -14400000 3600000
FAILED for America/Santiago 1471147200000 -14400000 3600000
FAILED for America/Santiago 1494730799999 -14400000 3600000
FAILED for America/Santiago 1502596800000 -14400000 3600000
FAILED for America/Santiago 1526180399999 -14400000 3600000
FAILED for America/Santiago 1534046400000 -14400000 3600000
FAILED for America/Santiago 1557629999999 -14400000 3600000
FAILED for America/Santiago 1565496000000 -14400000 3600000
FAILED for America/Santiago 1589079599999 -14400000 3600000
FAILED for America/Santiago 1596945600000 -14400000 3600000
FAILED for Antarctica/Palmer 1463281199999 -14400000 3600000
FAILED for Antarctica/Palmer 1471147200000 -14400000 3600000
FAILED for Antarctica/Palmer 1494730799999 -14400000 3600000
FAILED for Antarctica/Palmer 1502596800000 -14400000 3600000
FAILED for Antarctica/Palmer 1526180399999 -14400000 3600000
FAILED for Antarctica/Palmer 1534046400000 -14400000 3600000
FAILED for Antarctica/Palmer 1557629999999 -14400000 3600000
FAILED for Antarctica/Palmer 1565496000000 -14400000 3600000
FAILED for Antarctica/Palmer 1589079599999 -14400000 3600000
FAILED for Antarctica/Palmer 1596945600000 -14400000 3600000
FAILED for Chile/Continental 1463281199999 -14400000 3600000
FAILED for Chile/Continental 1471147200000 -14400000 3600000
FAILED for Chile/Continental 1494730799999 -14400000 3600000
FAILED for Chile/Continental 1502596800000 -14400000 3600000
FAILED for Chile/Continental 1526180399999 -14400000 3600000
FAILED for Chile/Continental 1534046400000 -14400000 3600000
FAILED for Chile/Continental 1557629999999 -14400000 3600000
FAILED for Chile/Continental 1565496000000 -14400000 3600000
FAILED for Chile/Continental 1589079599999 -14400000 3600000
FAILED for Chile/Continental 1596945600000 -14400000 3600000
FAILED for America/Araguaina 1451617200000 -10800000 0
FAILED for America/Argentina/San_Luis 1451617200000 -10800000 0
FAILED for America/Montevideo 1451617200000 -10800000 0
FAILED for Africa/Casablanca 1459044000000 0 3600000
FAILED for Africa/Casablanca 1465092000000 0 0
FAILED for Africa/Casablanca 1468115999999 0 0
FAILED for Africa/Casablanca 1477792799999 0 3600000
FAILED for Africa/Casablanca 1490493600000 0 3600000
FAILED for Africa/Casablanca 1495332000000 0 0
FAILED for Africa/Casablanca 1498960799999 0 0
FAILED for Africa/Casablanca 1509242399999 0 3600000
FAILED for Africa/Casablanca 1521943200000 0 3600000
FAILED for Africa/Casablanca 1526176800000 0 0
FAILED for Africa/Casablanca 1529200799999 0 0
FAILED for Africa/Casablanca 1540691999999 0 3600000
FAILED for Africa/Casablanca 1553997600000 0 3600000
FAILED for Africa/Casablanca 1557021600000 0 0
FAILED for Africa/Casablanca 1560045599999 0 0
FAILED for Africa/Casablanca 1572141599999 0 3600000
FAILED for Africa/Casablanca 1585447200000 0 3600000
FAILED for Africa/Casablanca 1587261599999 0 3600000
FAILED for Africa/Casablanca 1603591199999 0 3600000
FAILED for Africa/El_Aaiun 1459044000000 0 3600000
FAILED for Africa/El_Aaiun 1465091999999 0 3600000
FAILED for Africa/El_Aaiun 1468116000000 0 3600000
FAILED for Africa/El_Aaiun 1477792799999 0 3600000
FAILED for Africa/El_Aaiun 1490493600000 0 3600000
FAILED for Africa/El_Aaiun 1495331999999 0 3600000
FAILED for Africa/El_Aaiun 1498960800000 0 3600000
FAILED for Africa/El_Aaiun 1509242399999 0 3600000
FAILED for Africa/El_Aaiun 1521943200000 0 3600000
FAILED for Africa/El_Aaiun 1526176799999 0 3600000
FAILED for Africa/El_Aaiun 1529200800000 0 3600000
FAILED for Africa/El_Aaiun 1540691999999 0 3600000
FAILED for Africa/El_Aaiun 1553997600000 0 3600000
FAILED for Africa/El_Aaiun 1557021599999 0 3600000
FAILED for Africa/El_Aaiun 1560045600000 0 3600000
FAILED for Africa/El_Aaiun 1572141599999 0 3600000
FAILED for Africa/El_Aaiun 1585447200000 0 3600000
FAILED for Africa/El_Aaiun 1587261599999 0 3600000
FAILED for Africa/El_Aaiun 1590285600000 0 3600000
FAILED for Africa/El_Aaiun 1603591199999 0 3600000
FAILED for Antarctica/Troll 1451606400000 0 0
FAILED for Antarctica/Troll 1459040399999 0 0
FAILED for Antarctica/Troll 1459040400000 0 7200000
FAILED for Antarctica/Troll 1477789199999 0 7200000
FAILED for Antarctica/Troll 1477789200000 0 0
FAILED for Antarctica/Troll 1490489999999 0 0
FAILED for Antarctica/Troll 1490490000000 0 7200000
FAILED for Antarctica/Troll 1509238799999 0 7200000
FAILED for Antarctica/Troll 1509238800000 0 0
FAILED for Antarctica/Troll 1521939599999 0 0
FAILED for Antarctica/Troll 1521939600000 0 7200000
FAILED for Antarctica/Troll 1540688399999 0 7200000
FAILED for Antarctica/Troll 1540688400000 0 0
FAILED for Antarctica/Troll 1553993999999 0 0
FAILED for Antarctica/Troll 1553994000000 0 7200000
FAILED for Antarctica/Troll 1572137999999 0 7200000
FAILED for Antarctica/Troll 1572138000000 0 0
FAILED for Antarctica/Troll 1585443599999 0 0
FAILED for Antarctica/Troll 1585443600000 0 7200000
FAILED for Antarctica/Troll 1603587599999 0 7200000
FAILED for Antarctica/Troll 1603587600000 0 0
FAILED for Africa/Tripoli 1451599200000 7200000 0
FAILED for Asia/Gaza 1458946800000 7200000 3600000
FAILED for Asia/Gaza 1476997199999 7200000 3600000
FAILED for Asia/Gaza 1490396400000 7200000 3600000
FAILED for Asia/Gaza 1509051599999 7200000 3600000
FAILED for Asia/Gaza 1522450799999 7200000 0
FAILED for Asia/Gaza 1540501199999 7200000 3600000
FAILED for Asia/Gaza 1553900399999 7200000 0
FAILED for Asia/Gaza 1571950799999 7200000 3600000
FAILED for Asia/Gaza 1585349999999 7200000 0
FAILED for Asia/Gaza 1603400399999 7200000 3600000
FAILED for Asia/Hebron 1458946800000 7200000 3600000
FAILED for Asia/Hebron 1476997199999 7200000 3600000
FAILED for Asia/Hebron 1490396400000 7200000 3600000
FAILED for Asia/Hebron 1509051599999 7200000 3600000
FAILED for Asia/Hebron 1522450799999 7200000 0
FAILED for Asia/Hebron 1540501199999 7200000 3600000
FAILED for Asia/Hebron 1553900399999 7200000 0
FAILED for Asia/Hebron 1571950799999 7200000 3600000
FAILED for Asia/Hebron 1585349999999 7200000 0
FAILED for Asia/Hebron 1603400399999 7200000 3600000
FAILED for Asia/Jerusalem 1477781999999 7200000 3600000
FAILED for Asia/Jerusalem 1509231599999 7200000 3600000
FAILED for Asia/Jerusalem 1540681199999 7200000 3600000
FAILED for Asia/Jerusalem 1572130799999 7200000 3600000
FAILED for Asia/Jerusalem 1603580399999 7200000 3600000
FAILED for Asia/Tel_Aviv 1477781999999 7200000 3600000
FAILED for Asia/Tel_Aviv 1509231599999 7200000 3600000
FAILED for Asia/Tel_Aviv 1540681199999 7200000 3600000
FAILED for Asia/Tel_Aviv 1572130799999 7200000 3600000
FAILED for Asia/Tel_Aviv 1603580399999 7200000 3600000
FAILED for Europe/Chisinau 1459036800000 7200000 3600000
FAILED for Europe/Chisinau 1477785600000 7200000 0
FAILED for Europe/Chisinau 1490486400000 7200000 3600000
FAILED for Europe/Chisinau 1509235200000 7200000 0
FAILED for Europe/Chisinau 1521936000000 7200000 3600000
FAILED for Europe/Chisinau 1540684800000 7200000 0
FAILED for Europe/Chisinau 1553990400000 7200000 3600000
FAILED for Europe/Chisinau 1572134400000 7200000 0
FAILED for Europe/Chisinau 1585440000000 7200000 3600000
FAILED for Europe/Chisinau 1603584000000 7200000 0
FAILED for Europe/Kaliningrad 1451599200000 7200000 0
FAILED for Europe/Tiraspol 1459036800000 7200000 3600000
FAILED for Europe/Tiraspol 1477785600000 7200000 0
FAILED for Europe/Tiraspol 1490486400000 7200000 3600000
FAILED for Europe/Tiraspol 1509235200000 7200000 0
FAILED for Europe/Tiraspol 1521936000000 7200000 3600000
FAILED for Europe/Tiraspol 1540684800000 7200000 0
FAILED for Europe/Tiraspol 1553990400000 7200000 3600000
FAILED for Europe/Tiraspol 1572134400000 7200000 0
FAILED for Europe/Tiraspol 1585440000000 7200000 3600000
FAILED for Europe/Tiraspol 1603584000000 7200000 0
FAILED for Israel 1477781999999 7200000 3600000
FAILED for Israel 1509231599999 7200000 3600000
FAILED for Israel 1540681199999 7200000 3600000
FAILED for Israel 1572130799999 7200000 3600000
FAILED for Israel 1603580399999 7200000 3600000
FAILED for Libya 1451599200000 7200000 0
FAILED for Asia/Istanbul 1473195600000 10800000 0
FAILED for Europe/Istanbul 1473195600000 10800000 0
FAILED for Europe/Kirov 1451595600000 10800000 0
FAILED for Europe/Moscow 1451595600000 10800000 0
FAILED for Europe/Simferopol 1451595600000 10800000 0
FAILED for Europe/Volgograd 1451595600000 10800000 0
FAILED for Turkey 1473195600000 10800000 0
FAILED for W-SU 1451595600000 10800000 0
FAILED for Europe/Astrakhan 1451595600000 10800000 0
FAILED for Europe/Astrakhan 1459033199999 10800000 0
FAILED for Europe/Astrakhan 1459033200000 14400000 0
FAILED for Europe/Ulyanovsk 1451595600000 10800000 0
FAILED for Europe/Ulyanovsk 1459033199999 10800000 0
FAILED for Europe/Ulyanovsk 1459033200000 14400000 0
FAILED for Asia/Yekaterinburg 1451588400000 18000000 0
FAILED for Asia/Kashgar 1451584800000 21600000 0
FAILED for Asia/Omsk 1451584800000 21600000 0
FAILED for Asia/Urumqi 1451584800000 21600000 0
FAILED for Asia/Yangon 1451583000000 23400000 0
FAILED for Asia/Barnaul 1451584800000 21600000 0
FAILED for Asia/Barnaul 1459022399999 21600000 0
FAILED for Asia/Barnaul 1459022400000 25200000 0
FAILED for Asia/Hovd 1458932400000 25200000 3600000
FAILED for Asia/Hovd 1474646399999 25200000 3600000
FAILED for Asia/Hovd 1490382000000 25200000 3600000
FAILED for Asia/Hovd 1506700799999 25200000 3600000
FAILED for Asia/Hovd 1522436400000 25200000 3600000
FAILED for Asia/Hovd 1538150399999 25200000 3600000
FAILED for Asia/Hovd 1553886000000 25200000 3600000
FAILED for Asia/Hovd 1569599999999 25200000 3600000
FAILED for Asia/Hovd 1585335600000 25200000 3600000
FAILED for Asia/Hovd 1601049599999 25200000 3600000
FAILED for Asia/Krasnoyarsk 1451581200000 25200000 0
FAILED for Asia/Novosibirsk 1451584800000 21600000 0
FAILED for Asia/Novosibirsk 1469303999999 21600000 0
FAILED for Asia/Tomsk 1451584800000 21600000 0
FAILED for Asia/Tomsk 1464465599999 21600000 0
FAILED for Asia/Tomsk 1464465600000 25200000 0
FAILED for Asia/Choibalsan 1458928800000 28800000 3600000
FAILED for Asia/Choibalsan 1474642799999 28800000 3600000
FAILED for Asia/Choibalsan 1490378400000 28800000 3600000
FAILED for Asia/Choibalsan 1506697199999 28800000 3600000
FAILED for Asia/Choibalsan 1522432800000 28800000 3600000
FAILED for Asia/Choibalsan 1538146799999 28800000 3600000
FAILED for Asia/Choibalsan 1553882400000 28800000 3600000
FAILED for Asia/Choibalsan 1569596399999 28800000 3600000
FAILED for Asia/Choibalsan 1585332000000 28800000 3600000
FAILED for Asia/Choibalsan 1601045999999 28800000 3600000
FAILED for Asia/Irkutsk 1451577600000 28800000 0
FAILED for Asia/Ulaanbaatar 1458928800000 28800000 3600000
FAILED for Asia/Ulaanbaatar 1474642799999 28800000 3600000
FAILED for Asia/Ulaanbaatar 1490378400000 28800000 3600000
FAILED for Asia/Ulaanbaatar 1506697199999 28800000 3600000
FAILED for Asia/Ulaanbaatar 1522432800000 28800000 3600000
FAILED for Asia/Ulaanbaatar 1538146799999 28800000 3600000
FAILED for Asia/Ulaanbaatar 1553882400000 28800000 3600000
FAILED for Asia/Ulaanbaatar 1569596399999 28800000 3600000
FAILED for Asia/Ulaanbaatar 1585332000000 28800000 3600000
FAILED for Asia/Ulaanbaatar 1601045999999 28800000 3600000
FAILED for Asia/Ulan_Bator 1458928800000 28800000 3600000
FAILED for Asia/Ulan_Bator 1474642799999 28800000 3600000
FAILED for Asia/Ulan_Bator 1490378400000 28800000 3600000
FAILED for Asia/Ulan_Bator 1506697199999 28800000 3600000
FAILED for Asia/Ulan_Bator 1522432800000 28800000 3600000
FAILED for Asia/Ulan_Bator 1538146799999 28800000 3600000
FAILED for Asia/Ulan_Bator 1553882400000 28800000 3600000
FAILED for Asia/Ulan_Bator 1569596399999 28800000 3600000
FAILED for Asia/Ulan_Bator 1585332000000 28800000 3600000
FAILED for Asia/Ulan_Bator 1601045999999 28800000 3600000
FAILED for Asia/Pyongyang 1451575800000 30600000 0
FAILED for Asia/Chita 1451577600000 28800000 0
FAILED for Asia/Chita 1459015199999 28800000 0
FAILED for Asia/Chita 1459015200000 32400000 0
FAILED for Asia/Khandyga 1451574000000 32400000 0
FAILED for Asia/Yakutsk 1451574000000 32400000 0
FAILED for Asia/Ust-Nera 1451570400000 36000000 0
FAILED for Asia/Vladivostok 1451570400000 36000000 0
FAILED for Asia/Magadan 1451570400000 36000000 0
FAILED for Asia/Magadan 1461427199999 36000000 0
FAILED for Asia/Magadan 1461427200000 39600000 0
FAILED for Asia/Sakhalin 1451570400000 36000000 0
FAILED for Asia/Sakhalin 1459007999999 36000000 0
FAILED for Asia/Srednekolymsk 1451566800000 39600000 0
FAILED for Pacific/Bougainville 1451566800000 39600000 0
FAILED for Pacific/Norfolk 1451566800000 39600000 0
FAILED for Pacific/Fiji 1452952800000 43200000 0
FAILED for Pacific/Fiji 1478354399999 43200000 0
FAILED for Pacific/Fiji 1484402400000 43200000 0
FAILED for Pacific/Fiji 1509803999999 43200000 0
FAILED for Pacific/Fiji 1541253599999 43200000 0
FAILED for Pacific/Fiji 1572703199999 43200000 0
FAILED for Pacific/Fiji 1604152799999 43200000 0
##
Bug is in fact present, so this patch is needed
##
(Perhaps) modifying ild_ub1$ for rehotloading of sun/util/calendar/ZoneInfoFile
obj# = 56162
nbytes %d = 64512, 1st read = 64512, 2nd read = -1
99 398110 385632 12478 joxbtflag>>8 = 7
===

PL/SQL procedure successfully completed.

########################################################
Bug is in fact present, so this patch is needed
Proceed by restarting the database and running script
fixTZb
########################################################

PL/SQL procedure successfully completed.

SQL> 

Yukarıdaki çıktıdan da anlaşılacağı gibi fixTZb.sql scriptinin çalıştırılması gerekmektedir. fixTZb.sql scriptini çalıştırmak için veritabanın migrate şeklinde başlatılması gerekiyor. RAC veritabanları için startup migrate öncesinde , cluster_database parametresinin false yapılması gerekiyor.

Veritabanının migrate şeklinde başlatılması :

SQL> alter system set cluster_database=false scope=spfile sid='*';

System altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
-bash-4.3$ srvctl stop database -d ORCL



-bash-4.3$ 
-bash-4.3$ 
-bash-4.3$ 
-bash-4.3$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Oct 17 11:35:37 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup migrate
ORACLE instance started.

Total System Global Area 2.1379E+10 bytes
Fixed Size                  2255784 bytes
Variable Size            1.1945E+10 bytes
Database Buffers         9261023232 bytes
Redo Buffers              170299392 bytes
Database mounted.
Database opened.

fixTZb.sql scriptinin çalıştırılması :

SQL> @$ORACLE_HOME/javavm/admin/fixTZb.sql

Session altered.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


PL/SQL procedure successfully completed.


Call completed.

Testing various timezone DST attributes
########################################################
Bug is no longer present.  Patch succeeded.
########################################################

PL/SQL procedure successfully completed.

drop java source fixTZ
drop package fixTZ

PL/SQL procedure successfully completed.

Yukarıdaki çıktıdaki “Bug is no longer present.  Patch succeeded.” ibaresi script’in başarılı şekilde tamamlandığını gösteriyor. Sonrasındaki işlemlere devam edebiliriz.

Script’lerden sonra veritabanımızı normal (cluster_database=true) şeklinde açıp , paketlerin yeniden yüklenmesini sağlıyoruz.

SQL> alter system set cluster_database=true scope=spfile sid='*';

System altered.

SQL> shu immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
-bash-4.3$ srvctl start database -d ORCL

Paketlerin yeniden yüklenmesi : 

Aşağıdaki scriptleri sırasıyla çalıştırıyoruz ve sonrasında veritabanını yeniden başlatıyoruz.

-bash-4.3$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Oct 17 11:44:54 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> @$ORACLE_HOME/rdbms/admin/prvtstas.plb

Package created.

No errors.
SQL> @$ORACLE_HOME/rdbms/admin/prvtstai.plb

Package body created.

No errors.
SQL> @$ORACLE_HOME/rdbms/admin/prvtstat.plb

Package body created.

No errors.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
-bash-4.3$ srvctl stop database -d ORCL
-bash-4.3$ srvctl start database -d ORCL
-bash-4.3$ 

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir