בעיה מוזרה של תזמוני AWR (וגם איך מבצעים שינוי Timezone ב-RAC) - ilDBA Portal

בעיה מוזרה של תזמוני AWR (וגם איך מבצעים שינוי Timezone ב-RAC)

10/06/2014 | פורסם על ידי

לאחרונה נתקלתי אצל לקוח בתופעה מוזרה – למרות ששרתי הלקוח היו בארצות הברית, הזמנים שנרשמו על דגימות ה-AWR הופיעו עם שעות של ישראל. באופן עקרוני לא אמורה להיות בעיה עם כזה דבר (לפעמים זה אפילו דיי נוח) אבל כשמתחילים להשתמש ב-ASH אז "לפני שעתיים" מוגדר אצלו לפי אזור הזמן המקומי (שהוא לוס אנג'לס) ולא לפי זה שמתחשב בדגימה (שהוא ישראל).

כשעשינו דגימה ידנית, אז הדגימה נכנסה עם השעה של המשתמש המקומי (לוס אנג'לס) ואחר כך חזרה לדגימות לפי שעון ישראל:

instance 1:
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ ----
8346 17 Mar 2014 17:00 1
8347 17 Mar 2014 08:07 1
8348 17 Mar 2014 17:30 1

instance 2:
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ ----
8346 17 Mar 2014 17:00 1
8347 17 Mar 2014 17:07 1
8348 17 Mar 2014 17:30 1

מה שיותר בלבל את העניינים היה שמדובר היה ב-RAC כך שהזמן של הדגימה בשני השרתים לא היה אותו הדבר!

התחלנו לחפש מה הבעיה – דבר ראשון בדקנו את ה-TZ בשרת ה-DB:

SQL> select systimestamp, sessiontimezone from dual;

SYSTIMESTAMP                          SESSIONTIMEZONE
------------------------------------- -------------------------------------
17-MAR-14 07.27.07.367558 AM -07:00   -07:00

ואז את הזמן בשרת הלינוקס:

[root@rac-node-1]# hwclock

Tue 17 Mar 2014 07:29:47 AM PDT  -0.342614 seconds

[root@rac-node-1]# date

Tue Mar 17 07:29:55 PDT 2014

[root@rac-node-1]# ls -l /etc/localtime

lrwxrwxrwx 1 root root 39 Jul 29  2013 /etc/localtime -> /usr/share/zoneinfo/America/Los_Angeles

אבל הכל נראה תקין.

חשבנו אולי זה מגיע מהגדרות לא נכונות של ה-dbms_scheduler – אבל גם שם זה היה תקין:

SQL> select DBMS_SCHEDULER.STIME from dual;

STIME
---------------------------------------------------------------------------
17-MAR-14 07.36.44.971988000 AM PST8PDT

בסוף נמצאה האבדה: מסתבר שה-AWR עובד לפי ההגדרות של ה-Timezone של המשתמש שהפעיל את ה-DB. במקרה שלנו מדובר הגדרה של Asia/Jerusalem.

[oracle@rac-node-1]$ ps efx|grep pmon

22026 ?        Ss     0:13 ora_pmon_ORCL1 __CLSAGFW_TYPE_NAME=ora.listener.type CONSOLE=/dev/console SELINUX_INIT=YES ORA_CRS_HOME=/oracle/app/11.2.0/grid TERM=linux
__CRSD_CONNECT_STR=(ADDRESS=(PROTOCOL=IPC)(KEY=CRSD_IPC_SOCKET_11))
NLS_LANG=AMERICAN_AMERICA.AL32UTF8 CRF_HOME=/oracle/app/11.2.0/grid
GIPCD_PASSTHROUGH=false ORA_DAEMON_TRACING_LEVELS=AGENT=0,AGFW=0,CLSFRAME=0,CLSVER=0,CLUCLS=0,COMMCRS=0,COMMNS=0,CRSAPP=0,CRSCCL=0,CRSCEVT=0,CRSCOMM=0,CRSD=0,CRSEVT=0,CRSMAIN=0,CRSOCR=0,CRSPE=0,CRSPLACE=0,CRSRES=0,CRSRPT=0,CRSRTI=0,CRSSE=0,CRSSEC=0,CRSTIMER=0,CRSUI=0,CSSCLNT=0,SuiteTes=0,UiServer=0,OCRAPI=1,OCRCLI=1,OCRSRV=1,OCRMAS=1,OCRMSG=1,OCRCAC=1,OCRRAW=1,OCRUTL=1,OCROSD=1,OCRASM=1 __CRSD_AGENT_NAME=/oracle/app/11.2.0/grid/bin/oraagent_oracle _ORA_AGENT_ACTION=TRUE __CRSD_MSG_FRAME_VERSION=2 LD_LIBRARY_PATH= INIT_VERSION=sysvinit-2.86 __CLSAGENT_INCARNATION=2 CRS_LIMIT_MEMLOCK=unlimited ORASYM=/oracle/app/11.2.0/grid/bin/oraagent.bin PATH= runlevel=3 RUNLEVEL=3 PWD=/ ENV_FILE=/oracle/app/11.2.0/grid/crs/install/s_crsconfig_rac-node-1_env.txt CRS_LIMIT_OPENFILE=65536 LANG=en_US.UTF-8 <b>TZ=Asia/Jerusalem</b> __IS_HASD_AGENT= previous=N PREVLEVEL=N __CLSAGENT_LOG_NAME=ora.listener.type_oracle ORA_DAEMON_LOGGING_LEVELS=AGENT=1,AGFW=0,CLSFRAME=0,CLSVER=0,CLUCLS=0,COMMCRS=0,COMMNS=0,CRSAPP=0,CRSCCL=0,CRSCEVT=0,CRSCOMM=0,CRSD=0,CRSEVT=0,CRSMAIN=0,CRSOCR=0,CRSPE=0,CRSPLACE=0,CRSRES=0,CRSRPT=0,CRSRTI=0,CRSSE=0,CRSSEC=0,CRSTIMER=0,CRSUI=0,CSSCLNT=0,SuiteTes=1,UiServer=0,OCRAPI=1,OCRCLI=1,OCRSRV=1,OCRMAS=1,OCRMSG=1,OCRCAC=1,OCRRAW=1,OCRUTL=1,OCROSD=1,OCRASM=1 SHLVL=2 HOME=/ __CLSAGENT_LOGDIR_NAME=crsd LD_ASSUME_KERNEL= CRS_LIMIT_CORE=unlimited __CLSAGENT_USER_NAME=oracle ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1 CRS_LIMIT_STACK=2048 ORACLE_SID=ORCL1 ORA_NET2_DESC=60,63 ORACLE_SPAWNED_PROCESS=1 SKGP_SPAWN_DIAG_PRE_FORK_TS=1395533425 SKGP_SPAWN_DIAG_POST_FORK_TS=1395533425 SKGP_HIDDEN_ARGS=&lt;FATAL/S/PMON/x0/x1/x0/x9CC6FCFA/21632/21632/x0/x2/x1/x9CC6FD4A/1395533425/1395533425&gt; 0 SKGP_SPAWN_DIAG_PRE_EXEC_TS=1395533425

אבל מאיפה מגיעה ההגדרה הזו? הרי המשתמש שמפעיל את ה-DB הוא oracle וההגדרות שלו תקינות…

התשובה מתחבאת בתוך השאלה – מכוון שבמקרה שלנו מדובר ב-cluster, ל-CRS יש קובץ הגדרות שבו ניתן להגדיר אזור זמן, TNS_ADMIN והגדרות אחרות של NLS. הקובץ הוא "/oracle/app/11.2.0/grid/crs/install/s_crsconfig_rac-node-1_env.txt" (או במיקום היותר גנרי שלו:

$GRID_HOME/crs/install/s_crsconfig_`hostname -s`_env.txt

בתוך הקובץ שינינו את ההגדרה של ה-TZ ואיתחלנו את ה-RAC. הבעיה נפתרה.

The following two tabs change content below.
זהר אלקיים הוא Oracle DBA מאז 1998 ויועץ בכיר מאז 2007 ובעל תואר Oracle ACE Associate. הוא מתמחה בתשתיות בסיסי נתונים, ארכיטקטורה ושיפור ביצועים. זהר הוא גם מדריך, מרצה בכנסים ובלוגר באתר www.realdbamagic.com מאז 2010. כיום הוא משמש כיום כ-CTO בחברת בריליקס ומנהל את האתר ilDBA.

השאר תגובה:

שם (חובה):
אימייל (לא יפורסם) (חובה):
תגובה (חובה):

*



מאמרים קשורים

איך לבצע Sizing DB ב-Datacenter בארגונך בקלות (חלק א')

כחלק מהטמעות מוצרי IT תשתיתיים (כגון FWDB, מוצרי גיבוי, חוות Storage, מוצרי שו"ב ועוד…) בארגוני, אנו נדרשים המון פעמים לענות על שאלות לספקים כגון : מה גודל הכולל של ה –  Datacenter  ? מה חלוקת גודל ה [...]
מבוא

מבוא לבעיות ביצועים באורקל

The following two tabs change content below.BioLatest Posts עודד רז עודד רז, מנכ"ל חברת בריליקס ומייסד אתר זה. עודד הוא Oracle ACE Director ואחד מה-DBA-ים הבכירים ביותר בישראל, עם מעל 15 שנות ניסיון כ-DBA תשתיתי ואפליקטיבי. לעודד [...]

ה-SQL Performance Analyzer ב-Real Application Testing

בפוסט הקודם הזכרתי בקצרה את ה-SQL Performance Analyzer, בפוסט הזה אני אציג את ה-SPA, יתרונות וחסרונות של המוצר ואיך כדאי להשתמש [...]

מבוא ל- Real Application Testing

הפעם רציתי לסקור feature שלם שנקרא RAT (או בשמו המלא Real Application Testing). ה- feature הזה הוא database option של Oracle Enterprise Edition והוא לא חדש בכלל. הוא הוצג ב- 11gR1 וגם נמצא בשימוש לא מועט בעולם. משום מה, אצלנו בארץ לא יוצא [...]
Copyright 2019 ilDBA Portal. Brought to you by Brillix - Israel Leading DBA company. Sponsored by: DBSnaps - Database Video Tutorialss
Website Security Test
%d בלוגרים אהבו את זה: