ORACLE 11G 新部署的环境,刚使用GOLDENGATE 进行完数据迁移和同步,发现ORACLE 自动收集的任务时间
并不是设定的晚上22点启动。检查AIX 时区发现设置的CDT ,
数据库的TIMEZONE 是CST6CDT,与系统管理
员沟通,他答复是AIX 6.1 没有北京时间这个时区了,所以没有按照手册特别设置,现在只能进行时区更改为
Asia/Shanghai,OS更改完成后GOLDENGATE / ORACLE /AIX 全部重启。
问题接踵而至
1.GOLDENGATE 所有的TRAIL FILE 时间都被更改导致REPLICATE ABEND
解决方法:
ALTER REPLICAT REP* , extseqno xxx ,extrba xxx
2.ORACLE 中发现数据库的TIMEZONE 还需是原来的,统计信息自动收集任务时间还是异常
解决方法:
数据库时区更改参考:http://space.itpub.net/175005/viewspace-618100
确认业务表没有使用TIMESTAMP WITH LOCAL TIME ZONE 类型的
ALTER DATABASE SET TIME_ZONE='+08:00';
Completed: ALTER DATABASE SET TIME_ZONE='+08:00'
Wed Oct 09 09:37:10 2013
重启数据库
检查更改是否成功
select * from database_properties where property_name = 'DBTIMEZONE';
检查 scheduler default_timezone 的设置
9:40:01 SQL> set verify off 9:40:08 SQL> variable v_value varchar2(1000); 9:40:20 SQL> begin 2 dbms_scheduler.get_scheduler_attribute(attribute => 'default_timezone',value => :v_value); 3 end; 4 / PL/SQL procedure successfully completed Executed in 0.016 seconds v_value --------- CST6CDT 发现依然是更改前的TZ CST6CDT 进行更改: 9:44:12 SQL> BEGIN 2 DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE( 3 ATTRIBUTE => 'default_timezone', 4 VALUE => 'Asia/Shanghai'); 5 END; 6 7 / PL/SQL procedure successfully completed Executed in 0.031 seconds |
一个小问题折腾了半天。