Re: Cannot run a 64 bit program on a 32 bit processor

From: steven_nospam at Yahoo! Canada (steven_nospam_at_yahoo.ca)
Date: 07/06/05


Date: 6 Jul 2005 06:31:58 -0700

Harish,

For Oracle 9i and your questions about setting up AIX in 32-bit mode,
you may find this note from Oracle's support website useful. It tells
you how to set up for 64-bit support, but you can also follow some of
it to do the opposite and use it in 32-bit mode.

As for Tuxedo, I only did the install once, but don't remember it
asking me to install a 32-bit vs 64-bit version. I guess either you
have to buy the right version, it installs the right one depending on
the system, or it can operate on either setup. I know my TUXCONFIG does
not have a value that has to be set to 64 or 32, but then again we are
still on Tux 6.5.

=========================
Excerpt from metalink.oracle.com
=========================

Oracle9i - AIX5L Installation Tips
----------------------------------

1. Install AIX v5.2 at ML01 [or later] and PTFs for HIPER (High-Impact,

PERvasive) APARs. If the customer is not ready to use AIX v5.2 and must
stay on
AIX v5.1, install AIX v5.1 at ML03 [or later].

To get a list of HIPER APARs, please visit:

    https://techsupport.services.ibm.com/server/aix.CAPARdb

    . Enter Yes in the box at the top of the window
    . Change Display by from Proximity to Date
    . Click Exact Words button

2. You can use either the 32-bit or 64-bit AIX kernel. All Oracle
products
[even the 64-bit products] work just fine on the 32-bit AIX kernel -
this is
not a typo. Unlike the other UNIX, the 32-bit AIX kernel can
simultaneously and
natively execute both 32-bit and 64-bit user-mode applications.

The 64-bit AIX kernel is required if the system (or LPAR) has more than
96 GB
of physical memory.

Please note that some Oracle components require Oracle's pw-syscall
kernel
extension. Oracle products designed for AIX 4.3.x/32bit ship with only
the
32-bit pw-syscall edition. An Oracle Patch 2896876 is required for
64bit
kernel support.

Example: Oracle8i, 11i, iAS 1.0.2.2.2 require a patch to run on the
64-bit AIX 5L
         kernel; whereas more recent products such as Oracle9i Release
2 (9.2)
         or 9iAS 9.0.2 support 32-bit and 64-bit AIX kernels [without
additional
         patches].

3. If using Oracle9i, enable 64-bit application-mode using the fast
path: 'smitty load64bit'
Please note that the bos.64bit fileset (Base Operating System 64-bit
Runtime) must be
installed before 64-bit application mode can be enabled. Enabling
64-bit application mode
allows 64-bit applications (such as Oracle9i) to run. The mode setting
has no effect
whatsoever on 32-bit applications.

Please note that Oracle9i requires 64-bit pSeries hardware. You can use
either the
32-bit or 64-bit AIX kernel.
The following commands will report the hardware and kernel details:

    $ bootinfo -y [reports the hardware type]
    $ bootinfo -K [reports the kernel type]

Reminder: Oracle9i ships with both 32-bit client and 64-bit Oracle
clients. Although the
database is 64-bit software, it interoperates with both 32-bit and
64-bit client
applications & servers. All run fine on both the 32-bit and 64-bit AIX
kernels.
Additionally, Oracle9i R2 is also certified on AIX 4.3.3 and AIX 5.1.

4. Best performance is achieved using AIX raw logical volumes for
Oracle datafiles. If DBAs
insist on using filesystems ; please use Concurrent I/O [CIO], which
allows filesystem
performance to approach that of raw devices. CIO is only available on
JFS2 filesystems
and requires AIX v5.2 ML01 [or later].

If using JFS [not JFS2], use Direct I/O [DIO]. Reminder: CIO is only
available on JFS2,
AIX v5.2, ML01 [or later].

Never disable Asynchronous I/O in the init.ora.

Do not allocate a JFS with the large-file-enabled (bf) attribute. The
big-file attribute
increases the minimum DIO transfer size (diocapbuf.dio_min returned by
the finfo system
call) from 4K to 128K, forcing Oracle to read and write a minimum of
128K bytes to exploit
DIO. Please note that 2GB is the largest file size applications
(including Oracle) can use
in a JFS without the bf attribute.

Do not allocate a compressed JFS; it essentially defeats DIO.

Certain AIX installation and tuning documents recommend using the
64-bit AIX kernel with
JFS2 due to memory usage concerns. This does not apply when using CIO
and JFS2 as
no file system buffer caching is occurring.

If using Oracle8i or Oracle9i release 1 on JFS/JFS2, make sure to have
the fsync bugfix
(Oracle Patch 2024097 - Abstract: SPD ENH - FSYNC USAGE BUG).
Oracle9i release 2 and later has the fix built-in.

Use a log logical volume rather than an INLINE log. Pick a block size
(agblksize attribute)
that is an integral divisor of the Oracle DB_BLOCK_SIZE. For Oracle
redo logs, use a raw
device or a dedicated JFS2 filesystem with agblksize set to 512 bytes.

Use the CIO mount option for JFS2 filesystems containing Oracle data
files and logs.
Because the CIO mount option was not in the AIX v5.2 base,
it may not yet be fully documented. Additional CIO information is
available in the whitepaper,
Improving Database performance With AIX Concurrent I/O,
A Case Study with the Oracle9i database on AIX 5L version 5.2
This whitepaper is available at:

    http://www-1.ibm.com/servers/aix/whitepapers/db_perf_aix.html

Additional information about DIO is available in the "Tuning Direct
I/O"
article in the "Performance Management Guide" in the AIX v5.1 web-based
documentation at:

http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c813.htm

5. If any of the Oracle components need a C compiler (eg, Oracle
Pro*C/C++), order and
install the VisualAge C++ for AIX v5 (5765-E26) or C for AIX v5
(5765-E32) compiler
(depending on whether you need C&C++ or C alone).

6. Install the latest maintenance (currently the PTF for APAR IY40943
or IY40944,
respectively). The latest maintenance is crucial, as a critical bug was
introduced in the
July 2002 maintenance that is only fixed in the latest maintenance.

7. In case you are willing to use JFS2 filesystems mounted with the CIO
option, install
IBM APAR IY56024: CIO WRITE RETURNS INCORRECT LENGTH
from http://www-1.ibm.com/support/docview.wss?uid=isg1IY56024
Ref. Note 262851.1 ORA-600 [srsnext_1] when running 9.2 on AIX 5.2

Note:
IBM does not support Direct I/O on JFS2 filesystems in 9i.

APPLICATION
-----------

Command:

# file $ORACLE_HOME/bin/oracle

If the executable is 32-bit, the result is

oracle: executable (RISC System/6000) or object module not
stripped

for 64-bit ocde

oracle: 64-bit AIX executable or object module not stripped

In addition to the command 'file $ORACLE_HOME/bin/oracle' in 10G
you can now query the platform_name from v$database, for example:

SQL> select platform_name from v$database;

PLATFORM_NAME
--------------------------
AIX-Based Systems (64-bit)