i am using Ubuntu Ubuntu 14.04.2 LTS, in 64bit OS, i am about to install oracle instant client in my system, on checking this tutorial

I saw 2 may be 3 linux versions

1 Oracle Database 10g Instant Client for Linux AMD64 (32-bit and 64-bit)

2 Instant Client for Linux x86-64

What is the difference between these two?

also which one should i take?

  • Oracle 10g is an old version. Maybe the other is for Oracle 11. Which you install may depend on the version of the Oracle DBMS to which your client code will be connecting. Jul 21 '15 at 13:33

First off, AMD64 = x86-64; they both refer to the same architecture, not sure why they used a different nomenclature.

Secondly, Oracle Database 10g Instant Client for Linux AMD64 (32-bit and 64-bit) comes with two different packages available for download, while Instant Client for Linux x86-64 comes with a single package available for download.

This is because Oracle Database 10g Instant Client for Linux AMD64 (32-bit and 64-bit) comes with a different package for each architecture (one for x86 and one for AMD64 / x86-64), in fact the size of the two packages amounts roughly to the size of the package in Instant Client for Linux x86-64.

Since you're running a 64-bit version of Ubuntu, just pick the 64-bit version in Oracle Database 10g Instant Client for Linux AMD64 (32-bit and 64-bit), which is only ~32MB vs the ~62/~63MB of the multi-architecture version in Instant Client for Linux x86-64.

  • 1
    AMD was the first to provide a 64bit chip for x86, while intel was developing Itanium as its only 64bit product; afterwards they decided to include the 64bit architecture for x86 too and hence the double name.
    – Bakuriu
    Jul 21 '15 at 12:25
  • 2
    "not sure why they used a different nomenclature" – AMD64 is the official name of the architecture. x86-64 is the Linux name for that same architecture, the reason is that the Linux kernel developers were so fast in developing support for the new architecture that AMD's marketing department hadn't come up with a name yet. EM64T is Intel's implementation of the AMD64 architecture. Intel tried to push the name IA-32e (for "Extended"), but failed. Microsoft didn't want to be seen favoring AMD over Intel, and had already used the name "64 Bit" for Itanium, so they called it x64. Jul 21 '15 at 13:29
  • And last but not least, GNU uname and friends call it x86_64 because the dash is used to separate components of the architecture string. Jul 21 '15 at 13:30
  • @JörgWMittag What I meant is that I'm not sure why they didn't keep the nomenclature consisent across the versions (i.e. either both AMD64 or both x86-64); I guess that the AMD64 package has been released before intel added support to 64-bit, and that it has been left like that since then.
    – kos
    Jul 21 '15 at 13:35

In general both are 64 bit capable, this is just name convention for whom architecture belongs.

Actually AMD were the first to come up with a 64-bit capable x86 chip, hence at the beginning it was called AMD64, as Intel followed suit and also made their x86 chips 64-bits capable, the architecture changed name to x86_64 (even though each company have their own name for their implementation of the architecture).

Read my answer: https://askubuntu.com/a/643430/150504 for more information.

Not the answer you're looking for? Browse other questions tagged or ask your own question.