時區調整對job的執行時間的影響
調整時區既可以在作業系統調整,也可以在session 調整,那麼不同的方式對於job的計劃時間是否有影響呢,
我們用實際例子來驗證一下:
Test1:
1.首先看一下預設系統時區:
oracle@fmw11g.vm.oracle.com $ date
Sat Nov 19 03:50:10 GMT 2016 <'TJ1',
job_type => 'STORED_PROCEDURE',
job_action => 'JOB_PRO_TEST1',
start_date => sysdate + 1/24, <<1hour 之後開始執行
enabled => true,
auto_drop => true
);
end;
/
3.check job的執行狀態
select owner,job_name,job_action,start_date, state from ALL_SCHEDULER_JOBS where owner='MAOB';
MAOB
<< 03:51提交的,計劃在GMT的上午4:51開始執行
Test2:
1.檢查一下當前時間
oracle@fmw11g.vm.oracle.com $ date
Sat Nov 19 03:54:30 GMT 2016 << alter SESSION set time_zone='+08:00'; <<<
begin
dbms_scheduler.create_job(
job_name=>'TJ2',
job_type => 'STORED_PROCEDURE',
job_action => 'JOB_PRO_TEST1',
start_date => sysdate + 1/24, <<仍然1hour 之後開始執行
enabled => true,
auto_drop => true
);
end;
/
3.check job的執行狀態
select owner,job_name,job_action,start_date, state from ALL_SCHEDULER_JOBS where owner='MAOB';
MAOB
<<剛剛提交的job,居然計劃在中國時區的4:54:34+08:00執行,因為系統當前時間是03:54:30 GMT,對應中國時區的11:54:30+08:00,所以
顯然是之前的時間,所以等於過期了,於是scheduler發現需要立即執行,也就處於RUNNING狀態了
Test3:
1.檢查一下當前時間並透過作業系統設定時區
oracle@fmw11g.vm.oracle.com $ date
Sat Nov 19 04:02:42 GMT 2016 < begin
dbms_scheduler.create_job(
job_name=>'TJ3',
job_type => 'STORED_PROCEDURE',
job_action => 'JOB_PRO_TEST1',
start_date => sysdate + 1/24, <<仍然1hour 之後開始執行
enabled => true,
auto_drop => true
);
end;
/
3.check job的執行狀態
select owner,job_name,job_action,start_date, state from ALL_SCHEDULER_JOBS where owner='MAOB';
MAOB
新job計劃時間是北京時間1:02:57,這個正式符合要求的
綜上所述,正常在作業系統層面調整時區是不會影響job時間的,但是對於透過alter sessoin 調整時區
需要謹慎,因為server process還是fork起來時候的時間(GMT)我們突然把session的時區給修改了,但是時間
是不會變的,所以start_date就是變成GMT的時間和新時區的組合體了。
Test1:
1.首先看一下預設系統時區:
oracle@fmw11g.vm.oracle.com $ date
Sat Nov 19 03:50:10 GMT 2016 <'TJ1',
job_type => 'STORED_PROCEDURE',
job_action => 'JOB_PRO_TEST1',
start_date => sysdate + 1/24, <<1hour 之後開始執行
enabled => true,
auto_drop => true
);
end;
/
3.check job的執行狀態
select owner,job_name,job_action,start_date, state from ALL_SCHEDULER_JOBS where owner='MAOB';
MAOB
<< 03:51提交的,計劃在GMT的上午4:51開始執行
Test2:
1.檢查一下當前時間
oracle@fmw11g.vm.oracle.com $ date
Sat Nov 19 03:54:30 GMT 2016 << alter SESSION set time_zone='+08:00'; <<<
begin
dbms_scheduler.create_job(
job_name=>'TJ2',
job_type => 'STORED_PROCEDURE',
job_action => 'JOB_PRO_TEST1',
start_date => sysdate + 1/24, <<仍然1hour 之後開始執行
enabled => true,
auto_drop => true
);
end;
/
3.check job的執行狀態
select owner,job_name,job_action,start_date, state from ALL_SCHEDULER_JOBS where owner='MAOB';
MAOB
<<剛剛提交的job,居然計劃在中國時區的4:54:34+08:00執行,因為系統當前時間是03:54:30 GMT,對應中國時區的11:54:30+08:00,所以
顯然是之前的時間,所以等於過期了,於是scheduler發現需要立即執行,也就處於RUNNING狀態了
Test3:
1.檢查一下當前時間並透過作業系統設定時區
oracle@fmw11g.vm.oracle.com $ date
Sat Nov 19 04:02:42 GMT 2016 < begin
dbms_scheduler.create_job(
job_name=>'TJ3',
job_type => 'STORED_PROCEDURE',
job_action => 'JOB_PRO_TEST1',
start_date => sysdate + 1/24, <<仍然1hour 之後開始執行
enabled => true,
auto_drop => true
);
end;
/
3.check job的執行狀態
select owner,job_name,job_action,start_date, state from ALL_SCHEDULER_JOBS where owner='MAOB';
MAOB
新job計劃時間是北京時間1:02:57,這個正式符合要求的
綜上所述,正常在作業系統層面調整時區是不會影響job時間的,但是對於透過alter sessoin 調整時區
需要謹慎,因為server process還是fork起來時候的時間(GMT)我們突然把session的時區給修改了,但是時間
是不會變的,所以start_date就是變成GMT的時間和新時區的組合體了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2141843/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 時區以及時區對於Java時間類格式化的影響Java
- 測試修改作業系統時間&時區對oracle的影響作業系統Oracle
- 並行查詢對於響應時間的影響實驗並行
- 修改系統時間對oracle的影響Oracle
- Linux調整系統時間和時區的方法Linux
- job 執行時間比排程間隔時間長
- JVM 引數調整對 sortx 的影響JVM
- 調整linux系統時間和時區Linux
- Job長時間執行不能退出的分析
- 調整WebLogic的時間Web
- 系統時間的調整
- 修改主機時區對Oracle的影響分析Oracle
- 【Linux-時間設定】-設定時區並調整時間Linux
- 【實驗】Linux調整系統時間和時區的方法Linux
- 變更OS時間對資料庫的影響資料庫
- AIX 調整時區AI
- 時鐘統一(時間同步)對全球發展程式的影響力
- 修改系統時間對oracle資料庫的影響Oracle資料庫
- 夏令時與冬令時:時區的變化與調整
- linux時間調整Linux
- 使用者被鎖定不影響JOB的執行
- 第48問:為什麼 MySQL 執行時, 不鼓勵調整系統時間MySql
- linux下影響程式碼執行時序(時延大)的可能原因Linux
- 調整Kali Linux的鎖屏時間Linux
- cluster factor對執行計劃的影響
- Oracle及SQL Server Job執行時間討論及夏令時問題OracleSQLServer
- Oracle 執行 DDL 長時間無響應Oracle
- crontab 每隔 1 小時 2 小時的執行 job 寫法
- (轉)用NSDateFormatter調整時間格式的程式碼ORM
- linux調整系統時間Linux
- iOS Dynamic Framework 對 App 啟動時間影響實測iOSFrameworkAPP
- Wenet分散式訓練對學習率調整的影響分散式
- 索引及排序對執行計劃的影響索引排序
- try catch 對程式碼執行的效能影響
- [Linux] ntpdate slew模式調整時間Linux模式
- Activity Monitor log儲存時間調整
- RAC環境調整系統時間
- 定義JOB的執行間隔