eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« How to maintain Oracle10g Recyclebin? | Blog首页 | The Network is The Computer »

Oracle Diagnostics:Why sysdate is fixed?

今天一个朋友在MSN上问到一个问题:为什么我的SYSDATE不变了?

他查询SYSDATE的值一直停留在2005-03-01 11:41:15。感觉很奇怪。

忍不住指导他研究一下,先是从系统级诊断,发现没有问题。

再从数据库角度来诊断,发现:

select current_date from dual; 的输出是正确的,而

select sysdate from dual; 却是不正确的。

 

猜测是某个参数导致了系统日期被固化,让他传来alert文件,果然发现了一个此前未注意到的参数: FIXED_DATE,

  core_dump_dest           = /u01/app/oracle/admin/unicode/cdump
  fixed_date               = 01-MAR-05
  sort_area_size           = 524288
  db_name                  = unicode

文档上的解释为:

FIXED_DATE

Parameter type

String

Syntax

FIXED_DATE = YYYY-MM-DD-HH24:MI:SS (or the default Oracle date format)

Default value

There is no default value.

Parameter class

Dynamic: ALTER SYSTEM

FIXED_DATE enables you to set a constant date that SYSDATE will always return instead of the current date. This parameter is useful primarily for testing. The value can be in the format shown above or in the default Oracle date format, without a time.

找到了这个参数也就找到了答案!


历史上的今天...
    >> 2016-12-12文章:
    >> 2012-12-12文章:
    >> 2008-12-12文章:
    >> 2006-12-12文章:
           使用Perl连接Mysql数据库
    >> 2004-12-12文章:

无觅

By eygle on 2005-12-12 23:21 | Comments (2) | Case | 574 |

2 Comments

这个比较有趣,也是第一次知道还有这个参数,好玩,哈哈,应该用sql_trace跟踪一下,看看设置参数前后,oracle做了什么。我懒了,eygle来跟踪一下吧。

这个跟踪不到的,是个内部操作!


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com