本文系意译,重点关注REHL4,详细内容参见原文
Installing Oracle9i 32-bit on Red Hat Enterprise Linux Advanced Server 4, 3, 2.1, and on Red Hat 9, 8.0, 7.3, 7.2, 7.1 (x86)
在RedHat(企业版4,3,2.1和标准版9,8,7等)x86平台上安装32位oracle9i
Written by Werner Puschitz ( www.puschitz.com )
Translate by joson chen(www.chq.name)
作者:Werner Puschitz
译者:joson chen(http://www.chq.name)
(译者注:本文系意译,重点关注REHL4,详细内容参见原文:http://www.puschitz.com/InstallingOracle9i.shtml)
Errors and Problems(错误和问题):
Some of the Oracle errors and problems covered here were on ly experienced in connection with 9i (9.0.1) and some on ly with 9iR2 (9.2.0). But since I cannot say for sure that a 9i (9.0.1) installation error will never show up during 9iR2 (9.2.0) installation, I simply kept all errors and problems listed together, see
Oracle Installation Errors and
Oracle Installation Problems, Imp ortant Tips and Hints.
Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) and . (关于RHEL AS3)
In order to install an Oracle9iR2 database on RH AS 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patchset and some other patches must be applied. Some errors can on ly be fixed by applying the 9.2.0.4 patchset. For more information, see
Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3.
Red Hat 9( 关于Red Hat 9):
Red Hat 9 includes the Native POSIX Thread Library (NPTL) which is an improved implementation of POSIX threads for Linux. But using NPTL will cause several problems for Oracle applications. Note that Oracle9i has not been certified on Red Hat 9!
So to fix this problem, you can set the environment variable LD_ASSUME_KERNEL to 2.4.1, which means that the old "Linuxthreads with floating stacks" implementation will be used. Otherwise the Oracle installer runInstaller will hang, the Database Configuration Assistant dbca won't start etc.; see Oracle Installation Errors for more information. To see where this environment variable can be set, see Set Oracle Environments. For more information on LD_ASSUME_KERNEL, see Red Hat Linux 9 Release Notes.
NOTE: Before you install Oracle9iR2, make sure that you first read the information about the error message " Error in invoking target install of make file /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk " in the Oracle Installation Errors section!
Red Hat 8.0(关于Red Hat 8):
The on ly problem I experienced with Oracle 9iR2 (9.2.0) on Red Hat 8.0 was:
"Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
But this does not necessarily mean that you won't see other problems described here. See Oracle Installation Errors for more information.
This article covers the following subjects and steps:
(本文涉及以下内容和操作步骤)
* Documentations (文档)
* Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9(下载安装RedHat)
* Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs(oracle9i安装文件的下载、解包、光盘刻录)
* Setting Swap Space(设置交换空间)
* Setting Shared Memory(设置共享内存)
* Checking /tmp Space(检查/tmp空间)
* Sizing Oracle Disk Space(设置oracle安装空间)
* The "binutils" Issue(关于binutils)
* Checking Packages (RPMs)(检查系统包RPMS)
* JDK
* Creating Oracle User Accounts(建立oracle用户)
* Creating Oracle Directories(建立oracle目录)
* Setting Oracle Environments(设置oracle运行环境)
* Starting runInstaller(启动runInstaller)
* Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1(在RH 7.1,7.2,7.3,8.0,9 and on RH AS 2.1上运行oracle安装程序)
* Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3(在RHEL AS 3上运行oracle安装程序)
Installing Oracle9iR2 on RH AS 3(安装)
Patching Oracle9iR2 on RH AS 3(打补丁)
Patching Oracle Intelligent Agent on RH AS 3(为oracle Agent打补丁)
* Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 4 (在RHEL AS 4上运行oracle安装程序)
Installing Oracle9iR2 on RH AS 4(安装)
Patching Oracle9iR2 on RH AS 4(打补丁)
* Startup and Shutdown of the Oracle 9i Database (oracle数据库的启动和关闭)
* Oracle Installation Problems, Tips and Hints(常见问题和技巧)
* Oracle Installation Errors(安装错误)
Documentations (相关文档)
Oracle9i Database Documentation for Linux
Tuning and Optimizing Red Hat Linux Advanced Server for Oracle9i Database
Oracle9iR2 on Linux: Performance, Reliability and Manageability Enhancements on Red Hat Linux Advanced Server 2.1
An Overview of Red Hat Advanced Server V2.1 Reliability, Availability, Scalability, and Manageability (RASM) Features
Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9 (linux下载与安装)
To download Red Hat Linux 7.x, 8.0, 9, check the links at http://www.puschitz.com/LinuxDownload.shtml.
You can find the installation guides for installing Red Hat Linux under Red Hat Linux Manuals.
NOTE: You cannot download Red Hat Linux Advanced Server 2.1, you can on ly download the source co
de. If you want to get the binary CDs, you will have to buy it at
http://www.redhat.com/software/linux/advanced/.
Installing Software Packages (RPMs)
You don't have to install all RPMs when you want to run an Oracle9i database on Red Hat Linux.
For instance, if you install Red Hat Advanced Server, you are fine when you select the Installation Type "Advanced Server" and when you don't select the Package Group "Software Development". There are on ly a few other RPMs that are required for installing Oracle9i. These other RPMs are covered in this article.
Or when you install Oracle9i on Red Hat Linux 7.x, 8.0, or 9, you are fine when you select the installation type "Server".
Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs (oracle 9i下载解包与安装)
Download Oracle9i for Linux from the following web site:
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html
Uncompress and unpack downloaded files:
For Oracle9i (9.2.0):
On e step procedure (uses less disk space and is faster):
zcat lnx_920_disk1.cpio.gz | cpio -idmv
zcat lnx_920_disk2.cpio.gz | cpio -idmv
zcat lnx_920_disk3.cpio.gz | cpio -idmv
Two step procedure:
# Uncompress
gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz
# Unpack the downloaded files:
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
For Oracle9i (9.0.1):
On e step procedure (uses less disk space and is faster):
zcat Linux9i_Disk1.cpio.gz | cpio -idmv
zcat Linux9i_Disk2.cpio.gz | cpio -idmv
zcat Linux9i_Disk3.cpio.gz | cpio -idmv
Two step procedure:
# Uncompress
gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
# Unpack the downloaded files:
cpio -idmv < Linux9i_Disk1.cpio
cpio -idmv < Linux9i_Disk2.cpio
cpio -idmv < Linux9i_Disk3.cpio
Now you should have 3 directories containing installation files:
Disk1
Disk2
Disk3
I executed the following commands when I burned the 3 CDs:
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -
(You can get the dev numbers when you execute cdrecord -scanbus).
Setting Swap Space
In order to perform a typical Oracle 9i installation and to create a simple prototype database, Oracle says that you need a minimum of 512MB of RAM for the Oracle9i (9.0.1) Server, and the amount of disk space (swap space) should be equal to twice the amount of RAM or at least 400 MB, whichever is greater.
I tried to test the limits on an older PC with 256 MB of RAM and with 600 MB of swap space. I was able to install Oracle 9i (9.0.1 & 9.2.0) and Oracle's default database without any problems. But when I used less swap space on this PC (256MB RAM), I was runnig out of memory. So I definitely recommend to use more RAM and/or more swap space as specified in the Oracle installation guide.
NOTE: If you do not have enough swap space or RAM during the Oracle installation, in particular during the database creation, your Oracle server (Linux) will temporarily become unresponsive to any events for several minutes.
For more information on correctly sizing the swap space for your database, see Sizing Swap Space.
To check the memory, run:
grep MemTotal /proc/meminfo
To check the swap space, run:
cat /proc/swaps
You can also add temporary swap space by creating a temporary swap file instead of using a raw device. Here is the procedure:
su - root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
To disable the temporary swap space execute the following commands:
su - root
swapoff tmpswap
rm tmpswap
Setting Shared Memory
For Oracle 9i ( 9.2.0) installation I had to increase the maximum shared memory size on my Linux server for all Red Hat versions. The Oracle Database Configuration Assistant displayed the following error message on my server:
ORA-27123: unable to attach to shared memory segment.
I temporarely increased the shmmax setting for the kernel by executing the following command:
$ su - root
# cat /proc/sys/kernel/shmmax
33554432
# echo `expr 1024 * 1024 * 1024` > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
1073741824
It is recommended to increase the shmmax setting permanently for Oracle. For more information, see Setting Shared Memory.
For more information on optimizing shared memory settings for Oracle databases on Linux, see Setting Shared Memory. These parameters apply to all Red Hat Linux versions. But note that except for the shmmax parameter, these parameter do not need to be changed for installing Oracle on Linux. But you might want to adjust all shared memory settings later to optimize the server for Oracle.
Checking /tmp Space
The Oracle Universal Installer requires up to 400 MB of free space in the /tmp directory.
To check the space in /tmp, run:
$ df /tmp
If you do not have enough space in the /tmp directory, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:
su - root
mkdir /<AnotherFilesystem>/tmp
chown root.root /<AnotherFilesystem>/tmp
chmod 1777 /<AnotherFilesystem>/tmp
export TEMP=/<AnotherFilesystem> # used by Oracle
export TMPDIR=/<AnotherFilesystem> # used by Linux programs like the linker "ld"
When you are done with your Oracle installation, shutdown Oracle and remove the temporary directory:
su - root
rmdir /<AnotherFilesystem>/tmp
unset TEMP
unset TMPDIR
Sizing Oracle Disk Space
You will need about 2.5 GB for the database software. If you perform a typical database installation and not a customized database installation, then you will need about 3.5 GB of disk space.
The "binutils" Issue
Skip this step for Oracle9iR2.
I did not experience this problem with Oracle 9i (9.2.0), but on ly with Oracle 9i (9.0.1).
The binutils package that comes with Red Hat 7.1, 7.2, 7.3, and with RedHat 2.1 Advanced Server doesn't work with Oracle 9i ( 9.0.1) Universal Installer. Here are the options you have for 9.0.1:
And fix this problem as described in Oracle Installation Errors.
I recommend this approach since it obviates the need to change binutils.
rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm
When you are done with the Oracle installation, you upgrade your binutil RPM back to the version you had before you downgraded. E.g. on the Red Hat 7.2 server I did:
rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm
Checking Packages (RPMs)
You will need some RPM development packages for the Oracle installer to build the Oracle modules, otherwise you will get error messages similar to this on e:
Error in invoking target ntcontab.o of makefile
/u01/app/oracle/product/9.2.0/network/lib/ins_net_client.mk
NOTE: Always ensure to use the latest RPM versions!
Packages (RPMs) for RH 7.1, 7.2, and RH AS 2.1:
To see if these development packages are installed on your server, run the following command:
rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
For instance, most of these packages will be missing when you installed RedHat 2.1 Advanced Server and if you did not select the "Software Development" package. For the RedHat 2.1 Advanced Server I executed the following commands to install the missing RPMs from the two CDs:
su - root
rpm -ivh cpp-2.96-108.1.i386.rpm
glibc-devel-2.2.4-26.i386.rpm
kernel-headers-2.4.9-e.3.i386.rpm
gcc-2.96-108.1.i386.rpm
binutils-2.11.90.0.8-12.i386.rpm
Packages (RPMs) for RH 7.3, 8.0, and 9:
To see if these development packages are installed on your server, run the following command:
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
For instance, when I installed Red Hat 9.0 and when I used the default packages for the Installation Type "Server", I had to install the following RPMs afterwards:
su - root
rpm -ivh binutils-2.13.90.0.18-9.i386.rpm
cpp-3.2.2-5.i386.rpm
gcc-3.2.2-5.i386.rpm
glibc-devel-2.3.2-5.i386.rpm
glibc-kernheaders-2.4-8.10.i386.rpm
NOTE : Before you install Oracle9iR2 on Red Hat 9, make sure that you also read the information about the error message " Error in invoking target install of make file /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk " in the Oracle Installation Errors section!
Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3):
Ensure the following required packages are installed on your server by running the following command:
rpm -q make
binutils
gcc
cpp
glibc-devel
glibc-headers
glibc-kernheaders
compat-db
compat-gcc
compat-gcc-c++
compat-libstdc++
compat-libstdc++-devel
gnome-libs
openmotif21
setarch
Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 4 (RHEL AS 4):
See also Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 for the list of required RPMs.
Ensure the following required packages are installed on your server by running the following command:
rpm -q make
compat-db
compat-gcc-32
compat-gcc-32-c++
compat-oracle-rhel4
compat-libcwait
compat-libgcc-296
compat-libstdc++-296
compat-libstdc++-33
gcc
gcc-c++
gnome-libs
gnome-libs-devel
libaio-devel
libaio
make
openmotif21
xorg-x11-deprecated-libs-devel
xorg-x11-deprecated-libs
Many of these packages depend on other packages. For example, compat-gcc-32 requires binutils, gcc etc. Since I like to install a system with as few RPMs as possible I had to install the following RPMs to satisfy dependencies:
rpm -Uvh compat-db-4.1.25-9.i386.rpm
compat-gcc-32-3.2.3-47.3.i386.rpm
glibc-devel-2.3.4-2.i386.rpm
glibc-headers-2.3.4-2.i386.rpm
glibc-kernheaders-2.4-9.1.87.i386.rpm
cpp-3.4.3-9.EL4.i386.rpm
compat-gcc-32-c++-3.2.3-47.3.i386.rpm
compat-libstdc++-33-3.2.3-47.3.i386.rpm
gcc-3.4.3-9.EL4.i386.rpm
cpp-3.4.3-9.EL4.i386.rpm
gcc-c++-3.4.3-9.EL4.i386.rpm
libstdc++-devel-3.4.3-9.EL4.i386.rpm
openmotif21-2.1.30-11.RHEL4.2.i386.rpm
xorg-x11-deprecated-libs-6.8.1-23.EL.i386.rpm
compat-libgcc-296-2.96-132.7.2.i386.rpm
compat-libstdc++-296-2.96-132.7.2.i386.rpm
libaio-0.3.102-1.i386.rpm
libaio-devel-0.3.102-1.i386.rpm
For xorg-x11-deprecated-libs-devel and xorg-x11-devel I had to install the following RPMs.
Note that these two packages are required for the Oracle patch 4198954 below.
rpm -Uvh xorg-x11-deprecated-libs-devel-6.8.1-23.EL.i386.rpm
xorg-x11-devel-6.8.1-23.EL.i386.rpm
fontconfig-devel-2.2.3-7.i386.rpm
pkgconfig-0.15.0-3.i386.rpm
freetype-devel-2.1.9-1.i386.rpm
zlib-devel-1.2.1.2-1.i386.rpm
And for gnome-libs and gnome-libs-devel I had to install the following RPMs:
rpm -Uvh gnome-libs-1.4.1.2.90-44.1.i386.rpm
gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm
ORBit-0.5.17-14.i386.rpm
ORBit-devel-0.5.17-14.i386.rpm
alsa-lib-1.0.6-4.i386.rpm
audiofile-0.2.6-1.i386.rpm
esound-0.2.35-2.i386.rpm
esound-devel-0.2.35-2.i386.rpm
gtk+-1.2.10-33.i386.rpm
gtk+-devel-1.2.10-33.i386.rpm
imlib-1.9.13-23.i386.rpm
imlib-devel-1.9.13-23.i386.rpm
libpng10-1.0.16-1.i386.rpm
alsa-lib-devel-1.0.6-4.i386.rpm
audiofile-devel-0.2.6-1.i386.rpm
gdk-pixbuf-0.22.0-15.1.i386.rpm
glib-devel-1.2.10-15.i386.rpm
indent-2.2.9-6.i386.rpm
libjpeg-devel-6b-33.i386.rpm
libtiff-devel-3.6.1-7.i386.rpm
libungif-4.1.3-1.i386.rpm
libungif-devel-4.1.3-1.i386.rpm
HINT:
If you are using RHN, you could simply run:
up2date gnome-libs gnome-libs-devel
You can use the up2date command for any packages. It takes care of dependencies by installing all required packages automatically.
To install the compat-oracle-rhel4 and compat-libcwait packages you have to download the patch 4198954 from http://metalink.oracle.com. Make sure to select the Linux x86 platform. To unzip the downloaded p4198954_21_LINUX.zip file, run:
$ unzip p4198954_21_LINUX.zip
Archive: p4198954_21_LINUX.zip
creating: 4198954/
inflating: 4198954/compat-oracle-rhel4-1.0-5.i386.rpm
inflating: 4198954/compat-libcwait-2.0-2.i386.rpm
inflating: 4198954/README.txt
#
Note that the compat-oracle-rhel4 and compat-libcwait packages require the xorg-x11-deprecated-libs and xorg-x11-deprecated-libs-devel packages, see above. To install the two RPMs from the 4198954 patch, run:
# rpm -Uvh 4198954/compat-oracle-rhel4-1.0-5.i386.rpm
4198954/compat-libcwait-2.0-2.i386.rpm
JDK
Skip this step for Oracle9iR2.
I successfully installed Oracle9iR2 without installing JDK on the system. Oracle comes now with its own Java. This means that you don't have to execute the following steps which were required for older Oracle versions:
Download JDK 1.3.1 or Blackdown 1.1.8_v3: (I usually used Blackdown)
http://www.blackdown.org
http://java.sun.com
According to the JDK documentation, install JDK under /usr/local. Then create a symbolic link to the JDK under /usr/local/java:
su - root
bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
ln -s /usr/local/jdk118_v3 /usr/local/java
Creating Oracle User Accounts
su - root
groupadd dba # group of users to be granted with SYSDBA system privilege
groupadd oinstall # group owner of Oracle files
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle
For more information on the "oinstall" group account, see When to use "OINSTALL" group during install of oracle.
Creating Oracle Directories
In this example, make sure that the /u01 filesystem is large enough, see Oracle Disk Space for more information. If /u01 is not on a separate filesystem, then make sure the root filesystem "/" has enough space.
su - root
mkdir -p /u01/app/oracle/product/9.2.0
chown -R oracle.oinstall /u01
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
Setting Oracle Environments
Set the following Oracle environment variables before you start runInstaller.
As the oracle user execute the following commands:
# Set the LD_ASSUME_KERNEL environment variable on ly for Red Hat 9,
# RHEL AS 3, and RHEL AS 4 !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1 # for RH 9 and RHEL AS 3
export LD_ASSUME_KERNEL=2.4.19 # for RHEL AS 4
# Oracle Environment
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/da ta
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin
I successfully installed Oracle9iR2 without setting the following CLASSPATH environment variable:
# CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
# CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
# export CLASSPATH
You can put these environment settings at the end of the ~oracle/.bash_pro file file if you use bash. By this way you don't have to set the environment variables again when you login as "oracle", or when you switch to the user "oracle" by executing "su - oracle".
Starting runInstaller
Before you continue, make sure you have set the Oracle environment variables, see above.
Oracle no longer supports a character mode installer. Therefore, in order to execute runInstaller directly from a console of a machine you are logged into (in this example the node name where Oracle is running is called " oracleserver"), you need to set the DISPLAY environment variable. Before you do that, make sure that you also allow runInstaller on " oracleserver" to display X information on your Linux desktop machine (in this example, the PC name where you are running X Windows like KDE or GNOME is called " yourdesktop"), because programs running on remote machines cannot display information to your screen unless you give them the authority to do so. Note that the X display relink mechanism does not work for NT desktop machines unless you use Exceed.
Before you run runInstaller, execute e.g. 'xterm' to see if your X setup is really working! If you install Oracle on your desktop PC and not on a remote node, then you can skip step 1 and 3.
Step 1: Allow "oracleserver" to display X information to your desktop PC "yourdesktop":
yourdesktop:user$ xhost +oracleserver
Step 2: Open a new window and login to the Oracle server "oracleserver" as root. This window will be used for mounting and unmounting the Oracle CDs.
oracleserver:$ su - root
oracleserver:root# mount /mnt/cdrom
Step 3: From the console of your Oracle server "oracleserver" where you will run runInstaller, execute the following commands:
oracleserver:$ su - oracle
oracleserver:oracle$ export DISPLAY=yourdesktop:0.0
Step 4: Now execute runInstaller as "oracle". Do not cd to /mnt/cdrom !!
oracleserver:oracle$ /mnt/cdrom/runInstaller
NOTE 1:
If you use for example Red Hat Fedora Core 3 as your desktop and you want to install the database on another machine, then you need to set the DisallowTCP entry in /etc/X11/gdm/gdm.conf for the GNOME Display Manager to read:
DisallowTCP=false
After that you need to restart your X server. I usually do this with the init command:
su - root
init 3
init 5
NOTE 2:
Don't run runInstaller for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) yet! See Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3 for more information.
Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1
Keep in mind that you may get on e or more errors here during the Oracle installation! See
Oracle Installation Errors for more information.
This is how I answered the questions for the runInstaller:
- What would you like as the base directory (Inventory Location):
/u01/app/oracle/oraInventory
- UNIX Group Name (permission for updating Oracle software):
oinstall
You could also use "dba" which I do not recommend for security reasons.
For more information on the "oinstall" group account, see
When to use "OINSTALL" group during install of oracle.
- Full path name for Oracle Home:
/u01/app/oracle/product/9.2.0
etc.
Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3
In order to install an Oracle9iR2 database on RH AS 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patchset and some other patches must be applied. Some errors can on ly be fixed by applying the 9.2.0.4 patchset.
Installing Oracle9iR2 on RH AS 3
Install the following RPMs (see Oracle Note:252217.1 for more information):
su - root
rpm -ivh
compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm
Relink gcc so that the older gcc will be used during the Oracle installation (see Oracle Note:252217.1 for more information):
su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed
ln -s /usr/bin/g++296 /usr/bin/g++
When you execute runInstaller from the Oracle 9iR2 (9.2.0) CD, you will get the following error message:
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
To resolve the __libc_wait symbol issue, download the p3006854_9204 patch p3006854_9204_LINUX.zip from http://metalink.oracle.com. See bug 3006854 for more information.
To apply the patch, run
. See bug 3006854 for more information. To apply the patch, run su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
NOTE: If you get the following error when you run rhel3_pre_install.sh:
rhel3_pre_install.sh: line 36: gcc: command not found
Then you forgot to install or link gcc, see above. This means you can't start any binaries any more:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
#
To fix that, run the echo command which is a built-in shell command:
# echo "" > /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
Now runInstaller can be started from the CD:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp ortant that this variable is set!
2.4.1
$ /mnt/cdrom/runInstaller
- Welcome Screen: Click Next
- Inventory Location: Click Next
- Unix Group Name: Use "oinstall" and click Next
When asked to run /tmp/orainstRoot.sh, run it before you click Continue
- File Locations: Use default values
- Available Products: Select "Oracle9i Database 9.2.0.1.0"
- Installation Types: Select Custom since we on ly want to install the software for now
- Available Products: Click Next or add some more components.
- Components Locations: Accept default values and click Next
- Privileged Operating System Groups:
I used the default values: OSDBA Group = dba, OSOPER Group = dba
- Oracle Managent Server Repository:
I used the default choice
- Create database: Select NO since we first have to patch Oracle before a database can be created!
- Summary: Start the Install
- Configuration tools: Tools won't come up. Simply ignore it.
- At the end of the installation, exit runInstaller.
You may get the following errors:
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0xa4e): In function `Nls_FormatCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore. This will be fixed by applying the patch 3119415 after the 9.2.0.4 patchset has been applied. You won't be able to apply the patch 3119415 at this time since the file /u01/app/oracle/oraInventory/ContentsXML/comps.xml doesn't exist yet.
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk.
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
collect2: ld returned 1 exit status
make: *** [ctxhx] Error 1
Click ignore. This is fixed by applying the 9.2.0.4 patchset.
Patching Oracle9iR2 on RH AS 3
To patch Oracle9iR2, download the Oracle 9i Release 2 Patch Set 3 Version 9.2.0.4.0 for Linux x86 from http://metalink.oracle.com.
Copy the downloaded "p3095277_9204_LINUX.zip" file to e.g. /tmp and run the following command:
su - oracle
$ cp p3095277_9204_LINUX.zip /tmp
$ cd /tmp
$ unzip p3095277_9204_LINUX.zip
Archive: p3095277_9204_LINUX.zip
inflating: 9204_lnx32_release.cpio
inflating: README.html
inflating: patchnote.css
$
$ cpio -idmv < 9204_lnx32_release.cpio
Disk1/stage/locks
Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/bin.1.1.jar
Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/lib.1.1.jar
...
To patch the runInstaller, run:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp ortant that this variable is set!
2.4.1
$ cd /tmp/Disk1/
$ ./runInstaller
- Welcome Screen: Click Next
- File Locations: Use default values
- Available Products: Select " Oracle Universial Installer 2.2.0.18.0 !"
- Components Locations: Accept default values and click Next
- Summary: Start the Install
- At the end of the installation, you must exit runInstaller!
To patch Oracle9iR2, run:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp ortant that this variable is set!
2.4.1
$ cd $ORACLE_HOME/bin
$ ./runInstaller
- Welcome Screen: Click Next
- File Locations: Use default values
- Available Products: Select " Oracle9iR2 Patch Set 3 9.2.0.4.0 !"
- Summary: Start the Install
- At the end of the installation, exit runInstaller
You may get the following error:
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x1cc): In function `get_ora_stmt_handle':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x124e): In function `OraProcess_Oid':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x176c): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore. This will be fixed by applying the patch 3119415 after the 9.2.0.4 patchset has been applied. The patch 3119415 cannot be applied while the patch process for the 9.2.0.4 patchset is running.
After the 9.2.0.4 patchset has been applied, download the patch p3119415_9204_LINUX.zip from http://metalink.oracle.com. See bug 3119415 for more information. Also, download the opatch Release 2.2.0 utility from http://metalink.oracle.com. See bug 2617419 for more information.
To install opatch, run:
su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
Before you apply the 3119415 patch, you need to make sure the fuser binary can be found by the oracle user, see the PATH environment variable below. Otherwise the patch can't be applied because the fuser binary is used by opatch.
To apply the 3119415 patch, run
su - oracle
$ unzip p3119415_9204_LINUX.zip
$ cd 3119415
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ which opatch
/tmp/OPatch/opatch
$ opatch apply
Now you should be able to create a database with dbca:
su - oracle
dbca
Patching Oracle Intelligent Agent on RH AS 3
When you run "agentctl start" (Oracle 9.2.0.4), dbsnmp will crash:
$ su - oracle
$ agentctl start
DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14
Copyright (c) 2003 Oracle Corporation. All rights reserved.
Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1855 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $*
>>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1868 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1880 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1892 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
To resolve this problem, apply the patch p3238244_9204_LINUX.zip from http://metalink.oracle.com. See bug/patch 3238244 for more information.
Before you apply the patch, make sure the instance is down!
Also make sure the opatch script appears in your $PATH. See "Patching Oracle9iR2 on Red Hat AS 3" for information on getting and installing opatch. To verify if opatch is in your $PATH, run the which command:
$ su - oracle
$ which opatch
/tmp/OPatch/opatch
$
To apply now the patch, run:
$ su - oracle
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ opatch apply
Now you need to relink dbsnmp. This is the binary that crashed when running agentctl start. To find which makefile handles the linking of dbsnmp, you can run:
$ su - oracle
$ find $ORACLE_HOME -name "*.mk" | xargs grep -l dbsnmp
/u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk
/u01/app/oracle/product/9.2.0/network/lib/env_oemagent.mk
$
I relinked dbsnmp and all associated executables which are maintained by the ins_oemagent.mk makefile:
$ su - oracle
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
Now you should be able to start the agent:
$ su - oracle
$ agentctl start
NOTE: Don't forget to undo the changes (links) to /usr/bin/gcc and /usr/bin/g++ if you don't need it any more. Also don't forget the /etc/ld.so.preload file.
Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 4
In order to install Oracle9i Release 2 (9.2.0.6) I've applied the 9.2.0.6 patch set for the Oracle database server (patch number 3948480) after the Oracle9i Release 2 (9.2.0.4) installation. For more information, see Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 - Red Hat Enterprise Linux 4 Certification Update.
Installing Oracle9iR2 on RH AS 4
Before you continue, ensure all the required RPMs are installed, see Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 4 (RHEL AS 4).
Also ensure LD_ASSUME_KERNEL is set to 2.4.19 (see Setting Oracle Environments):
$ su - oracle
$ echo $LD_ASSUME_KERNEL
2.4.19
$
Now launch runInstaller:
su - oracle
$ echo $LD_ASSUME_KERNEL
2.4.19
$ /media/cdrom/runInstaller
- Welcome Screen: Click Next
- Inventory Location: Click OK
- Unix Group Name: Use "oinstall" and click Next
When asked to run /tmp/orainstRoot.sh, run it before you click Continue
- File Locations: Use default values
- Available Products: Select "Oracle9i Database 9.2.0.4.0"
- Installation Types: Select Custom since we on ly want to install the software for now
- Available Products: Click Next or add some more components.
- Components Locations: Accept default values and click Next
- Privileged Operating System Groups:
I used the default values: OSDBA Group = dba, OSOPER Group = dba
- Oracle Managent Server Repository:
I used the default choice
- Create database: Select NO since we first need to patch Oracle database software!
- Summary: Start the Install
Patching Oracle9i R2 ( 9.2.0 .4) on RH AS 4
Download the patch 3948480 (Oracle9i Patch Set Release 2 (9.2.0.6) Patch Set 5) from http://metalink.oracle.com and execute the following commands:
su - oracle
$ cp p3948480_9206_LINUX.zip /tmp
$ cd /tmp
$ unzip p3948480_9206_LINUX.zip
Archive: p3948480_9206_LINUX.zip
creating: Disk1/
creating: Disk1/stage/
creating: Disk1/stage/Patches/
...
Now download the patch 4188455 from http://metalink.oracle.com.
This patch is needed for launching the runInstaller that came with the patch 3948480 we just downloaded above.
su - oracle
$ cp p4188455_10103_LINUX.zip /tmp
$ cd /tmp
$ unzip p4188455_10103_LINUX.zip
Archive: p4188455_10103_LINUX.zip
inflating: oraparam.ini
inflating: README.txt
$
The /tmp/oraparam.ini file will now be used for launching the runInstaller that came with the patch 3948480.
To patch the runInstaller itself, run:
su - oracle
$ echo $LD_ASSUME_KERNEL
2.4.19
$ /tmp/Disk1/install/runInstaller -paramFile /tmp/oraparam.ini
- Welcome Screen: Click Next
- File Locations: Use default values (in my example: /tmp/Disk1/stage/products.xml)
- Available Products: Select " Oracle Universial Installer 10.1.0.3.0 !"
- Summary: Click Install
- At the end of the installation, you must exit runInstaller!
Ensure that no Oracle processes are running:
ps -ef | grep ora
Now to patch Oracle9iR2, run:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp ortant that this variable is set!
2.4.19
$ /tmp/Disk1/install/runInstaller -paramFile /tmp/oraparam.ini
- Welcome Screen: Click Next
- File Locations: Use default values (in my example: /tmp/Disk1/stage/products.xml)
- Available Products: Select " Oracle 9iR2 Patchset 9.2.0.6.0"
- Summary: Click Install
When are asked to run root.sh, run it before you click Continue
- At the end of the installation, exit runInstaller.
After the 9.2.0.6 patchset has been applied, download the patch 4190568 from http://metalink.oracle.com. Also, download the opatch utility for release 10.1.0.2 (patch 2617419) from http://metalink.oracle.com.
To install opatch, run:
su - oracle
$ cp p2617419_10102_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_10102_GENERIC.zip
$ cp -a /tmp/OPatch/ $ORACLE_HOME
To apply the 4190568 patch, run
su - oracle
$ unzip p4190568_9206_LINUX.zip
$ cd 4193454
$ export PATH=$PATH:$ORACLE_HOME/OPatch
$ opatch apply
If you intend to use Direct I/O Support, you must also download and apply patch 2448994.
Now you should be able to create a database with dbca:
su - oracle
dbca
When dbca died on my system with the following error:
/u01/app/oracle/product/9.2.0/bin/dbca: line 124: 26649 Segmentation fault
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
I executed the following command:
su - root
touch /etc/rac_on
and restarted dbca. If you know a better solution, let me know!
Startup and Shutdown of the Oracle 9i Database
sqlplus:
svrmgrl is not supported any more. You can now do everything with sqlplus.
For instance, to startup the database, run the following commands:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
The slash connects you to the schema owned by SYS. So in this example you will be connected to the schema owned by SYS with the privilege SYSDBA. SYSDBA gives you the following privileges:
- sysoper privileges WITH ADMIN OPTION
- create database
- recover database until
$ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut
You can also use $ORACLE_HOME/bin/dbstart to startup the database, and $ORACLE_HOME/bin/dbshut to shutdown the database. You can place $ORACLE_HOME/bin/dbstart into the /etc/rc.d/rc.local boot script to automatically bring up the database at system boot time. To get $ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut working, you need to change the third field for your Oracle SID in /etc/oratab from "N" to "Y".
For example, for the Oracle SID "test" I changed the line in /etc/oratab from:
test:/u01/app/oracle/product/9.2.0: N
to read:
test:/u01/app/oracle/product/9.2.0: Y
In some cases for 9.2.0 I also had to copy the init file for my SID "test" from /u01/app/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:
cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora
But first make sure if your init file already exists in $ORACLE_HOME/dbs!
Oracle Installation Problems, Tips and Hints
Some of these problems apply on ly to 9.0.1!
Xlib: Client is not authorized to connect to Server
In this case, I always had to kill runInstaller in Oracle9iR1 (9.0.1) which was still running in the background. If I didn't do this in 9.0.1, runInstaller didn't completely come up any more without displaying any error messages. You might also want to clean up /tmp/OraInstall.
Oracle Installation Errors
Here is a list of Oracle 9i (9.0.1 & 9.2.0) installation problems and issues. Some issues, errors, problems, and solutions apply on ly to 9.0.1 and some on
ly to 9.2.0. Since I did not experience all of the problems here, I am not able to verify the correctness of all the solutions. However, I experienced most of the problems listed here. If you had other problems and you were able to resolve them, please drop me an email at webmaster_at_puschitz.com.
Here is a list of issues issues, errors, problems and solutions:
$ which gcc
/usr/bin/gcc
Here is the command to find the RPM package name for /usr/bin/gcc:
$ rpm -qf /usr/bin/gcc
gcc-2.96-98
Check also the other error messages below. See also Checking Packages (RPMs) for more information.
ly when I installed Oracle9iR2 (
9.2.0). This was also the on
ly problem I experienced with
Oracle 9i R2 on
Red Hat 8.0. However, this does not necessarily mean that you won't experience other problems described here.
When I had this problem, the following errors showed up in $ORACLE_HOME/install/make.log:
/lib/libdl.so.2: undefined reference to `_dl_addr@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_open@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_close@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_sym@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_vsym@GLIBC_PRIVATE'
This error comes up when the following step is executed:
/usr/bin/make -f ins_ctx.mk install ORACLE_HOME=/u01/app/oracle/product/9.2.0
Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk, go to "INSO_LINK =", and add a "$(LDLIBFLAG)dl" to the line and save it.
Here is the full line with the added "$(LDLIBFLAG)dl" flag:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
After that hit retry in the error popup.
If this didn't work, then try the following:
Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk again, go to "INSO_LINK =", remove the above entry you made and add a "`cat $(LIBHOME)/sysliblist`" to the line and save it.
Here is the full line with the added "`cat $(LIBHOME)/sysliblist`" string:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m `cat $(LIBHOME)/sysliblist` $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
After that hit retry in the error popup.
ly when I installed Oracle 9i R2 (
9.2.0).
This error message came up when the Oracle Database Configuration Assistant was running. I executed the following command to temporarily increase the maximum shared memory size:
su - root
# cat /proc/sys/kernel/shmmax
33554432
# echo `expr 1024 * 1024 * 1024` > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
1073741824
#
Then click "Retry" for the Oracle Database Configuration Assistant.
It is recommended to increase the shmmax setting permanently for Oracle9i. So if you want to increase the maximum shared memory size permanently, add the following line to the /etc/sysctl.conf file:
kernel.shmmax=1073741824
For more information on setting shared memory parameters for Oracle, see Setting Shared Memory.
Database Configuration Assistant:
I executed the ipcs command to get the address of the shared memory segments that have been allocated by Oracle:
$ su - root
# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 0 root 600 196608 2
0x00000001 32769 root 600 655360 2
0x00000000 458755 oracle 660 4194304 0
0x00000000 491524 oracle 660 33554432 0
0x00000000 524293 oracle 660 33554432 0
0x00000000 557062 oracle 660 33554432 0
0x00000000 589831 oracle 660 33554432 0
0x00000000 622600 oracle 660 33554432 0
0x00000000 655369 oracle 660 33554432 0
0x00000000 688138 oracle 660 33554432 0
0x3ecee0b0 720907 oracle 660 4194304 0
------ Semaphore Arrays --------
key semid owner perms nsems status
------ Message Queues --------
key msqid owner perms used-bytes messages
#
Then I removed all shared memory segments that were owned by the Oracle user during the installation with the following command:
# ipcrm shm 458755 491524 524293 557062 589831 622600 655369 688138 720907
After that I restarted the "Database Configuration Assistant". On ce the installation was done I immediately restarted the DB as well.
Caveat: I'm not sure if this procedure can cause any further problems if this is done during the installation. But so far I haven't seen any issues with this approach.
sqlplus:
If you get this problem in connection with sqlplus, then simply make sure that the database is down and exit sqlplus. After that, follow the procedure above by removing all shared memory segments that belong to the Oracle user. To my knowledge, this should not cause any problems.
For more information on shared memory segments, see Determining Which Semaphore Sets and Shared Memory Segments Belong to Each Oracle Database or Instance.
NOTE:
To solve this problem permanently, increase the kernel shmmax size. For more information, see Setting Shared Memory and Setting Shared Memory.
ly when I installed Oracle 9i (
9.0.1). People have sent me emails pointing out that the following solution also works for Mandrake 8.1, Mandrake 8.2, and for SuSE 8.0.
Edit the file $ORACLE_HOME/bin/genclntsh and change the following line:
LD_SELF_CONTAINED="-z defs"
to read:
LD_SELF_CONTAINED=""
After that run the script $ORACLE_HOME/bin/genclntsh as the user "oracle" and not as the user "root". Also make sure you have all the Oracle environments set correctly!
$ su - oracle
$ $ORACLE_HOME/bin/genclntsh
Created /u01/app/oracle/product/9.0.1/lib/libclntst9.a
$
After that hit Retry in the error dialog window. This always worked for me.
Here is Oracle's official solution for Oracle 9iR1 and 9iR1 iAS on RedHat 2.1 Advanced Server:
http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
On Red Hat 9 I performed the following steps here when the ORACLE_HOME/install/make.log file contained the error messages:
...
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
The issue here is that __ctype_b() is actually gone for __ctype_b_loc() because Red Hat uses a new locale model. However, in libc.so, __ctype_b is still exported as compatibility symbol; at least that's the case with RH 9 glibc-2.3.2-5. And here is the reason why some people have this problem with Red Hat 9 and why some don't:
When you bought the Red Hat 9 CDs in a store, then you will probably find glibc-2.3.2-5.i686.rpm on the first CD. This glibc version exports __ctype_b():
$ rpm -ql glibc-2.3.2-5 | grep libc.so
/lib/i686/libc.so.6
/lib/libc.so.6
/lib/tls/libc.so.6
$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
001315f8 D __ctype_b
00022340 T __ctype_b_loc
$ nm -a /lib/libc.so.6 | grep __ctype_b
00133c58 D __ctype_b
000223a0 T __ctype_b_loc
$
But when you downloaded Red Hat 9 from redhat.com or from on e of the mirror sites, then you will find
glibc-2.3.2-11.9.i686.rpm on the image. This glibc version does not export __ctype_b(). This is also the case with glibc-devel-2.3.2-27.9.i386.rpm.
$ rpm -ql glibc-2.3.2-11.9 | grep libc.so
/lib/i686/libc.so.6
/lib/libc.so.6
/lib/tls/libc.so.6
$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
00131718 D __ctype_b@GLIBC_2.0
000223a0 T __ctype_b_loc
$ nm -a /lib/libc.so.6 | grep __ctype_b
00133d58 D __ctype_b@GLIBC_2.0
000223f0 T __ctype_b_loc
$
Check the glibc version on your system:
First check if the glibc packages on your RH 9 system work with the Oracle installer:
$ rpm -q glibc-2.3.2-5 glibc-common-2.3.2-5 glibc-devel-2.3.2-5
If you got the following error mesages:
package glibc-2.3.2-5 is not installed
package glibc-common-2.3.2-5 is not installed
package glibc-devel-2.3.2-5 is not installed
then you have glibc packages on your system that don't work with the Oracle installer and you need to follow the "Work Around" procedure here.
But if your system has the 2.3.2-5 glibc versions installed, then you are fine and you don't need to follow the described "Work Around" procedure!
Work Around Procedure:
Since I was not able to find the glibc-2.3.2-5 RPMs available for download, I'm making the RPMs available on my website. These RPMs are copies of the glibc RPMs that came with the RH 9 CDs I bought in the store. I do not recommend to use any of the "compat" RPMs from older Red Hat distributions since RH 9 contains major changes.
Here is the procedure for installing glibc-2.3.2-5 temporarely on your RH 9 server:
Download the 2.3.2-5 glibc RPMs from here on my web site.
First make sure if these downloaded RPM's are not corrupt and if they were really built and signed by Red Hat. You never know if someone fiddled with these RPMs or replaced them. To ensure the integrity and origin of these Red Hat's RPMs, run the following commands:
$ su - root
# rpm --imp ort /usr/share/rhn/RPM-GPG-KEY # add Red Hat's PGP public key to the RPM database
# rpm --checksig glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
glibc-2.3.2-5.i686.rpm: (sha1) dsa sha1 md5 gpg OK
glibc-common-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
glibc-devel-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
#
Downgrade glibc, glibc-common, and glibc-devel:
# rpm -Uvh --oldpackage glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
If you get the following error:
error: Failed dependencies:
glibc = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-11.9
glibc = 2.3.2-11.9 is needed by (installed) glibc-utils-2.3.2-11.9
glibc-devel = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-11.9
glibc-devel = 2.3.2-11.9 is needed by (installed) nptl-devel-2.3.2-11.9
then you can temporarily remove these RPMs (glibc-debug, glibc-utils, nptl-devel) from your system until you upgrade the glibc RPMs after your Oracle installation:
# rpm -e glibc-debug glibc-utils nptl-devel
Now try to run runInstaller again.
After Oracle has been installed, you can upgrade glibc, glibc-common, and glibc-devel again. For example:
# rpm -Uvh glibc-2.3.2-11.9.i686.rpm glibc-common-2.3.2-11.9.i386.rpm glibc-devel-2.3.2-11.9.i386.rpm
According to Red Hat, binary compatibility in Red Hat Linux is always guaranteed for binaries and shared libraries accross releases, but not for .o files nor .a files. However, compatibility is guaranteed for .o files and .a files. _within_ a realease. Since glibc-2.3.2-5 and glibc-2.3.2-11.9 are from the same release, compatibility should be guaranteed for .o files (Oracle's .o files which have been created during the Oracle installation) and .a files.
This means that Oracle should be fine when you upgrade glibc after the Oracle installation.
If you have any problems or issues with this solution, or if you have any comments, please let me know. You can find my email address at the bottom of this web site.
· $ agentctl start
·
· DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14
·
· Copyright (c) 2003 Oracle Corporation. All rights reserved.
·
· Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1855 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $*
· >>$DBSNMP_WDLOGFILE 2>&1
· /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1868 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
· /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1880 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
· /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1892 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
· $ dbca
· SIGSEGV 11* segmentation violation
· stackbase=0x453da000, stackpointer=0x453d9d5c
· Full thread dump:
· "AWT-EventQueue-0" (TID:0x411d1e20, sys_thread_t:0x453d9e0c,
· state:R) prio=5 *current thread*
· java.lang.Object.wait(Object.java)
· java.awt.EventQueue.getNextEvent(EventQueue.java:126)
· ...
Or on e.g. RHEL4:
/u01/app/oracle/product/9.2.0/bin/dbca: line 124: 26649 Segmentation fault
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
If this happens, try the following:
$ su - root
touch /etc/rac_on
Now try to restart dbca.
Another option is to edit $ORACLE_HOME/bin/dbca and to put the following lines under comment except the line marked in blue:
# if [ -f /etc/rac_on ]; then
# Run DBCA
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
# else
# Run DBCA
# $JRE_DIR/bin/jre -DORACLE_HOME=$OH ...
# fi
Now try to restart dbca.
· gcc -o /u01/app/oracle/product/9.2.0/rdbms/lib/oracle -L/u01/app/oracle/product/9.2.0/rdbms/lib/ ...
· ...
· /usr/bin/ld: /u01/app/oracle/product/9.2.0/rdbms/lib/oracle: hidden symbol `__fixunssfdi' in /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a(_fixunssfdi.oS) is referenced by DSO
·
· collect2: ld returned 1 exit status
· make: *** [/u01/app/oracle/product/9.2.0/rdbms/lib/oracle] Error 1
· /usr/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/u01/app/oracle/product/9.2.0
# mv /usr/bin/gcc /usr/bin/gcc323
# mv /usr/bin/g++ /usr/bin/g++323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# ln -s /usr/bin/g++296 /usr/bin/g++
Now you should be able to relink the oracle binary again.
On ce you are done, make sure to revert back the changes you've made above:
# mv /usr/bin/gcc323 /usr/bin/gcc
# mv /usr/bin/g++323 /usr/bin/g++
To check if runInstaller is a 32-bit binary or a 64-bit binary, run the following command:
$ cd /mnt/cdrom
$ file install/linux/runInstaller
install/linux/runInstaller: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
To check if your Linux system is 32-bit system or a 64-bit system, run e.g. the following command:
$ file /sbin/init
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
To rectify this problem, run the following command and restart runInstaller:
oracle$ export LD_ASSUME_KERNEL=2.4.1
For more information on this issue, see Red Hat 9.
$ which rman
/usr/X11R6/bin/rman
ly with Oracle 9i R2 (
9.2.0) when It tried to start the database with dbstart.
I copied the init file for my SID "test" from /u01/app/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:
cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora
Either you burn your CD again to include dot files or you copy the .extract_args file from your downloaded image to where runInstaller complains it is missing.
· ORA-01034: ORACLE not available
· ORA-27101: shared memory realm does not exist
· Linux Error: 2: No such file or directory or
· ORA-01034: ORACLE not available
·
If ORACLE_SID is set correctly, then you probably have a trailing slash "/" on the ORACLE_HOME environment variable. Remove it and try again to connect to sys (e.g from ORACLE_HOME=/u01/app/oracle/product/9.2.0 / to ORACLE_HOME=/u01/app/oracle/product/9.2.0).
To rectify the problem with the 586 machine or with the AMD CPU, create a link for lib and bin from i586 to i686 and make the i686 directories read on ly. For example:
ln -s /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/bin/i586
ln -s /tmp/OraInstall/jre/lib/i686 /tmp/OraInstall/jre/lib/i586
chmod u-w /tmp/OraInstall/jre/bin/i686/tmp/OraInstall/jre/lib/i686
Now restart runInstaller.
rpm -ivh compat-libstdc++-7.3-2.96.118.i386.rpm
See also Checking Packages (RPMs) for more information.
To rectify this problem, run the following command on Red Hat 9 and RHEL 3 and restart dbca:
oracle$ export LD_ASSUME_KERNEL=2.4.1
For more information on this issue, see Red Hat 9.
· $ lsnrctl start
· OR
· $ lsnrctl status
·
· LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 14-OCT-2004 14:33:10
· Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
· Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12541: TNS:no listener
· TNS-12560: TNS:protocol adapter error
· TNS-00511: No listener
· Linux Error: 2: No such file or directory
· Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521)))
· TNS-12541: TNS:no listener
· TNS-12560: TNS:protocol adapter error
· TNS-00511: No listener
· Linux Error: 111: Connection refused
e of the possibilities are that the /var/tmp/.oracle directory doesn't exist. This happened with fresh new Oracle 9.2.0.4.0 CDs on RH AS 3. If that's the case, run the following commands:
su - root
mkdir /var/tmp/.oracle
chown oracle:dba /var/tmp/.oracle
Now try to run lsnrctl start as oracle again.
· Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'alpha:0.0' as the value of the DISPLAY variable.
· at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
· at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:59)
· at java.lang.Class.forName0(Native Method)
· at java.lang.Class.forName(Class.java:120)
· at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)
· at java.awt.Window.(Window.java:188)
· at java.awt.Frame.(Frame.java:315)
· at java.awt.Frame.(Frame.java:262)
· at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:593)
NOTE: If you use for example Red Hat Fedora Core 3 as your desktop and you want to install the database on another machine, then you need to set the DisallowTCP entry in /etc/X11/gdm/gdm.conf for the GNOME Display Manager to read:
DisallowTCP=false
After that you need to restart your X server. I usually do this with the init command:
su - root
init 3
init 5
Copyright © 2006 puschitz.com
The information provided on this website comes without warranty of any kind and is distributed AS IS. Every effort has been made to provide the information as accurate as possible, but no warranty or fitness is implied. The information may be incomplete, may contain errors or may have become out of date. The use of this information described herein is your responsibility, and to use it in your own environments do so at your own risk.
. See bug 3006854 for more information. To apply the patch, run . See bug 3006854 for more information. To apply the patch, run su - root# unzip p3006854_9204_LINUX.zipArchive: p3006854_9204_LINUX.zip creating: 3006854/ inflating: 3006854/rhel3_pre_install.sh inflating: 3006854/README.txt
Installing Oracle9i 32-bit on Red Hat Enterprise Linux Advanced Server 4, 3, 2.1, and on Red Hat 9, 8.0, 7.3, 7.2, 7.1 (x86)
在RedHat(企业版4,3,2.1和标准版9,8,7等)x86平台上安装32位oracle9i
Written by Werner Puschitz ( www.puschitz.com )
Translate by joson chen(www.chq.name)
作者:Werner Puschitz
译者:joson chen(http://www.chq.name)
(译者注:本文系意译,重点关注REHL4,详细内容参见原文:http://www.puschitz.com/InstallingOracle9i.shtml)
Errors and Problems(错误和问题):
Some of the Oracle errors and problems covered here were on
Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) and . (关于RHEL AS3)
In order to install an Oracle9iR2 database on RH AS 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patchset and some other patches must be applied. Some errors can on
Red Hat 9( 关于Red Hat 9):
Red Hat 9 includes the Native POSIX Thread Library (NPTL) which is an improved implementation of POSIX threads for Linux. But using NPTL will cause several problems for Oracle applications. Note that Oracle9i has not been certified on Red Hat 9!
So to fix this problem, you can set the environment variable LD_ASSUME_KERNEL to 2.4.1, which means that the old "Linuxthreads with floating stacks" implementation will be used. Otherwise the Oracle installer runInstaller will hang, the Database Configuration Assistant dbca won't start etc.; see Oracle Installation Errors for more information. To see where this environment variable can be set, see Set Oracle Environments. For more information on LD_ASSUME_KERNEL, see Red Hat Linux 9 Release Notes.
NOTE: Before you install Oracle9iR2, make sure that you first read the information about the error message " Error in invoking target install of make file /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk " in the Oracle Installation Errors section!
Red Hat 8.0(关于Red Hat 8):
The on
"Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
But this does not necessarily mean that you won't see other problems described here. See Oracle Installation Errors for more information.
This article covers the following subjects and steps:
(本文涉及以下内容和操作步骤)
* Documentations (文档)
* Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9(下载安装RedHat)
* Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs(oracle9i安装文件的下载、解包、光盘刻录)
* Setting Swap Space(设置交换空间)
* Setting Shared Memory(设置共享内存)
* Checking /tmp Space(检查/tmp空间)
* Sizing Oracle Disk Space(设置oracle安装空间)
* The "binutils" Issue(关于binutils)
* Checking Packages (RPMs)(检查系统包RPMS)
* JDK
* Creating Oracle User Accounts(建立oracle用户)
* Creating Oracle Directories(建立oracle目录)
* Setting Oracle Environments(设置oracle运行环境)
* Starting runInstaller(启动runInstaller)
* Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1(在RH 7.1,7.2,7.3,8.0,9 and on RH AS 2.1上运行oracle安装程序)
* Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3(在RHEL AS 3上运行oracle安装程序)
Installing Oracle9iR2 on RH AS 3(安装)
Patching Oracle9iR2 on RH AS 3(打补丁)
Patching Oracle Intelligent Agent on RH AS 3(为oracle Agent打补丁)
* Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 4 (在RHEL AS 4上运行oracle安装程序)
Installing Oracle9iR2 on RH AS 4(安装)
Patching Oracle9iR2 on RH AS 4(打补丁)
* Startup and Shutdown of the Oracle 9i Database (oracle数据库的启动和关闭)
* Oracle Installation Problems, Tips and Hints(常见问题和技巧)
* Oracle Installation Errors(安装错误)
Documentations (相关文档)
Oracle9i Database Documentation for Linux
Tuning and Optimizing Red Hat Linux Advanced Server for Oracle9i Database
Oracle9iR2 on Linux: Performance, Reliability and Manageability Enhancements on Red Hat Linux Advanced Server 2.1
An Overview of Red Hat Advanced Server V2.1 Reliability, Availability, Scalability, and Manageability (RASM) Features
Downloading and Installing Red Hat Linux 7.1, 7.2, 7.3, 8.0, 9 (linux下载与安装)
To download Red Hat Linux 7.x, 8.0, 9, check the links at http://www.puschitz.com/LinuxDownload.shtml.
You can find the installation guides for installing Red Hat Linux under Red Hat Linux Manuals.
NOTE: You cannot download Red Hat Linux Advanced Server 2.1, you can on
Installing Software Packages (RPMs)
You don't have to install all RPMs when you want to run an Oracle9i database on Red Hat Linux.
For instance, if you install Red Hat Advanced Server, you are fine when you select the Installation Type "Advanced Server" and when you don't select the Package Group "Software Development". There are on
Or when you install Oracle9i on Red Hat Linux 7.x, 8.0, or 9, you are fine when you select the installation type "Server".
Unpacking Downloaded Oracle9i Installation Files and Burning Oracle9i CDs (oracle 9i下载解包与安装)
Download Oracle9i for Linux from the following web site:
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html
Uncompress and unpack downloaded files:
For Oracle9i (9.2.0):
On
zcat lnx_920_disk1.cpio.gz | cpio -idmv
zcat lnx_920_disk2.cpio.gz | cpio -idmv
zcat lnx_920_disk3.cpio.gz | cpio -idmv
Two step procedure:
# Uncompress
gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz
# Unpack the downloaded files:
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
For Oracle9i (9.0.1):
On
zcat Linux9i_Disk1.cpio.gz | cpio -idmv
zcat Linux9i_Disk2.cpio.gz | cpio -idmv
zcat Linux9i_Disk3.cpio.gz | cpio -idmv
Two step procedure:
# Uncompress
gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
# Unpack the downloaded files:
cpio -idmv < Linux9i_Disk1.cpio
cpio -idmv < Linux9i_Disk2.cpio
cpio -idmv < Linux9i_Disk3.cpio
Now you should have 3 directories containing installation files:
Disk1
Disk2
Disk3
I executed the following commands when I burned the 3 CDs:
mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=15 -
(You can get the dev numbers when you execute cdrecord -scanbus).
Setting Swap Space
In order to perform a typical Oracle 9i installation and to create a simple prototype database, Oracle says that you need a minimum of 512MB of RAM for the Oracle9i (9.0.1) Server, and the amount of disk space (swap space) should be equal to twice the amount of RAM or at least 400 MB, whichever is greater.
I tried to test the limits on an older PC with 256 MB of RAM and with 600 MB of swap space. I was able to install Oracle 9i (9.0.1 & 9.2.0) and Oracle's default database without any problems. But when I used less swap space on this PC (256MB RAM), I was runnig out of memory. So I definitely recommend to use more RAM and/or more swap space as specified in the Oracle installation guide.
NOTE: If you do not have enough swap space or RAM during the Oracle installation, in particular during the database creation, your Oracle server (Linux) will temporarily become unresponsive to any events for several minutes.
For more information on correctly sizing the swap space for your database, see Sizing Swap Space.
To check the memory, run:
grep MemTotal /proc/meminfo
To check the swap space, run:
cat /proc/swaps
You can also add temporary swap space by creating a temporary swap file instead of using a raw device. Here is the procedure:
su - root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
To disable the temporary swap space execute the following commands:
su - root
swapoff tmpswap
rm tmpswap
Setting Shared Memory
For Oracle 9i ( 9.2.0) installation I had to increase the maximum shared memory size on my Linux server for all Red Hat versions. The Oracle Database Configuration Assistant displayed the following error message on my server:
ORA-27123: unable to attach to shared memory segment.
I temporarely increased the shmmax setting for the kernel by executing the following command:
$ su - root
# cat /proc/sys/kernel/shmmax
33554432
# echo `expr 1024 * 1024 * 1024` > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
1073741824
It is recommended to increase the shmmax setting permanently for Oracle. For more information, see Setting Shared Memory.
For more information on optimizing shared memory settings for Oracle databases on Linux, see Setting Shared Memory. These parameters apply to all Red Hat Linux versions. But note that except for the shmmax parameter, these parameter do not need to be changed for installing Oracle on Linux. But you might want to adjust all shared memory settings later to optimize the server for Oracle.
Checking /tmp Space
The Oracle Universal Installer requires up to 400 MB of free space in the /tmp directory.
To check the space in /tmp, run:
$ df /tmp
If you do not have enough space in the /tmp directory, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:
su - root
mkdir /<AnotherFilesystem>/tmp
chown root.root /<AnotherFilesystem>/tmp
chmod 1777 /<AnotherFilesystem>/tmp
export TEMP=/<AnotherFilesystem> # used by Oracle
export TMPDIR=/<AnotherFilesystem> # used by Linux programs like the linker "ld"
When you are done with your Oracle installation, shutdown Oracle and remove the temporary directory:
su - root
rmdir /<AnotherFilesystem>/tmp
unset TEMP
unset TMPDIR
Sizing Oracle Disk Space
You will need about 2.5 GB for the database software. If you perform a typical database installation and not a customized database installation, then you will need about 3.5 GB of disk space.
The "binutils" Issue
Skip this step for Oracle9iR2.
I did not experience this problem with Oracle 9i (9.2.0), but on
The binutils package that comes with Red Hat 7.1, 7.2, 7.3, and with RedHat 2.1 Advanced Server doesn't work with Oracle 9i ( 9.0.1) Universal Installer. Here are the options you have for 9.0.1:
- I recommend the following approach:
Wait for the following Oracle installation error:
And fix this problem as described in Oracle Installation Errors.
I recommend this approach since it obviates the need to change binutils.
- I do not recommend the following approach:
Download the following binutil RPM version and downgrade binutil on the Oracle server:
ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm
rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm
When you are done with the Oracle installation, you upgrade your binutil RPM back to the version you had before you downgraded. E.g. on the Red Hat 7.2 server I did:
rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm
- Here is Oracle's official solution for Oracle 9iR1 or 9iR1 iAS on RedHat 2.1 Advanced Server which I don't like:
http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
Checking Packages (RPMs)
You will need some RPM development packages for the Oracle installer to build the Oracle modules, otherwise you will get error messages similar to this on
Error in invoking target ntcontab.o of makefile
/u01/app/oracle/product/9.2.0/network/lib/ins_net_client.mk
NOTE: Always ensure to use the latest RPM versions!
Packages (RPMs) for RH 7.1, 7.2, and RH AS 2.1:
To see if these development packages are installed on your server, run the following command:
rpm -q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
For instance, most of these packages will be missing when you installed RedHat 2.1 Advanced Server and if you did not select the "Software Development" package. For the RedHat 2.1 Advanced Server I executed the following commands to install the missing RPMs from the two CDs:
su - root
rpm -ivh cpp-2.96-108.1.i386.rpm
glibc-devel-2.2.4-26.i386.rpm
kernel-headers-2.4.9-e.3.i386.rpm
gcc-2.96-108.1.i386.rpm
binutils-2.11.90.0.8-12.i386.rpm
Packages (RPMs) for RH 7.3, 8.0, and 9:
To see if these development packages are installed on your server, run the following command:
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
For instance, when I installed Red Hat 9.0 and when I used the default packages for the Installation Type "Server", I had to install the following RPMs afterwards:
su - root
rpm -ivh binutils-2.13.90.0.18-9.i386.rpm
cpp-3.2.2-5.i386.rpm
gcc-3.2.2-5.i386.rpm
glibc-devel-2.3.2-5.i386.rpm
glibc-kernheaders-2.4-8.10.i386.rpm
NOTE : Before you install Oracle9iR2 on Red Hat 9, make sure that you also read the information about the error message " Error in invoking target install of make file /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk " in the Oracle Installation Errors section!
Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3):
Ensure the following required packages are installed on your server by running the following command:
rpm -q make
binutils
gcc
cpp
glibc-devel
glibc-headers
glibc-kernheaders
compat-db
compat-gcc
compat-gcc-c++
compat-libstdc++
compat-libstdc++-devel
gnome-libs
openmotif21
setarch
Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 4 (RHEL AS 4):
See also Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 for the list of required RPMs.
Ensure the following required packages are installed on your server by running the following command:
rpm -q make
compat-db
compat-gcc-32
compat-gcc-32-c++
compat-oracle-rhel4
compat-libcwait
compat-libgcc-296
compat-libstdc++-296
compat-libstdc++-33
gcc
gcc-c++
gnome-libs
gnome-libs-devel
libaio-devel
libaio
make
openmotif21
xorg-x11-deprecated-libs-devel
xorg-x11-deprecated-libs
Many of these packages depend on other packages. For example, compat-gcc-32 requires binutils, gcc etc. Since I like to install a system with as few RPMs as possible I had to install the following RPMs to satisfy dependencies:
rpm -Uvh compat-db-4.1.25-9.i386.rpm
compat-gcc-32-3.2.3-47.3.i386.rpm
glibc-devel-2.3.4-2.i386.rpm
glibc-headers-2.3.4-2.i386.rpm
glibc-kernheaders-2.4-9.1.87.i386.rpm
cpp-3.4.3-9.EL4.i386.rpm
compat-gcc-32-c++-3.2.3-47.3.i386.rpm
compat-libstdc++-33-3.2.3-47.3.i386.rpm
gcc-3.4.3-9.EL4.i386.rpm
cpp-3.4.3-9.EL4.i386.rpm
gcc-c++-3.4.3-9.EL4.i386.rpm
libstdc++-devel-3.4.3-9.EL4.i386.rpm
openmotif21-2.1.30-11.RHEL4.2.i386.rpm
xorg-x11-deprecated-libs-6.8.1-23.EL.i386.rpm
compat-libgcc-296-2.96-132.7.2.i386.rpm
compat-libstdc++-296-2.96-132.7.2.i386.rpm
libaio-0.3.102-1.i386.rpm
libaio-devel-0.3.102-1.i386.rpm
For xorg-x11-deprecated-libs-devel and xorg-x11-devel I had to install the following RPMs.
Note that these two packages are required for the Oracle patch 4198954 below.
rpm -Uvh xorg-x11-deprecated-libs-devel-6.8.1-23.EL.i386.rpm
xorg-x11-devel-6.8.1-23.EL.i386.rpm
fontconfig-devel-2.2.3-7.i386.rpm
pkgconfig-0.15.0-3.i386.rpm
freetype-devel-2.1.9-1.i386.rpm
zlib-devel-1.2.1.2-1.i386.rpm
And for gnome-libs and gnome-libs-devel I had to install the following RPMs:
rpm -Uvh gnome-libs-1.4.1.2.90-44.1.i386.rpm
gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm
ORBit-0.5.17-14.i386.rpm
ORBit-devel-0.5.17-14.i386.rpm
alsa-lib-1.0.6-4.i386.rpm
audiofile-0.2.6-1.i386.rpm
esound-0.2.35-2.i386.rpm
esound-devel-0.2.35-2.i386.rpm
gtk+-1.2.10-33.i386.rpm
gtk+-devel-1.2.10-33.i386.rpm
imlib-1.9.13-23.i386.rpm
imlib-devel-1.9.13-23.i386.rpm
libpng10-1.0.16-1.i386.rpm
alsa-lib-devel-1.0.6-4.i386.rpm
audiofile-devel-0.2.6-1.i386.rpm
gdk-pixbuf-0.22.0-15.1.i386.rpm
glib-devel-1.2.10-15.i386.rpm
indent-2.2.9-6.i386.rpm
libjpeg-devel-6b-33.i386.rpm
libtiff-devel-3.6.1-7.i386.rpm
libungif-4.1.3-1.i386.rpm
libungif-devel-4.1.3-1.i386.rpm
HINT:
If you are using RHN, you could simply run:
up2date gnome-libs gnome-libs-devel
You can use the up2date command for any packages. It takes care of dependencies by installing all required packages automatically.
To install the compat-oracle-rhel4 and compat-libcwait packages you have to download the patch 4198954 from http://metalink.oracle.com. Make sure to select the Linux x86 platform. To unzip the downloaded p4198954_21_LINUX.zip file, run:
$ unzip p4198954_21_LINUX.zip
Archive: p4198954_21_LINUX.zip
creating: 4198954/
inflating: 4198954/compat-oracle-rhel4-1.0-5.i386.rpm
inflating: 4198954/compat-libcwait-2.0-2.i386.rpm
inflating: 4198954/README.txt
#
Note that the compat-oracle-rhel4 and compat-libcwait packages require the xorg-x11-deprecated-libs and xorg-x11-deprecated-libs-devel packages, see above. To install the two RPMs from the 4198954 patch, run:
# rpm -Uvh 4198954/compat-oracle-rhel4-1.0-5.i386.rpm
4198954/compat-libcwait-2.0-2.i386.rpm
JDK
Skip this step for Oracle9iR2.
I successfully installed Oracle9iR2 without installing JDK on the system. Oracle comes now with its own Java. This means that you don't have to execute the following steps which were required for older Oracle versions:
Download JDK 1.3.1 or Blackdown 1.1.8_v3: (I usually used Blackdown)
http://www.blackdown.org
http://java.sun.com
According to the JDK documentation, install JDK under /usr/local. Then create a symbolic link to the JDK under /usr/local/java:
su - root
bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
ln -s /usr/local/jdk118_v3 /usr/local/java
Creating Oracle User Accounts
su - root
groupadd dba # group of users to be granted with SYSDBA system privilege
groupadd oinstall # group owner of Oracle files
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle
For more information on the "oinstall" group account, see When to use "OINSTALL" group during install of oracle.
Creating Oracle Directories
In this example, make sure that the /u01 filesystem is large enough, see Oracle Disk Space for more information. If /u01 is not on a separate filesystem, then make sure the root filesystem "/" has enough space.
su - root
mkdir -p /u01/app/oracle/product/9.2.0
chown -R oracle.oinstall /u01
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
Setting Oracle Environments
Set the following Oracle environment variables before you start runInstaller.
As the oracle user execute the following commands:
# Set the LD_ASSUME_KERNEL environment variable on
# RHEL AS 3, and RHEL AS 4 !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=2.4.1 # for RH 9 and RHEL AS 3
export LD_ASSUME_KERNEL=2.4.19 # for RHEL AS 4
# Oracle Environment
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/da
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin
I successfully installed Oracle9iR2 without setting the following CLASSPATH environment variable:
# CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
# CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
# export CLASSPATH
You can put these environment settings at the end of the ~oracle/.bash_pro
Starting runInstaller
Before you continue, make sure you have set the Oracle environment variables, see above.
Oracle no longer supports a character mode installer. Therefore, in order to execute runInstaller directly from a console of a machine you are logged into (in this example the node name where Oracle is running is called " oracleserver"), you need to set the DISPLAY environment variable. Before you do that, make sure that you also allow runInstaller on " oracleserver" to display X information on your Linux desktop machine (in this example, the PC name where you are running X Windows like KDE or GNOME is called " yourdesktop"), because programs running on remote machines cannot display information to your screen unless you give them the authority to do so. Note that the X display relink mechanism does not work for NT desktop machines unless you use Exceed.
Before you run runInstaller, execute e.g. 'xterm' to see if your X setup is really working! If you install Oracle on your desktop PC and not on a remote node, then you can skip step 1 and 3.
Step 1: Allow "oracleserver" to display X information to your desktop PC "yourdesktop":
yourdesktop:user$ xhost +oracleserver
Step 2: Open a new window and login to the Oracle server "oracleserver" as root. This window will be used for mounting and unmounting the Oracle CDs.
oracleserver:$ su - root
oracleserver:root# mount /mnt/cdrom
Step 3: From the console of your Oracle server "oracleserver" where you will run runInstaller, execute the following commands:
oracleserver:$ su - oracle
oracleserver:oracle$ export DISPLAY=yourdesktop:0.0
Step 4: Now execute runInstaller as "oracle". Do not cd to /mnt/cdrom !!
oracleserver:oracle$ /mnt/cdrom/runInstaller
NOTE 1:
If you use for example Red Hat Fedora Core 3 as your desktop and you want to install the database on another machine, then you need to set the DisallowTCP entry in /etc/X11/gdm/gdm.conf for the GNOME Display Manager to read:
DisallowTCP=false
After that you need to restart your X server. I usually do this with the init command:
su - root
init 3
init 5
NOTE 2:
Don't run runInstaller for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) yet! See Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3 for more information.
Running Oracle Installation on RH 7.1, 7.2, 7.3, 8.0, 9, and on RH AS 2.1
Keep in mind that you may get on
This is how I answered the questions for the runInstaller:
- What would you like as the base directory (Inventory Location):
/u01/app/oracle/oraInventory
- UNIX Group Name (permission for updating Oracle software):
oinstall
You could also use "dba" which I do not recommend for security reasons.
For more information on the "oinstall" group account, see
When to use "OINSTALL" group during install of oracle.
- Full path name for Oracle Home:
/u01/app/oracle/product/9.2.0
etc.
Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 3
In order to install an Oracle9iR2 database on RH AS 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patchset and some other patches must be applied. Some errors can on
Installing Oracle9iR2 on RH AS 3
Install the following RPMs (see Oracle Note:252217.1 for more information):
su - root
rpm -ivh
compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm
Relink gcc so that the older gcc will be used during the Oracle installation (see Oracle Note:252217.1 for more information):
su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323 # if g++ doesn't exist, then gcc-c++ was not installed
ln -s /usr/bin/g++296 /usr/bin/g++
When you execute runInstaller from the Oracle 9iR2 (9.2.0) CD, you will get the following error message:
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
To resolve the __libc_wait symbol issue, download the p3006854_9204 patch p3006854_9204_LINUX.zip from http://metalink.oracle.com. See bug 3006854 for more information.
To apply the patch, run
. See bug 3006854 for more information. To apply the patch, run su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
NOTE: If you get the following error when you run rhel3_pre_install.sh:
rhel3_pre_install.sh: line 36: gcc: command not found
Then you forgot to install or link gcc, see above. This means you can't start any binaries any more:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
#
To fix that, run the echo command which is a built-in shell command:
# echo "" > /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
Now runInstaller can be started from the CD:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp
2.4.1
$ /mnt/cdrom/runInstaller
- Welcome Screen: Click Next
- Inventory Location: Click Next
- Unix Group Name: Use "oinstall" and click Next
When asked to run /tmp/orainstRoot.sh, run it before you click Continue
- File Locations: Use default values
- Available Products: Select "Oracle9i Database 9.2.0.1.0"
- Installation Types: Select Custom since we on
- Available Products: Click Next or add some more components.
- Components Locations: Accept default values and click Next
- Privileged Operating System Groups:
I used the default values: OSDBA Group = dba, OSOPER Group = dba
- Oracle Managent Server Repository:
I used the default choice
- Create database: Select NO since we first have to patch Oracle before a database can be created!
- Summary: Start the Install
- Configuration tools: Tools won't come up. Simply ignore it.
- At the end of the installation, exit runInstaller.
You may get the following errors:
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0xa4e): In function `Nls_FormatCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore. This will be fixed by applying the patch 3119415 after the 9.2.0.4 patchset has been applied. You won't be able to apply the patch 3119415 at this time since the file /u01/app/oracle/oraInventory/ContentsXML/comps.xml doesn't exist yet.
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk.
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO
collect2: ld returned 1 exit status
make: *** [ctxhx] Error 1
Click ignore. This is fixed by applying the 9.2.0.4 patchset.
Patching Oracle9iR2 on RH AS 3
To patch Oracle9iR2, download the Oracle 9i Release 2 Patch Set 3 Version 9.2.0.4.0 for Linux x86 from http://metalink.oracle.com.
Copy the downloaded "p3095277_9204_LINUX.zip" file to e.g. /tmp and run the following command:
su - oracle
$ cp p3095277_9204_LINUX.zip /tmp
$ cd /tmp
$ unzip p3095277_9204_LINUX.zip
Archive: p3095277_9204_LINUX.zip
inflating: 9204_lnx32_release.cpio
inflating: README.html
inflating: patchnote.css
$
$ cpio -idmv < 9204_lnx32_release.cpio
Disk1/stage/locks
Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/bin.1.1.jar
Disk1/stage/Patches/oracle.apache.isqlplus/9.2.0.4.0/1/DataFiles/lib.1.1.jar
...
To patch the runInstaller, run:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp
2.4.1
$ cd /tmp/Disk1/
$ ./runInstaller
- Welcome Screen: Click Next
- File Locations: Use default values
- Available Products: Select " Oracle Universial Installer 2.2.0.18.0 !"
- Components Locations: Accept default values and click Next
- Summary: Start the Install
- At the end of the installation, you must exit runInstaller!
To patch Oracle9iR2, run:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp
2.4.1
$ cd $ORACLE_HOME/bin
$ ./runInstaller
- Welcome Screen: Click Next
- File Locations: Use default values
- Available Products: Select " Oracle9iR2 Patch Set 3 9.2.0.4.0 !"
- Summary: Start the Install
- At the end of the installation, exit runInstaller
You may get the following error:
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
The /u01/app/oracle/product/9.2.0/install/make.log file reads:
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x1cc): In function `get_ora_stmt_handle':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x124e): In function `OraProcess_Oid':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcl.o)(.text+0x176c): more undefined references to `__ctype_b' follow
collect2: ld returned 1 exit status
make: *** [dbsnmp] Error 1
Click ignore. This will be fixed by applying the patch 3119415 after the 9.2.0.4 patchset has been applied. The patch 3119415 cannot be applied while the patch process for the 9.2.0.4 patchset is running.
After the 9.2.0.4 patchset has been applied, download the patch p3119415_9204_LINUX.zip from http://metalink.oracle.com. See bug 3119415 for more information. Also, download the opatch Release 2.2.0 utility from http://metalink.oracle.com. See bug 2617419 for more information.
To install opatch, run:
su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
Before you apply the 3119415 patch, you need to make sure the fuser binary can be found by the oracle user, see the PATH environment variable below. Otherwise the patch can't be applied because the fuser binary is used by opatch.
To apply the 3119415 patch, run
su - oracle
$ unzip p3119415_9204_LINUX.zip
$ cd 3119415
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ which opatch
/tmp/OPatch/opatch
$ opatch apply
Now you should be able to create a database with dbca:
su - oracle
dbca
Patching Oracle Intelligent Agent on RH AS 3
When you run "agentctl start" (Oracle 9.2.0.4), dbsnmp will crash:
$ su - oracle
$ agentctl start
DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14
Copyright (c) 2003 Oracle Corporation. All rights reserved.
Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1855 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $*
>>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1868 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1880 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1892 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
To resolve this problem, apply the patch p3238244_9204_LINUX.zip from http://metalink.oracle.com. See bug/patch 3238244 for more information.
Before you apply the patch, make sure the instance is down!
Also make sure the opatch script appears in your $PATH. See "Patching Oracle9iR2 on Red Hat AS 3" for information on getting and installing opatch. To verify if opatch is in your $PATH, run the which command:
$ su - oracle
$ which opatch
/tmp/OPatch/opatch
$
To apply now the patch, run:
$ su - oracle
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ export PATH=$PATH:/sbin # the patch needs "fuser" which is located in /sbin
$ opatch apply
Now you need to relink dbsnmp. This is the binary that crashed when running agentctl start. To find which makefile handles the linking of dbsnmp, you can run:
$ su - oracle
$ find $ORACLE_HOME -name "*.mk" | xargs grep -l dbsnmp
/u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk
/u01/app/oracle/product/9.2.0/network/lib/env_oemagent.mk
$
I relinked dbsnmp and all associated executables which are maintained by the ins_oemagent.mk makefile:
$ su - oracle
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
Now you should be able to start the agent:
$ su - oracle
$ agentctl start
NOTE: Don't forget to undo the changes (links) to /usr/bin/gcc and /usr/bin/g++ if you don't need it any more. Also don't forget the /etc/ld.so.preload file.
Running Oracle Installation on Red Hat Enterprise Linux Advanced Server 4
In order to install Oracle9i Release 2 (9.2.0.6) I've applied the 9.2.0.6 patch set for the Oracle database server (patch number 3948480) after the Oracle9i Release 2 (9.2.0.4) installation. For more information, see Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 - Red Hat Enterprise Linux 4 Certification Update.
Installing Oracle9iR2 on RH AS 4
Before you continue, ensure all the required RPMs are installed, see Packages (RPMs) for Red Hat Enterprise Linux Advanced Server 4 (RHEL AS 4).
Also ensure LD_ASSUME_KERNEL is set to 2.4.19 (see Setting Oracle Environments):
$ su - oracle
$ echo $LD_ASSUME_KERNEL
2.4.19
$
Now launch runInstaller:
su - oracle
$ echo $LD_ASSUME_KERNEL
2.4.19
$ /media/cdrom/runInstaller
- Welcome Screen: Click Next
- Inventory Location: Click OK
- Unix Group Name: Use "oinstall" and click Next
When asked to run /tmp/orainstRoot.sh, run it before you click Continue
- File Locations: Use default values
- Available Products: Select "Oracle9i Database 9.2.0.4.0"
- Installation Types: Select Custom since we on
- Available Products: Click Next or add some more components.
- Components Locations: Accept default values and click Next
- Privileged Operating System Groups:
I used the default values: OSDBA Group = dba, OSOPER Group = dba
- Oracle Managent Server Repository:
I used the default choice
- Create database: Select NO since we first need to patch Oracle database software!
- Summary: Start the Install
Patching Oracle9i R2 ( 9.2.0 .4) on RH AS 4
Download the patch 3948480 (Oracle9i Patch Set Release 2 (9.2.0.6) Patch Set 5) from http://metalink.oracle.com and execute the following commands:
su - oracle
$ cp p3948480_9206_LINUX.zip /tmp
$ cd /tmp
$ unzip p3948480_9206_LINUX.zip
Archive: p3948480_9206_LINUX.zip
creating: Disk1/
creating: Disk1/stage/
creating: Disk1/stage/Patches/
...
Now download the patch 4188455 from http://metalink.oracle.com.
This patch is needed for launching the runInstaller that came with the patch 3948480 we just downloaded above.
su - oracle
$ cp p4188455_10103_LINUX.zip /tmp
$ cd /tmp
$ unzip p4188455_10103_LINUX.zip
Archive: p4188455_10103_LINUX.zip
inflating: oraparam.ini
inflating: README.txt
$
The /tmp/oraparam.ini file will now be used for launching the runInstaller that came with the patch 3948480.
To patch the runInstaller itself, run:
su - oracle
$ echo $LD_ASSUME_KERNEL
2.4.19
$ /tmp/Disk1/install/runInstaller -paramFile /tmp/oraparam.ini
- Welcome Screen: Click Next
- File Locations: Use default values (in my example: /tmp/Disk1/stage/products.xml)
- Available Products: Select " Oracle Universial Installer 10.1.0.3.0 !"
- Summary: Click Install
- At the end of the installation, you must exit runInstaller!
Ensure that no Oracle processes are running:
ps -ef | grep ora
Now to patch Oracle9iR2, run:
su - oracle
$ echo $LD_ASSUME_KERNEL # it is imp
2.4.19
$ /tmp/Disk1/install/runInstaller -paramFile /tmp/oraparam.ini
- Welcome Screen: Click Next
- File Locations: Use default values (in my example: /tmp/Disk1/stage/products.xml)
- Available Products: Select " Oracle 9iR2 Patchset 9.2.0.6.0"
- Summary: Click Install
When are asked to run root.sh, run it before you click Continue
- At the end of the installation, exit runInstaller.
After the 9.2.0.6 patchset has been applied, download the patch 4190568 from http://metalink.oracle.com. Also, download the opatch utility for release 10.1.0.2 (patch 2617419) from http://metalink.oracle.com.
To install opatch, run:
su - oracle
$ cp p2617419_10102_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_10102_GENERIC.zip
$ cp -a /tmp/OPatch/ $ORACLE_HOME
To apply the 4190568 patch, run
su - oracle
$ unzip p4190568_9206_LINUX.zip
$ cd 4193454
$ export PATH=$PATH:$ORACLE_HOME/OPatch
$ opatch apply
If you intend to use Direct I/O Support, you must also download and apply patch 2448994.
Now you should be able to create a database with dbca:
su - oracle
dbca
When dbca died on my system with the following error:
/u01/app/oracle/product/9.2.0/bin/dbca: line 124: 26649 Segmentation fault
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
I executed the following command:
su - root
touch /etc/rac_on
and restarted dbca. If you know a better solution, let me know!
Startup and Shutdown of the Oracle 9i Database
sqlplus:
svrmgrl is not supported any more. You can now do everything with sqlplus.
For instance, to startup the database, run the following commands:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
The slash connects you to the schema owned by SYS. So in this example you will be connected to the schema owned by SYS with the privilege SYSDBA. SYSDBA gives you the following privileges:
- sysoper privileges WITH ADMIN OPTION
- create database
- recover database until
$ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut
You can also use $ORACLE_HOME/bin/dbstart to startup the database, and $ORACLE_HOME/bin/dbshut to shutdown the database. You can place $ORACLE_HOME/bin/dbstart into the /etc/rc.d/rc.local boot script to automatically bring up the database at system boot time. To get $ORACLE_HOME/bin/dbstart and $ORACLE_HOME/bin/dbshut working, you need to change the third field for your Oracle SID in /etc/oratab from "N" to "Y".
For example, for the Oracle SID "test" I changed the line in /etc/oratab from:
test:/u01/app/oracle/product/9.2.0: N
to read:
test:/u01/app/oracle/product/9.2.0: Y
In some cases for 9.2.0 I also had to copy the init file for my SID "test" from /u01/app/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:
cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora
But first make sure if your init file already exists in $ORACLE_HOME/dbs!
Oracle Installation Problems, Tips and Hints
Some of these problems apply on
- Do not cd to /mnt/cdrom to run ./runInstaller!
If you do so, the installation will fail because you won't be able to change the CDs. - If you forgot to set the DISPLAY environment variable (e.g. export DISPLAY=oracleserver:0.0), or if you forgot to give the remote console - your Oracle Server - authority to display X information on your desktop PC (e.g. xhost +oracleserver), then you will get the following error:
Xlib: Client is not authorized to connect to Server
In this case, I always had to kill runInstaller in Oracle9iR1 (9.0.1) which was still running in the background. If I didn't do this in 9.0.1, runInstaller didn't completely come up any more without displaying any error messages. You might also want to clean up /tmp/OraInstall.
- When runInstaller starts to configure the tools ("Configuration Tools"), the "Oracle Net Configuration Assistant" will sometimes hang. Simply stop the Assistant and restart it, or continue the installation. When the rest of the installation is finished, do a "Retry" for "Oracle Net Configuration Assistant". This always worked for me.
- When the system stops responding during the Oracle installation in particular during the database creation, then that's probably because you don't have enough RAM or enough swap space. I saw the whole system not responding or to "hang" for several minutes when I did not have enough swap space. If this happens, simply wait until the system starts to respond again.
- The Oracle installation also runs make etc. In a production environment you might not have compilers and other development packages installed. Therefore make sure you have temporarily the following packages installed: gcc, cpp, glibc-devel, compat-libstdc++, kernel-headers (for RH 7.1, 7.2, 2.1AS), glibc-kernheaders (for RH 7.3, 8.0, 9.0), binutils. See also Checking Packages (RPMs) for more information.
- If for any reason the Oracle9i installation didn't finish successfully, you might want to clean up the following files and directories before you start over again: /etc/oraInst.loc /etc/oratab /tmp/<OtherOracleOwnedFiles> $ORACLE_BASE/*
- Other Problems:
You might want to check out the Oracle on Linux Discussion Forum.
Oracle Installation Errors
Here is a list of Oracle 9i (9.0.1 & 9.2.0) installation problems and issues. Some issues, errors, problems, and solutions apply on
Here is a list of issues issues, errors, problems and solutions:
- Log Files
- "Various make Problems"
$ which gcc
/usr/bin/gcc
Here is the command to find the RPM package name for /usr/bin/gcc:
$ rpm -qf /usr/bin/gcc
gcc-2.96-98
Check also the other error messages below. See also Checking Packages (RPMs) for more information.
- "Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
When I had this problem, the following errors showed up in $ORACLE_HOME/install/make.log:
/lib/libdl.so.2: undefined reference to `_dl_addr@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_open@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_close@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_sym@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_vsym@GLIBC_PRIVATE'
This error comes up when the following step is executed:
/usr/bin/make -f ins_ctx.mk install ORACLE_HOME=/u01/app/oracle/product/9.2.0
Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk, go to "INSO_LINK =", and add a "$(LDLIBFLAG)dl" to the line and save it.
Here is the full line with the added "$(LDLIBFLAG)dl" flag:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
After that hit retry in the error popup.
If this didn't work, then try the following:
Edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk again, go to "INSO_LINK =", remove the above entry you made and add a "`cat $(LIBHOME)/sysliblist`" to the line and save it.
Here is the full line with the added "`cat $(LIBHOME)/sysliblist`" string:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m `cat $(LIBHOME)/sysliblist` $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
After that hit retry in the error popup.
- ORA-27123: unable to attach to shared memory segment.
This error message came up when the Oracle Database Configuration Assistant was running. I executed the following command to temporarily increase the maximum shared memory size:
su - root
# cat /proc/sys/kernel/shmmax
33554432
# echo `expr 1024 * 1024 * 1024` > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
1073741824
#
Then click "Retry" for the Oracle Database Configuration Assistant.
It is recommended to increase the shmmax setting permanently for Oracle9i. So if you want to increase the maximum shared memory size permanently, add the following line to the /etc/sysctl.conf file:
kernel.shmmax=1073741824
For more information on setting shared memory parameters for Oracle, see Setting Shared Memory.
- ORA-03113: end-of-file on communication channel
Database Configuration Assistant:
I executed the ipcs command to get the address of the shared memory segments that have been allocated by Oracle:
$ su - root
# ipcs
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 0 root 600 196608 2
0x00000001 32769 root 600 655360 2
0x00000000 458755 oracle 660 4194304 0
0x00000000 491524 oracle 660 33554432 0
0x00000000 524293 oracle 660 33554432 0
0x00000000 557062 oracle 660 33554432 0
0x00000000 589831 oracle 660 33554432 0
0x00000000 622600 oracle 660 33554432 0
0x00000000 655369 oracle 660 33554432 0
0x00000000 688138 oracle 660 33554432 0
0x3ecee0b0 720907 oracle 660 4194304 0
------ Semaphore Arrays --------
key semid owner perms nsems status
------ Message Queues --------
key msqid owner perms used-bytes messages
#
Then I removed all shared memory segments that were owned by the Oracle user during the installation with the following command:
# ipcrm shm 458755 491524 524293 557062 589831 622600 655369 688138 720907
After that I restarted the "Database Configuration Assistant". On
Caveat: I'm not sure if this procedure can cause any further problems if this is done during the installation. But so far I haven't seen any issues with this approach.
sqlplus:
If you get this problem in connection with sqlplus, then simply make sure that the database is down and exit sqlplus. After that, follow the procedure above by removing all shared memory segments that belong to the Oracle user. To my knowledge, this should not cause any problems.
For more information on shared memory segments, see Determining Which Semaphore Sets and Shared Memory Segments Belong to Each Oracle Database or Instance.
NOTE:
To solve this problem permanently, increase the kernel shmmax size. For more information, see Setting Shared Memory and Setting Shared Memory.
- "Error invoking target install of makefile /u01/app/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
"Error invoking target install of makefile /u01/app/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
"Error invoking target install of makefile /u01/app/oracle/product/9.0.1/precomp/lib/ins-net-client"
Edit the file $ORACLE_HOME/bin/genclntsh and change the following line:
LD_SELF_CONTAINED="-z defs"
to read:
LD_SELF_CONTAINED=""
After that run the script $ORACLE_HOME/bin/genclntsh as the user "oracle" and not as the user "root". Also make sure you have all the Oracle environments set correctly!
$ su - oracle
$ $ORACLE_HOME/bin/genclntsh
Created /u01/app/oracle/product/9.0.1/lib/libclntst9.a
$
After that hit Retry in the error dialog window. This always worked for me.
Here is Oracle's official solution for Oracle 9iR1 and 9iR1 iAS on RedHat 2.1 Advanced Server:
http://otn.oracle.com/software/products/oracle9i/files/binutils_readme.html
- "Error in invoking target install of make file /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk"
On Red Hat 9 I performed the following steps here when the ORACLE_HOME/install/make.log file contained the error messages:
...
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x159d): In function `Nls_ScanCmd':
: undefined reference to `__ctype_b'
/u01/app/oracle/product/9.2.0/network/lib/libnmi.a(snmitcln.o)(.text+0x1603): more undefined references to `__ctype_b' follow
The issue here is that __ctype_b() is actually gone for __ctype_b_loc() because Red Hat uses a new locale model. However, in libc.so, __ctype_b is still exported as compatibility symbol; at least that's the case with RH 9 glibc-2.3.2-5. And here is the reason why some people have this problem with Red Hat 9 and why some don't:
When you bought the Red Hat 9 CDs in a store, then you will probably find glibc-2.3.2-5.i686.rpm on the first CD. This glibc version exports __ctype_b():
$ rpm -ql glibc-2.3.2-5 | grep libc.so
/lib/i686/libc.so.6
/lib/libc.so.6
/lib/tls/libc.so.6
$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
001315f8 D __ctype_b
00022340 T __ctype_b_loc
$ nm -a /lib/libc.so.6 | grep __ctype_b
00133c58 D __ctype_b
000223a0 T __ctype_b_loc
$
But when you downloaded Red Hat 9 from redhat.com or from on
$ rpm -ql glibc-2.3.2-11.9 | grep libc.so
/lib/i686/libc.so.6
/lib/libc.so.6
/lib/tls/libc.so.6
$ nm -a /lib/i686/libc.so.6 | grep __ctype_b
00131718 D __ctype_b@GLIBC_2.0
000223a0 T __ctype_b_loc
$ nm -a /lib/libc.so.6 | grep __ctype_b
00133d58 D __ctype_b@GLIBC_2.0
000223f0 T __ctype_b_loc
$
Check the glibc version on your system:
First check if the glibc packages on your RH 9 system work with the Oracle installer:
$ rpm -q glibc-2.3.2-5 glibc-common-2.3.2-5 glibc-devel-2.3.2-5
If you got the following error mesages:
package glibc-2.3.2-5 is not installed
package glibc-common-2.3.2-5 is not installed
package glibc-devel-2.3.2-5 is not installed
then you have glibc packages on your system that don't work with the Oracle installer and you need to follow the "Work Around" procedure here.
But if your system has the 2.3.2-5 glibc versions installed, then you are fine and you don't need to follow the described "Work Around" procedure!
Work Around Procedure:
Since I was not able to find the glibc-2.3.2-5 RPMs available for download, I'm making the RPMs available on my website. These RPMs are copies of the glibc RPMs that came with the RH 9 CDs I bought in the store. I do not recommend to use any of the "compat" RPMs from older Red Hat distributions since RH 9 contains major changes.
Here is the procedure for installing glibc-2.3.2-5 temporarely on your RH 9 server:
Download the 2.3.2-5 glibc RPMs from here on my web site.
First make sure if these downloaded RPM's are not corrupt and if they were really built and signed by Red Hat. You never know if someone fiddled with these RPMs or replaced them. To ensure the integrity and origin of these Red Hat's RPMs, run the following commands:
$ su - root
# rpm --imp
# rpm --checksig glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
glibc-2.3.2-5.i686.rpm: (sha1) dsa sha1 md5 gpg OK
glibc-common-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
glibc-devel-2.3.2-5.i386.rpm: (sha1) dsa sha1 md5 gpg OK
#
Downgrade glibc, glibc-common, and glibc-devel:
# rpm -Uvh --oldpackage glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
If you get the following error:
error: Failed dependencies:
glibc = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-11.9
glibc = 2.3.2-11.9 is needed by (installed) glibc-utils-2.3.2-11.9
glibc-devel = 2.3.2-11.9 is needed by (installed) glibc-debug-2.3.2-11.9
glibc-devel = 2.3.2-11.9 is needed by (installed) nptl-devel-2.3.2-11.9
then you can temporarily remove these RPMs (glibc-debug, glibc-utils, nptl-devel) from your system until you upgrade the glibc RPMs after your Oracle installation:
# rpm -e glibc-debug glibc-utils nptl-devel
Now try to run runInstaller again.
After Oracle has been installed, you can upgrade glibc, glibc-common, and glibc-devel again. For example:
# rpm -Uvh glibc-2.3.2-11.9.i686.rpm glibc-common-2.3.2-11.9.i386.rpm glibc-devel-2.3.2-11.9.i386.rpm
According to Red Hat, binary compatibility in Red Hat Linux is always guaranteed for binaries and shared libraries accross releases, but not for .o files nor .a files. However, compatibility is guaranteed for .o files and .a files. _within_ a realease. Since glibc-2.3.2-5 and glibc-2.3.2-11.9 are from the same release, compatibility should be guaranteed for .o files (Oracle's .o files which have been created during the Oracle installation) and .a files.
This means that Oracle should be fine when you upgrade glibc after the Oracle installation.
If you have any problems or issues with this solution, or if you have any comments, please let me know. You can find my email address at the bottom of this web site.
· $ agentctl start
·
· DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14
·
· Copyright (c) 2003 Oracle Corporation. All rights reserved.
·
· Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1855 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $*
· >>$DBSNMP_WDLOGFILE 2>&1
· /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1868 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
· /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1880 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
· /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1892 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
· $ dbca
· SIGSEGV 11* segmentation violation
· stackbase=0x453da000, stackpointer=0x453d9d5c
· Full thread dump:
· "AWT-EventQueue-0" (TID:0x411d1e20, sys_thread_t:0x453d9e0c,
· state:R) prio=5 *current thread*
· java.lang.Object.wait(Object.java)
· java.awt.EventQueue.getNextEvent(EventQueue.java:126)
· ...
Or on e.g. RHEL4:
/u01/app/oracle/product/9.2.0/bin/dbca: line 124: 26649 Segmentation fault
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
If this happens, try the following:
$ su - root
touch /etc/rac_on
Now try to restart dbca.
Another option is to edit $ORACLE_HOME/bin/dbca and to put the following lines under comment except the line marked in blue:
# if [ -f /etc/rac_on ]; then
# Run DBCA
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
# else
# Run DBCA
# $JRE_DIR/bin/jre -DORACLE_HOME=$OH ...
# fi
Now try to restart dbca.
· gcc -o /u01/app/oracle/product/9.2.0/rdbms/lib/oracle -L/u01/app/oracle/product/9.2.0/rdbms/lib/ ...
· ...
· /usr/bin/ld: /u01/app/oracle/product/9.2.0/rdbms/lib/oracle: hidden symbol `__fixunssfdi' in /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a(_fixunssfdi.oS) is referenced by DSO
·
· collect2: ld returned 1 exit status
· make: *** [/u01/app/oracle/product/9.2.0/rdbms/lib/oracle] Error 1
· /usr/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/u01/app/oracle/product/9.2.0
# mv /usr/bin/gcc /usr/bin/gcc323
# mv /usr/bin/g++ /usr/bin/g++323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# ln -s /usr/bin/g++296 /usr/bin/g++
Now you should be able to relink the oracle binary again.
On
# mv /usr/bin/gcc323 /usr/bin/gcc
# mv /usr/bin/g++323 /usr/bin/g++
- ./runInstaller: line 58: ./runInstaller: cannot execute binary file.
To check if runInstaller is a 32-bit binary or a 64-bit binary, run the following command:
$ cd /mnt/cdrom
$ file install/linux/runInstaller
install/linux/runInstaller: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
To check if your Linux system is 32-bit system or a 64-bit system, run e.g. the following command:
$ file /sbin/init
/sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
- The Oracle installer runInstaller hangs at: Installing Java Runtime Environment... Link pending... Copying README...
To rectify this problem, run the following command and restart runInstaller:
oracle$ export LD_ASSUME_KERNEL=2.4.1
For more information on this issue, see Red Hat 9.
- Recovery Manager rman hangs
$ which rman
/usr/X11R6/bin/rman
- Can't find init file for Database "SID".
I copied the init file for my SID "test" from /u01/app/oracle/admin/test/pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working:
cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.ora
- "Error in setting permissions of file/directory /u01/app/oracle/jre/1.1.8/bin/i686/native_threads/.extract_args"
Either you burn your CD again to include dot files or you copy the .extract_args file from your downloaded image to where runInstaller complains it is missing.
· ORA-01034: ORACLE not available
· ORA-27101: shared memory realm does not exist
· Linux Error: 2: No such file or directory or
· ORA-01034: ORACLE not available
·
If ORACLE_SID is set correctly, then you probably have a trailing slash "/" on the ORACLE_HOME environment variable. Remove it and try again to connect to sys (e.g from ORACLE_HOME=/u01/app/oracle/product/9.2.0 / to ORACLE_HOME=/u01/app/oracle/product/9.2.0).
- "jre was not found in /tmp/OraInstall/jre/bin/i586/green_threads/jre"
To rectify the problem with the 586 machine or with the AMD CPU, create a link for lib and bin from i586 to i686 and make the i686 directories read on
ln -s /tmp/OraInstall/jre/bin/i686 /tmp/OraInstall/jre/bin/i586
ln -s /tmp/OraInstall/jre/lib/i686 /tmp/OraInstall/jre/lib/i586
chmod u-w /tmp/OraInstall/jre/bin/i686/tmp/OraInstall/jre/lib/i686
Now restart runInstaller.
- ../jre/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
rpm -ivh compat-libstdc++-7.3-2.96.118.i386.rpm
See also Checking Packages (RPMs) for more information.
- /u01/app/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so)
Unable to initialize threads: cannot find class java/lang/Thread
Could not create Java VM
To rectify this problem, run the following command on Red Hat 9 and RHEL 3 and restart dbca:
oracle$ export LD_ASSUME_KERNEL=2.4.1
For more information on this issue, see Red Hat 9.
· $ lsnrctl start
· OR
· $ lsnrctl status
·
· LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 14-OCT-2004 14:33:10
· Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
· Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12541: TNS:no listener
· TNS-12560: TNS:protocol adapter error
· TNS-00511: No listener
· Linux Error: 2: No such file or directory
· Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxxx)(PORT=1521)))
· TNS-12541: TNS:no listener
· TNS-12560: TNS:protocol adapter error
· TNS-00511: No listener
· Linux Error: 111: Connection refused
su - root
mkdir /var/tmp/.oracle
chown oracle:dba /var/tmp/.oracle
Now try to run lsnrctl start as oracle again.
· Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'alpha:0.0' as the value of the DISPLAY variable.
· at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
· at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:59)
· at java.lang.Class.forName0(Native Method)
· at java.lang.Class.forName(Class.java:120)
· at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)
· at java.awt.Window.(Window.java:188)
· at java.awt.Frame.(Frame.java:315)
· at java.awt.Frame.(Frame.java:262)
· at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:593)
NOTE: If you use for example Red Hat Fedora Core 3 as your desktop and you want to install the database on another machine, then you need to set the DisallowTCP entry in /etc/X11/gdm/gdm.conf for the GNOME Display Manager to read:
DisallowTCP=false
After that you need to restart your X server. I usually do this with the init command:
su - root
init 3
init 5
- Other Errors
Copyright © 2006 puschitz.com
The information provided on this website comes without warranty of any kind and is distributed AS IS. Every effort has been made to provide the information as accurate as possible, but no warranty or fitness is implied. The information may be incomplete, may contain errors or may have become out of date. The use of this information described herein is your responsibility, and to use it in your own environments do so at your own risk.