Year 2000 problems…

2

Last year our firm (AMIS) celebrated its 15th anniversary. This year Oracle celebrates its 30th year of its existence. In that reflective light, I remembered a nice "Easter egg" regarding the database software. A long time ago, I guess somewhere in 1997, 1998, I was working as a DBA consultant for a big Dutch banking cooperation. Preparing for the upcoming year 2000 in those days we tested a lot of applications and databases regarding the year 2000 problems (among others date formats regarding: YY, YYYY, RRRR…) etc.

An UNIX (AIX) system administrator of this banking cooperation accidentally did a reset to the default date/time in those days of an AIX (version 3.2?) machine (RS/6000) to 01-01-1970. I am not absolutely sure, but I think it was this date. He did this while I was starting an Oracle database (Oracle V. 7.3.x)  and to my surprise I got an Oracle error from the database that said something in the lines of…"Sorry, but this date / time setting can’t be correct, because the Oracle Company didn’t exist in those days".

The other day I tested some OS / Oracle Database combinations, in the light of the anniversaries and for some fun, regarding this phenomena to see if I could reproduce the message.

I am a little bit disappointed now, because I couldn’t.

Some of the lessons I learned.

  • RedHat 3.0 can’t be set to a date before a date with 010100001970 (01 January 0000 Hours 1970).
  • On SUSE 9.3 this is possible, strangely enough, it can’t be set to a date before 010100001902 (01 January 0000 Hours 1902).

Regarding the databases I checked on these systems:

  • One crashed with a segmentation fault regarding every setting before the year 2000 (an Service Request has been logged).
  • One (an Oracle Enterprise Edition 10.2.0.2.0 database) returned an error with the message "ORA-01513: invalid current time returned by operating system" if the date was set to a year before the 2000.

In short, those new versions of the Oracle databases are year 2000 compliant; they won’t start before this date (which on itself is also a kind of an "Easter egg"). I am wondering if phenomena is related to the year 2000 problems or not or just a new restriction of the database or the operating system. It is a shame though I can’t (yet) imitate the brilliant ORA message, which I thought, had a lot of humor in it…
 

Smiley
 

Small addition
 

My college Alex Nuijten asked me if I also had done my small test on my Oracle 4.1 environment, which I still treasure. Besides the new versions I also did a small test on that environment, but because this environment with MSDOS 6.2 doesn’t want to reset it’s date before 1980, this isn’t a real problem for the 4.1 database. This database has in it’s header when it starts: "Copyright (c) 1997, 1980, 1981, 1982" so my guess was that it at least could handle the 1980 year data (and probably 1979), three years after Oracle has been founded.

Share.

About Author

Marco Gralike, working for AMIS Services BV as a Principal Oracle Database Consultant in the Netherlands, has experience as a DBA since 1994 (Oracle 6). Marco is also eager and skillful in other fields, like Operating System Administration and Application Servers, mainly to find working, performing solutions. Marco has been specializing in Oracle XMLDB, since 2003, focusing on his old love, database administration and performance. He is an Oracle XMLDB enthusiast ever since. He is also a dedicated contributor of the Oracle User Group community, helping people with their steep XMLDB learning curve. To this purpose, Marco also devoted his personal blog site to XMLDB and other Oracle issues. Marco is a member of the OakTable network and an Oracle ACE Director (specialization Oracle XMLDB).

2 Comments

  1. Marco Gralike on

    I haven’t tried it and now you mention it, I remember the article and/or Oracle-L listing, but I can imagine that it isn’t available anymore in those new versions of Oracle.

  2. Have you tried the unix ‘strings’ function on the executables and libraries in the oracle_home? It is supposed to extract all human legible strings from an exe. I believe Jared Still has an example on his website and I think he has responded on Oracle-l in a similar thread concerning messages. I’m sorry, but I can’t afford the time right now to investigate myself.