Skip to Main Content


Question and Answer

Tom Kyte

Thanks for the question, Rob.

Asked: January 02, 2002 - 3:44 pm UTC

Last updated: April 20, 2007 - 7:10 am UTC

Version: 8.1.7

Viewed 10K+ times! This question is

You Asked


Is there any reason to limit the Oracle SID to 8 (or some number)
of characters. Eight characters seems to be some kind of convention.


and Tom said...

its really 4 characters as the convention (ORCL for example).

The reason is in support of 8.3 filenames. ALRTORCL.LOG, INITORCL.ORA, etc. We use 4, you use 4 and we can get 8 character filenames.

See your OS guide for the max's on your OS.


  (6 ratings)

Is this answer out of date? If it is, please let us know via a Comment


A reader, January 02, 2002 - 5:30 pm UTC

Any functional reason

Benny Ching, January 02, 2002 - 6:41 pm UTC

I read in the Solaris guide they recommended 4 characters for the Oracle SID. Besides the 8.3 format, is there any functional reason for the 4 character recommendation on the Oracle SID?

Tom Kyte
January 02, 2002 - 8:12 pm UTC

we use it and the oracle_home as a key for the SGA on Unix. We only use part of it in the key -- so, longer sids could result in the same key being generated for two sids under the same oracle home. So, using just the first four and the fact that a sid must be unique, avoids any issues with regards to the key generation.


Igor, April 19, 2007 - 2:34 pm UTC

Hi Tom,

In 10.2 documentation I find in one place that it is recommended to have ORACLE_SID with 8 characters max
but nowhere is stated it can't be longer.

I have seen that ORACLE_SID of longer names 20+ startup ok
but instance_name in v$instance is not visible anymore (v$thread seems to be ok).

Can you give your point of view ?

Thank you and regards,

Tom Kyte
April 19, 2007 - 4:59 pm UTC

I would stick with 8 or less - better safe than sorry.

since no one really sees the sid anymore, only on the local server -never over the net - why bother with it.

Thank you

Igor, April 20, 2007 - 5:14 am UTC


In some situations it would be practical to have it longer.
You have to handle two unique handles (when you "replicate" server) that don't clash with the rest.
Also when you have script that initialise environment to do backup/restore/drop script in hands of some operator, it would be easier to have all-as-one instead of starting from instance/service name to pass by network alias to get ORACLE_SID (or having some other source)
People get confused if you start to explain differences about instance_name, service_name, db_name, db_unique_name, ORACLE_SID etc
or maybe I have wrong approach :-)

Of course, all is doable and this extension would just simplify some steps in some situations.

Thank you.

Tom Kyte
April 20, 2007 - 7:10 am UTC

since there should only be one instance per server, this isn't a problem.

and using rman, you wouldn't have to use a sid at all.

8.3 limitation

A reader, April 20, 2007 - 5:29 am UTC

just for interest as I stumbled across this thread
(haven't use DOS for one or two decades anymore)

is the 8.3 limitation still active in the new
DOS Vista of MS ?

Can anybody tell me ?


Igor, April 20, 2007 - 12:33 pm UTC

It's test environment with a lot of restore/drop operations.
Other approaches were simply too slow ( also dropping a lot of objects take time ) - we discussed it shortly in some other thread.