oracle数据库job时区,Oracle及SQL Server Job运行时间讨论及夏令时问题

Oracle10g, SQL Server 2000, 2005

Linux AS 5.3 , Windows 2003

一,讨论Linux及Windows时间变化及硬件CMOS时间问题。

修改Linux时间命令:

[root@lhtestdb01 ~]# date

Thu Mar 10 11:11:50 CST 2011

[root@lhtestdb01 ~]#

[root@lhtestdb01 ~]# date -s 12:11:55

Thu Mar 10 12:11:55 CST 2011

[root@lhtestdb01 ~]# date -s 03/09/2011

在Linux中修改OS时间后,等待一段时间(比如1小时,具体多长时间待查),CMOS

会与OS时间进行同步,以便下次启动server时候读取的cmos时间和os时间能匹配。

在Linux下修改时间后如果需要手工同步到硬件时钟,可以使用:

# hwclock -r ; date  查看硬件时间及系统时间

# hwclock --set --date="4/28/05 11:10:05"(月/日/年 时:分:秒)

或者

# clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

如果让硬件时钟与系统时间同步,则用

# hwclock –w

或者

# hwclock --hctosys  (hc代表硬件时间,sys代表系统时间)

修改Windows时间的命令非常简单,不做介绍。windows在修改时间

后,会马上将OS最新时间更新到cmos中。

二,讨论Linux及Windows时间变化后Oracle及SQL Server的系统时间。

修改时间后我们可以通过查询来确认Oracle及SQL Server系统中的时间。

select sysdate from dual ;  (oracle)

use master

select getdate() ;      (sql server)

可以测试发现,Oracle及SQL Server中无论OS时间如何变化,Oracle及

SQL Server数据库中的系统时间都会跟着变化 。

备注: 注意修改时区还是需要重新启动Server的。

JOB在运行结束之后才会更新next_date,但是计算的方法是JOB刚开始的时间加上interval设定的间隔

三,讨论Oracle的时间及job问题。

1. 时间由8:00am调整为9:00am,跨度为1小时。

Oracle job运行时间间隔为2分钟,job运行时间为1秒。

-- 时间调整后Oracle job会正常自动运行,这时候last_date变成了

9:00:02, next_date变成了9:02:02 .

2. 时间由9:00am调整为8:00am,跨度为1小时。

Oracle job 不能正常运行,需要手工执行一次后,last_date变成执行

结束时候的时间,随后恢复正常。

四,讨论SQL Server的时间及job问题。

修改時間:

1) 8:00->9:00  :

數據庫不需要重啟, getdate()時間會自動從8點修改到9點;

Job下次運行的時間會根據修改的時間自動調整到對應的時間點.

2) 8:00->7:00  :

數據庫不需要重啟,getdate()時間會自動從8點修改到7點;

Job下次運行的時間還是會保持不變,並且即使手動運行該Job之後,下次

運行時間仍然不會變化.會直接等到之前的"下次運行時間"的時候才執行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值