Homepage

Oracle 9.0.1 installation



Summary




Before

Recommendation:
This release recommends:
- 512 Mb of RAM (!)
- 1 GB of swap
- 3 GB of disk

You can get away with:
- 320 MB of RAM
- 750 MB of swap
- 2.5 GB of disk
...provided you do not attempt to create a database at install time (wait until later !)


Another source says that:
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.



Do not attempt to install at all if you have less than 200 Mb of RAM as the installer will crash at link time !
(If you are an Oracle install pro then you can link manually to complete the process, but its a bit of a pest).

This release requires:
- Linux kernel 2.4.4+
- glibc 2.2.2+
However you can install with 2.4.2 (Redhat 7.1) or 2.4.3 (Mandrake 8.0) Kernels.

There is an undocumented dependency on Binutils.
The version 2.11 causes Oracle to be unlinkable.
The solution is to use version 2.10.

The tested combination was:
Slackware 8.0 - Linux kernel 2.4.5 - binutils-2.10.1


/tmp space

The Oracle Universal Installer requires up to 400 MB of free space in the /tmp directory.
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:

As root:
# mkdir /<AnotherFilesystem>/tmp
# chown root.root /<AnotherFilesystem>/tmp
# chmod 1777 /<AnotherFilesystem>/tmp
# export TEMP=/<AnotherFilesystem>/tmp      # used by Oracle
# export TMPDIR=/<AnotherFilesystem>/tmp    # used by Linux programs like the linker "ld"
When it is done with your Oracle installation,
shutdown Oracle and remove the temporary directory:
# rmdir /<AnotherFilesystem>/tmp
# unset TEMP
# unset TMPDIR


Preparation

Decide where you want Oracle to be installed and create a directory for it.
In addition create a group and user for Oracle (login as root for this) :
# groupadd -g 9010 oinstall
# groupadd -g 9011 dba

# useradd oracle                 ---- NOPE (see why below)

I will use "adduser" (from slackware) instead:
# adduser
login:             oracle
uid:               9010
initial group:     oinstall
additional groups: dba
home directory:    /home/oracle
shell:             /bin/bash
expiry date:

Full Name:         Oracle 9.0.1
Room Number:
Work Phone:
Home Phone:
Other:

password:          ********
Oracle account created
# mkdir /oracle                 ---- NOPE (see why below)
Actually /oracle is mounted on /dev/hda5 with 3GB
# mkdir /oracle/product
# mkdir /oracle/product/9.0.1
# chown -R oracle.oinstall /oracle

# mkdir /var/oracle
# chown oracle.dba /var/oracle
# chmod 755 /var/oracle

Remember we need 3 GB or so !


to be done during installation phase:
installpkg j2sdk-1_3_1-linux-i386.tgz
Sun JDK 1.3.1 is installed in /usr/lib/jdk1.3.1

Set Oracle environment
log as oracle and put that in ~oracle/.bashrc

export BASH_ENV=$HOME/.bashrc

# see http://www.puschitz.com/InstallingOracle9i.html
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.0.1
export ORACLE_SID=test
export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin


export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin

CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH



Binutils

Slackware comes with binutils 2.11 which is incompatible with Oracles installer.
To fix this simply extract, compile and install Binutils using
# tar -xzvf binutils-2.10.1.tar.gz
# cd binutils-2.10.1
# ./configure
# make
# make install                          # as root
This will install 'binutils' in '/usr/local/bin' (this is deliberate).
If any of these steps fail you are probably missing some development libraries.
The error message should give you a clue.

Next issue these commands as 'root':
# cd /usr/bin 
# mv ld ld.new
# cp /usr/local/bin/ld ./ 
This temporarily replaces ld 2.11 with ld 2.10.



Installation

insert first Oracle 9.0.1 CDROM,
and in a root shell:
# mount /dev/cdrom /cdrom
Log as oracle into X-window (Windomaker for the Window manager)
Before starting runInstaller, try maybe to execute e.g. 'xterm' to see if your X setup is really working!
$ xterm
OK !

$ /cdrom/runInstaller

DO NOT DO THIS:
$ cd /cdrom
$ ./runInstaller
The reason why:
if you do so, the installation will fail because you won't be able to change the CDs.

There are 3 CDs, so when putting a new CD:
the previous one need to be unmounted
and the new one to be mounted.
(see far below)





Starting page
[Next)


Inventory Location
/oracle/oraInventory
(OK]


UNIX Group Name (permission for updating Oracle software):
oinstall
[Next)

a popup appears, saying:
Certain actions need to be performed with root privileges before the install can continue.
These actions are stored in a Bourne Shell script called /tmp/orainstRoot.sh
Please execute the /tmp/orainstRoot.sh script now from another window
and press "Continue" to continue the install.

in a root shell:
# /tmp/orainstRoot.sh
The script is verbosing:
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /oracle/oraInventory to oinstall.
Then ( OK ) on the popup window


File Locations
Source... /cdrom/starge/product.jar
Destination... /oracle/product/9.0.1
[Next)


Available Products
(o) Oracle 9i Database 9.0.1.0.0
(  ) Oracle 9i Client 9.0.1.0.0
(  ) Oracle 9i Management and Integration 9.0.1.0.0
Product languages: English only
[Next)


Installation Types
(o) Entreprise Edition (1.79GB)
(  ) Standard Edition (1.79GB)
(  ) Custom
[Next)


Database Configuration
(  ) General Purpose
(  ) Transaction Processing
(  ) Data Warehouse
(  ) Customized
(o) Software only   (installs software only and does not create a database at this time)
[Next)


Choose JDK Home Directory
/usr/lib/jdk1.3.1
[Next)


Summary
Look at the summary... (woaah !)
[Install)
do not click on [Next) !!!
it is just reading the CDROM and then the [Next) button becomes grey


Install
you have to wait....................... x min
........
OK it is long.....

top says:
jre is using 60% of MEM
100 MB of swap is used


... popup "Please insert Linux 9.0.1 disk 2 ..."
# umount /cdrom
# mount /dev/cdrom /cdrom
....
..... still waiting.........

top says:
jre is using 63% of MEM
350 MB of swap is used


... popup "Please insert Linux 9.0.1 disk 3 ..."
once again:
# umount /cdrom
# mount /dev/cdrom /cdrom
.....

to terminate the installation, ld is entering in action...

a popup appears, saying:
A configuration script needs to be run as root before installation can proceed.
Please leave this window up,
go tun /oracle/product/9.0.1/root.sh as root from another window,
then come back here and click OK to continue.

in a root shell:
# /oracle/product/9.0.1/root.sh

The script is verbosing:
Running Oracle9 root.sh script...
/oracle/product/9.0.1/root.sh: /bin/awk: No such file or directory
/oracle/product/9.0.1/root.sh: /bin/awk: No such file or directory
/oracle/product/9.0.1/root.sh: [: !=: unary operator expected
\nThe following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/product/9.0.1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
/oracle/product/9.0.1/root.sh: /bin/sed: No such file or directory
/oracle/product/9.0.1/root.sh: /bin/awk: No such file or directory
   Copying  to /usr/local/bin ...
/oracle/product/9.0.1/root.sh: /bin/sed: No such file or directory
/oracle/product/9.0.1/root.sh: /bin/awk: No such file or directory
   Copying  to /usr/local/bin ...
/oracle/product/9.0.1/root.sh: /bin/sed: No such file or directory
/oracle/product/9.0.1/root.sh: /bin/awk: No such file or directory
   Copying  to /usr/local/bin ...

\nCreating /etc/oratab file...
Adding entry to /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Then ( OK ) on the popup window


Configuration tools
... 1 min... hop ! finished


End of Installation
(Exit]



as root:
# umount /cdrom






















Post Installation

Now comes creating a database.
There is a reasonable Gui tool to create a new database:
$ dbca &

Welcome to the Oracle Database Configuration Assistant
[Next)


Operation to perform
(o) Create a database
(  ) Configure database options in a database (greyed)
(  ) Delete a database (greyed)
(  ) Manage Templates
[Next)


Select a template from the following list to create a database
(  ) Data Warehouse
(  ) Transaction Processing
(o) General Purpose
(  ) New database
(Show Details...) ---> (Save as an HTML file...) ---> general_purpose_database.html, then (Close)
[Next)


Specify the following database information
Global Database Name: test
SID: test
[Next)


Select the mode in which you want your database to operate by default
(o) Dedicated Server Mode
(  ) Shared Server Mode
[Next)


Initialization parameters
4 tabs: Memory, Archive, DB Sizing, File Locations
DB Sizing tab:
FYI: Sort Area Size: 512 MB (not changed)
[Next)


Database Storage
/oracle/oradata/test/*.dbf
[Next)


Creation Options
[x] Create Database
[  ] Save as Database Template
(Finish)


taking a long time, only 3 MB RAM free (this PC definitely needs memory)

then a popup appears:
-----------------------------------------------------------------------------
Database creation complete.
Check the logfiles at /oracle/admin/test/create for details

Database Information:
 Global Database Name:              test
 System Identifier(SID):            test
 SYS Password:                      change_on_install
 SYSTEM Password:                   manager

Note: All database accounts except SYS and SYSTEM have been locked.
Click on the "Password Management" button to unlock the acocunts
and change the default passwords.
Oracle Corporation strongly recommends that you change the default passwords.
-----------------------------------------------------------------------------
with a button (Password Management...)
OK, changing passwords for SYS and SYSTEM to ******

then: (Exit)

and that's it !












Oracle tools

- to create a new database, manage the existing ones:
$ dbca &

- to create a new name in the TNSNAMES.ORA:
$ netca &

- to enter SQL in command line:
$ sqlplus



Create a name space

Creating a new namespace:
$ sqlplus

SQL*Plus: Release 9.0.1.0.0 - Production on Thu Jun 27 16:16:15 2002

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production

SQL> create user <user> identified by <password>;

User created.

SQL> grant dba to <user>;

Grant succeeded.

SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
$







Start up database

Logon as oracle user and:


1) start Oracle instances

$ sqlplus /nolog

SQL*Plus: Release 9.0.1.0.0 - Production on Mon Sep 16 08:14:22 2002

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

SQL> connect / as sysdba
Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  336356520 bytes
Fixed Size                   279720 bytes
Variable Size             268435456 bytes
Database Buffers           67108864 bytes
Redo Buffers                 532480 bytes
Database mounted.
Database opened.

SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
$

2) start the listener

$ lsnrctl start

LSNRCTL for Linux: Version 9.0.1.0.0 - Production on 16-SEP-2002 08:32:37

Copyright (c) 1991, 2001, Oracle Corporation.  All rights reserved.

Starting /oracle/product/9.0.1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 9.0.1.0.0 - Production
System parameter file is /oracle/product/9.0.1/network/admin/listener.ora
Log messages written to /oracle/product/9.0.1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jack5.zejack.com)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 9.0.1.0.0 - Production
Start Date                16-SEP-2002 08:32:38
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Parameter File   /oracle/product/9.0.1/network/admin/listener.ora
Listener Log File         /oracle/product/9.0.1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jack5.zejack.com)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "jack5" has 1 instance(s).
  Instance "jack5", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
$




Shut down database

Logon as oracle user and:


1) stop the listener

$ lsnrctl stop

LSNRCTL for Linux: Version 9.0.1.0.0 - Production on 01-OCT-2002 15:17:46

Copyright (c) 1991, 2001, Oracle Corporation.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
The command completed successfully
$

2) stop Oracle instances

$ sqlplus /nolog

SQL*Plus: Release 9.0.1.0.0 - Production on Tue Oct 1 15:18:56 2002

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

SQL> connect / as sysdba
Connected.

SQL> shutdown immediate

Database dismounted.
ORACLE instance shut down.

SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
$



Delete a name space

Logon as oracle user and:


$ sqlplus

SQL*Plus: Release 9.0.1.0.0 - Production on Tue Sep 17 15:57:44 2002

(c) Copyright 2001 Oracle Corporation.  All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production

SQL> drop user JOHNDOE cascade;

User dropped.

SQL> quit
Disconnected from Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
With the Partitioning option
JServer Release 9.0.1.0.0 - Production
$




Restoring Binutils

If you want your system to work as intended by Slackware,
you need to restore 'ld' from binutils 2.11.
So, as root:
# cd /usr/bin
# mv ld.new ld





Links


http://www.puschitz.com/InstallingOracle9i.html