Skip to Main Content

Breadcrumb

Question and Answer

Chris Saxon

Thanks for the question, San.

Asked: February 23, 2001 - 10:24 pm UTC

Last updated: March 27, 2013 - 5:17 pm UTC

Version: 8.1.5

Viewed 10K+ times! This question is

You Asked

Tom:

I wanna know:

1. What do you mean by 32 bit Oracle and 64 bit Oracle? Because in so many Oracle documentation I found
"32 bit Oracle 7.x"
"64 bit Oracle 7.x"
"32 bit Oracle 8.x"
"64 bit Oracle 8.x"
also sometime in migration related documentaion I found people are talking about 32 bit and 64 bit Oracle. What I thought
there is only one Oracle, I don't understand what is the difference between 32 bit and 64 bit oracle. How this bit concept is related to Oracle? May be you can through some light on this issue.

2. Is there any known issue while migration from 8.0.x(8) to 8.1.x (8i). If yes, can you please let me know?


Thanks
San

and Tom said...

1) 32bit Oracle is the Oracle that runs on all operating systems. It has a 4gig (or less, depending on OS) address limit. It uses 32bit pointers which are limited to 4gig.

Now, 64bit can address a much larger memory space. It allows for SGA's that are many 10's of gigabytes in size if you need it.

It's just like the old days of the PC with "16 bit" and "32 bit"....


2) There are no "generic" gotcha's. There will be issues with upgrades. Test Test Test.



Rating

  (39 ratings)

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

Comments

need compare data

zhu chao, September 20, 2001 - 11:56 pm UTC

hi, tom:
i am faced with the choice of using 32bit or 64bit oracle on my 64 bit s80 machine.
We did not need large memory support(the RAM is 4G),is it necessary for me to choose 64bit Oracle?
From metalink feedback, 64bit oracle is more buggy than 32bit:
So far I have not recieved an excellent feedback after moving from 32bit to 64bit.
There could be some performance degradation after migrating to 64-bit from 32-bit OS. (From Metalink) ??
Can u give me some instructions?
Thanks so much!

Tom Kyte
September 21, 2001 - 9:09 am UTC

Stay with 32bit then. 64bit gives you the ability to address lots of RAM -- you don't need that. 64bit code can actually run slower then 32bit code on some platforms (not familar with what an "s80" is personally).

Using 64 bit Oracle 8.1.7 on HP-UX 11.0

sai, September 21, 2001 - 12:18 pm UTC

We currently run 32 bit Oracle 8.1.6 on HP-UX 11.0 N CLASS
SERVER WITH 2GB RAM. I have just received the CDs for Oracle 8.1.7 and I was planning to install the 64 bit version of 8.1.7. I read your feedback of slow performance of 64 bit Oracle.
Do you recommend using 64 bit on HP-UX 11.0 , our environment is memory intensive ?



Tom Kyte
September 21, 2001 - 12:22 pm UTC

With 8i -- it'll be your choice (with only 2gig of ram, either 32 or 64bit can address it).

With 9i, you will be running 64bit as we no longer ship 32bit Oracle on HP.

64bit os &32 bit oracle

A reader, June 02, 2004 - 2:34 pm UTC

hi tom
i want to ask you this question
that can we run 32 bit oracle on 64 bit os say( aix or windows)
what will be the repecussions
and at the os level what is taking place.

also how 64 bit os is communicating with 64 bit application.

what are the packages involved in managing both versions of oracle(32/64) bit.

thanks


Tom Kyte
June 02, 2004 - 2:45 pm UTC

depends on the OS and how it handles it. totally OS dependent.

the os deals with that.

32 bit windows tnsping on 64 bit windows

A reader, June 11, 2004 - 12:35 pm UTC

hi tom
if we have to use 32 bit tnsping exes (along with dependent
dlls on 32 bit windows) on 64 bit windows, do you in general see an issue?
or is the 32 bit code gonna in general work with 64 bit
OS?

thanx!

Tom Kyte
June 11, 2004 - 4:32 pm UTC

32 -> 64 -> 32 works just fine.

thanx!

A reader, June 12, 2004 - 11:27 am UTC


Another 64 vs 32bit

Agung, July 06, 2004 - 6:16 am UTC

Tom,

We plan to buy a new Sun box (Solaris 8/9 64bit) with 16GB RAM and we're gonna put 5 database instances (Ora 9i Rel 2) on it. While SGA occupied by each instance will not exceed 4 gig, the total SGA for all 5 instances can be more than 4 gig.

Do I have to go with 64bit or just install the 32bit? Based on your experience, will 64bit oracle 9i run slower than 32bit on Solaris?

Thank you so much.

Tom Kyte
July 06, 2004 - 7:45 am UTC

ugh, what a horrible idea. 4 or 5 instances. a single machine deserves a single instance.

you don't have to go with 64bit, you use that if you have a need to go with sga's that otherwise would not fit - or are on a platform where 64bit is the 'norm' (aix, hp) and only supported configuration.



A reader, July 19, 2004 - 3:40 pm UTC

Tom,
I need to migrate my database from 32bit to 64 bit. Can I do it just by switching to 64bit Home and start the database using 64bit S/w

Thanks in advance



Tom Kyte
July 19, 2004 - 4:46 pm UTC

see the migration guide and readmes that came with your software. you have to rebuild the plsql units in there -- there are documented supplied scripts to do so.

32 Bit Vs 64 Bit Oracle

Manish, August 11, 2004 - 10:09 am UTC

Hello,

We were doing some benchmark experiments and found some interesting case with 32 BIT & 64 BIT Oracle Versions.

We create 2 oracle instances (one 32 bit & one 64 bit)on test box. We developed one script to generate test data. Script was written to generate fixed size data. Which means after generating X MB data, execution was terminated.

On 64 Bit Oracle we found that no. of rows generated were higher (approx. 25%) as that of 32 Bit Oracle with same size of data. Which means say for X MB Size, 32 bit ORACLE generated Y rows whereas 64 bit ORACLE generated 1.2Y rows.

Can you throw some light on this?








Tom Kyte
August 11, 2004 - 12:40 pm UTC

block sizes were the same?

Yes

Manish, August 12, 2004 - 8:40 am UTC

Yes we used same block size for both instance.

Table field types were Varchar2 & Number.

I am really curious to know if the way 64bit oracle stores data is different as that of 32-bit oracle.

Thank you for help.




Tom Kyte
August 12, 2004 - 9:32 am UTC

show me how you generated "x mbyte" of data. show me the test case. there would not be a significant difference.

"Relinking" required for 64 bit?

Prasad Gunaratne, September 07, 2004 - 2:08 am UTC

I wanted to know if Oracle 9i release 2 (32 bit) supported on 64 bit Sun 5.8 (solaris 8).

Found following information on Metalink.

<Quote>

• All Server and O/S versions without 64-bit notations indicate 32-bit versions.
• The 64-bit O/S is capable of running programs that were compiled on a 32-bit O/S and 64-bit O/S.
• The 32-bit O/S runs only programs that were compiled on a 32-bit O/S. This is called Binary Compatible.
• A 32-bit application will work on both a 32-bit and 64-bit O/S, whereas a 64-bit application will only work on a 64-bit O/S.
• Note, however, that re-linking must occur on the O/S version that the application was compiled, as this affects patch sets.

</Quote>

Question
--------
What is the meaning of "Note, however, that re-linking must occur on the O/S version that the application was compiled, as this affects patch sets."?

Does it simply mean executing $ORACLE_HOME/bin/relink? What does relink do and how is it related to 32/64 bit problem?
How and when should relink happen?
(in this context?)


Tom Kyte
September 07, 2004 - 7:25 am UTC

when you install, a "link" happens. so, if you "install", it'll link.

if on the other hand, you had 32bit on there, upgraded the os from a 32 bit version to a 64 bit version and did not reinstall - you would want to relink.

please contact support (via an itar) for installation and configuration details. I myself do not work on every OS, with every nuance. They would be the best place for a nitty gritty install detail like this (or even to explain what their note means in detail!)

Prasad Gunaratne, September 07, 2004 - 9:04 am UTC

Thanks Tom.

32 vs. 64 bit

A reader, January 26, 2005 - 9:30 am UTC

Tom,
Sorry to ask again, but just wanted to clear few doubts. When I run Oracle on a 64 bit platform, shouldn't I get a better throughput because internally Oracle is processing more data as compared to 32 bit.

If I want to migrate to 10g, what platform would you recommend, 64 bit or 32 bit, assuming that the SGA will never exceed 2GB.

Thanks

Tom Kyte
January 26, 2005 - 10:21 am UTC

or maybe slower throughput because all pointers take twice as much space and moving the bits around takes longer.

We are having to process MORE bits to do the same work :)

64bits gives you more addressability, the potential for a larger SGA, being able to use more of your RAM.


Your choice of 32 or 64bits is driven more by the hardware and OS you are choosing than anything else -- let those choices drive your decision.

(and on windows, it isn't the SGA size in as much as the size of the PROCESS that is oracle.exe with all of the threads.....)

32 vs. 64 bit

A reader, January 26, 2005 - 12:11 pm UTC

Thanks for your quick reply. If we decide on Intel/Linux platform, what would you say about 32 bit or 64 bit?

Thanks

Tom Kyte
January 26, 2005 - 1:26 pm UTC

depends on your hardware and OS....

do you have a 64bit chip and a 64bit OS to go with.

Oracle 32 bit vs 64 bit

Ed Valenzuela, May 06, 2005 - 3:13 pm UTC

Very well worded. Straight and to the point.

Intel 64-bit

Jeff W., June 09, 2005 - 11:58 am UTC

I found that the 64-bit Intel Xeon MP can still operate some of our 32-bit software, which may not yet be compatible with a 64-bit operating system.

I have been searching for recent information about 64 bit Intel Chips and compatibility with Oracle 9i. Is it still true that Oracle 9i is NOT compatible with 64-bit Intel Xeon /Xeon MP) processors? I know they are compatible with Itanium 2's, but the powers that be are somewhat hesitant to jump to 100% 64-bit software and require an Intel/Microsoft solution. If we could use Xeons to do both 32-bit and 64-bit... then things may be a little easier to manage.

Any feedback would be greatly appreciated.

Tom Kyte
June 09, 2005 - 6:13 pm UTC

for supportability questions - you'll really want to goto the support, I do not follow every platform and the certifications on it.

metalink.oracle.com

bit

friend, July 11, 2005 - 11:41 am UTC

Tom,

How to find whether installed binaries are 32 bit or 64 bit?



Tom Kyte
July 11, 2005 - 12:33 pm UTC

if you are on a 64bit only OS (eg: current AIX for example), only 64 bit is there.

else, you would expect to see 64bit in the sqlplus banner.

Recently did an upgrade from 32bit to 64bit

mdinh, July 11, 2005 - 2:08 pm UTC

32bit
select address from v$sql where rownum=1

ADDRESS
--------
2AED0A44

64bit
select address from v$sql where rownum=1
ADDRESS
----------------
0000000392CC3988


32 vs 64 bit performance

Andrew, July 11, 2005 - 3:50 pm UTC

Is there any truth to the notion that math with oracles standard number format is faster on 64bit vs 32bit machines?

Old time dba's I ran into years ago swore that on 64bit machines, oracle math executed in one hardware operation whereas oracle uses software emulation on 32bit platforms.



Tom Kyte
July 11, 2005 - 3:54 pm UTC

the oracle number type is a varying length "string", we emulate all operations on it regardless.

with the introduction of binary floats and doubles in 10g, you can use native operations (with the corresponding massive loss of precision).

no, 64bit/32bit - same number code.

application software

aiza, October 09, 2005 - 5:17 am UTC

just want to ask if what is the difference between the 32 bit and 64 bit application software?


Tom Kyte
October 09, 2005 - 8:35 am UTC

32 bits.....

it is about addressability primarily - how much memory can you address with 32bits vs 64bits.

You can address 4294967296 bytes (4gig) with 32bits.

You can address 18446744073709551616 with 64bits, thousands of petabytes




32 bit or 64 bit

Krishna, November 24, 2005 - 10:02 am UTC

Excellent info about 32 and 64 bit softwares

An article on 16 Vs 32 bit

Awais, December 11, 2005 - 1:27 am UTC

I want to know about a great article on the basis of the 16 Vs 32 bit Operating systems,processors & mainboards!!!

Tom Kyte
December 11, 2005 - 3:02 am UTC

google?

64 bit installation question

Rich Janson, February 22, 2006 - 4:57 pm UTC

Tom,

I'm hoping you can set my mind at ease on this one.

We are currently running Oracle 9.2.0.6 (64bit) on AIX 5.3 (64bit)

Much to my shock, I found that for the several months we've had the systems (pre-production) online, they have been running the 32 bit kernel.

After some consultation with IBM, I was able to boot into the 64 bit kernel.

Thankfully, Oracle behaves exactly as it did before.

My suspicions were never aroused due to the fact that Oracle has always reported itself as 64 bit:

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning and OLAP options
JServer Release 9.2.0.6.0 - Production

My question is, if Oracle has always been reporting itself in 64 bit mode, though the OS was running a 32 bit kernel, is there any worry of having to relink or make any other sort of modification? Or can I trust that if things appear normal, they are?

Thanks,
Rich Janson

Tom Kyte
February 22, 2006 - 5:34 pm UTC

You should not have to relink - it was already linked with the 64bit libraries.

Calling 32-bit C libraries from Oracle 10g

Bharat Kumaran, April 07, 2006 - 12:39 pm UTC

Hi Tom,

I know this is not the place to put such a query.But as things stand, I had to come to you.The problem is we are trying to call 32-bit C libraries from Oracle(PL/SQl) 10g(64-bit) and as a result,it throws the following error:

ORA-06522 : Error loading external library
ld.so.1:fatal:cps_lib.so:wrong elfclass:ELFCLASS32

What we could make out was that it was looking for 64-bit library and found 32-bit ones.We are working on Solaris 9 and tried to create 64-bit versions of the same.But there,we get the error,while compiling and building

ld.so.1:fatal:cps_lib_test.o:wrong elfclass:ELFCLASS64

We tried modifying LD_LIBRARY_PATH to include 32-bit libraries but that is not the solution we are looking for.Couls that also be aproblem of C-libraries being of 32-bit,that are being linked.

I would be extremely glad if you could help us with that.



Tom Kyte
April 08, 2006 - 9:10 am UTC

please utilize support for this, I don't have a 64 bit solaris system to play on.

64-bit or 32-bit

A reader, December 10, 2006 - 10:54 am UTC

If I ma running solaris OS 64 bit and running oracle 9i (9.2.0.5)

When i log into sqlplus this shows:

007-f07: sqlplus "/ as sysdba"
 
SQL*Plus: Release 9.2.0.5.0 - Production on Sun Dec 10 15:49:27 2006
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
 
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
 
SQL>

How can I confirm Oracle 9i I am running with 32-bit or 64-bit?

I read some of the comments above but they didn't help. 

Tom Kyte
December 10, 2006 - 7:40 pm UTC

ctl-f for

Recently did an upgrade from 32bit to 64bit

there is a way...

32 bit or 64 bit

Raja, December 18, 2006 - 11:41 am UTC

The answer was not understood,
I am trying to find an answer to a question "How do i know the system running on 32 bit or 64 bit version".
There was an answer for that in this column, but it has let me get more confused by seeing the answer. So please try to give a better solution where one can understand that.

Tom Kyte
December 18, 2006 - 2:52 pm UTC

follow the ctl-f directions above please. did you not see that?

To Raja: More explicit answer

Roderick, December 19, 2006 - 10:45 pm UTC

describe v$sql
...
ADDRESS RAW(8)
...
Each RAW byte represents 8 bits.
So RAW(8) * 8 = 64-bit addressing used by Oracle to find things in the SGA. The column will be a RAW(4) on 32-bit systems.

it is about addressability primarily

Nick, February 06, 2007 - 1:28 pm UTC


it is about addressability primarily - how much memory can you address with 32bits vs 64bits.

That was a response you gave above. OK, but what about secondary issues?

We are currently running 9.2.0.8 on Solaris 9 and 10 machines using 32 bit Oracle. If we switch to 64 bit are we linking to different libraries in Solaris? If so isn't it quite possible that you could experience significant performance differences?

As a DBA I have always responded with the addressability answer when it came to 32 versus 64 bit. Given the changes in hardware and OS technology should that remain the main criteria?
Tom Kyte
February 06, 2007 - 1:41 pm UTC

it is all about addressability

Yes, you link to different binaries.

Yes, you use different code

Yes, that 64bit code tends to be a bit slower than 32bit code - but overall tends to appear faster IF you had ram cram before.

Can I recover 64 bit backup on 32 bit oracle?

Peter, September 07, 2007 - 12:48 am UTC

Hi Tom.
I want to ask about a compatibility of backup and recovery between 32-bit and 64-bit oracle.
I made a backup of 64 bit 10g database and tried to recover it on 32 bit oracle. the recovery was successful. But before I did it, I was suspicious of if 32 bit oracle would recognize a backup of 64 bit machine..
As I said, the result was successful but I wonder..
Is it possible that any problem could happen?
Tom Kyte
September 11, 2007 - 8:39 am UTC

you need to follow the documented process for taking a 64bit database down to 32bit (plsql code needs be recompiled for example).

What is Best??

Emad Kehail, September 12, 2007 - 1:44 am UTC

Hello Tom,

I hope you help me in this as you usually do.

I have the following situation:

Oracle Database 9i R2 installed on Windows 2000 AS which is running on HP Server with the following specification:
CPU: 4 (32 bit) CPUs Pentium IV 2.6 HT
RAM: 4 GB
Hard Drives: 8 Hard drives with RAID 10

This server is dedicated to the Oracle Database which the users are accessing it locally and from the Internet.

However, once the sessions connected to the server started to reach 600 or little more we start to have the error:
ORA-12500: TNS:listener failed to start a dedicated server process

I have read about the 4GB Tunning and how to allow Oracle Process in Windows to grow more than the 2 GB limit.

I have added the switch /3GB to the boot.ini in Windows and things have improved

The sessions go beyond the 700 even 800 concurrent sessions.

However, now we have reached more than 980 concurrent sessions and the Oracle Database started to display the same error "ORA-12500: TNS:listener failed to start a dedicated server process"

This is in addition when we start to go more than 850 or little more, the users who connect to the database take longer time to connect than before.

I have monitored Oracle from Oracle Enterprise Manager and Statspack reports in peak working hours. The CPU usage is just around 50% and IO seems to be acceptable. I felt it is a listener and RAM problem

1) For the listener, I have added a new listener
I have dedicated the web users to connect only through the new listener while the local users connect through the default listener. The connection is much better and it is fast as before.

2) For "ORA-12500: TNS:listener failed to start a dedicated server process" error, I believe I have reached the threshold of the server. I believe we have used all the RAM dedicated to Oracle (3GB) and Oracle can not allocate more RAM to the clients.

Now, if the previous was correct, I am thinking in of the following:

a) Switch to Shared Server mode instead of Dedicated mode. I will enlarge the Large Pool in order to hold all the client sessions and to avoid allocating session in the shared pool. I am thinking to have 10 dispatchers and 1200 shared servers.

b) Switch to Linux, and therefore we will not have (oracle.exe) only. We will have many processes for users and background processes. But I do not know how much additional users we might have by switching to Linux. Moreover, the DBA know nothing about Linux!

c) Purchase a new hardware with 64 bit CPUs and 64 bit OS, and install 64 bit Oracle Database on this server. This way we can scale to much more users since the oracle.exe process can grow to a much larger size than the 32 bit one


d) Go for RAC. Purchasing a new server and configure the new server with the old in RAC environment, and therefore we can scale for more users. But we still need a shared storage (SAN for example). The cost here seems high!!

Too many options, and I am really confused regarding them. Which one to go???

I hope you help me here and I do hope you have a creative solution

Thanks
Tom Kyte
September 15, 2007 - 4:33 pm UTC

please ask this stuff in one place. I already addressed this elsewhere

64 bit Oracle on 32 bit windows

Nikhilesh, February 09, 2012 - 2:41 am UTC

Dear Tom,
Is it possible to install Oracle 10.2.0.5 for 64 bit windows on Windows 2003 32 Bit system? Our production DB is migarting to 10.2.0.5.0 64 bit but we have Win 2003 32 bit on testing envionment. 10.2.0.5.0 is not available for 32 bit windows.

Thanks in advance.
Tom Kyte
February 09, 2012 - 5:27 am UTC

No - and it wouldn't make sense for you to do it even if it were.

A test environment that is radically different from the 'real' environment isn't a test environment. It would be a waste of time and energy instead. It would give you a false sense of what would really happen when you go production.

64 bit Oracle on 32 bit windows

Nikhilesh, February 09, 2012 - 5:11 am UTC

Dear Tom,
Sorry for previous question. I tried to install 64 bit Oracle 10.2.0.5.0 Windows version on 32 but Win 2003 and within a second it flagged a message saying the oracle version was incomaptible with my current OS.

In future I'll take care to post a query after giving it a try.

Test Environment

DJB, February 09, 2012 - 9:17 am UTC

A test environment that is radically different from the 'real' environment isn't a test environment

Very true, but unfortunately also very common.

32 bit Oracle on 64 Bit Operating System

harsha, April 16, 2012 - 6:55 am UTC

Please let me the after effects of using 32 Bit Oracle on 64 Bit Windows 2003 server.

We need to use higher SGA more than 4GB but the application is unable to connect to 64 bit Oracle.


Tom Kyte
April 16, 2012 - 7:40 am UTC

why is the application unable to connect - the database server is totally independent of the client.

harsha, April 24, 2012 - 3:33 am UTC

I have a C++ Application whose dll was giving an error an oracle dll (orasql10.dll ) is invalid. The application team has suggested to use 32 bit Oracle as application worked fine with 32 bit Oracle.

Tom Kyte
April 24, 2012 - 7:48 am UTC

please use support for installation/configuration issues like this.


question about 32 bit Oracle client

A reader, March 07, 2013 - 4:05 pm UTC


I have a 64 bit Windows 8 Pro machine that has Oracle 64 bit (11g) and Informatica 64 bit 9.1

I have not been able to connect Informatica to the Oracle database as the Informatica wizard opens with a 32 bit ODBC connector.

Somewhere I was suggested to download the Oracle 32 bit client as I was told that it can act as a bridge between 32 bit ODBC libraries and a 64 bit oracle database.

I have downloaded the client but I just don't know how to make the connection.

My question is can you help?

Ravi

Oracle 10g 32 bit on windows 64 bit

Ajay, March 27, 2013 - 11:23 am UTC

Hi , I hav oracle 10g client version 10.2 on 32 bit . Can i install it on windows 64 bit operating system .Can i install and will it work ?? please let me know
Tom Kyte
March 27, 2013 - 5:17 pm UTC

please utilize support for installation and configuration questions - they are really good at telling you what configurations are supported and how to install and so on...

64 bit

A reader, March 28, 2013 - 1:57 pm UTC


ODBC Admin

A reader, March 29, 2013 - 2:40 pm UTC

Ravi,

See: http://support.microsoft.com/kb/942976

You have to use the correct ODBC Admin tool. The link above provides all of the info.

A reader, June 04, 2019 - 7:39 am UTC