Oracle 9i has an entirely new way of starting the database from that of Oracle 8i and other previous releases. To start a configured Oracle9i database, perform the following:

$ su - oracle$ lsnrctl start
$ sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on Fri Mar 10 09:01:30 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect / as sysdba
SQL> startup

You should see the following message if the database starts successfully:

ORACLE instance started.
Total System Global Area 1192318212 bytes
Fixed Size 455940 bytes
Variable Size 452984832 bytes
Database Buffers 738197504 bytes
Redo Buffers 679936 bytes
Database mounted.Database opened.
SQL>

To stop the database, issue the following command:

SQL> shutdown immediate 

To put this command into a script you could do something like the following:

#!/bin/bash#

# name: /etc/init.d/oracle9i
# description: starts and stops oracle 9i database, TNS listener
# http server, and fixes kernel parameters for oracle
#oracle environment

export ORACLE_HOME=/u01/oracle/9.2.1.0
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_SID=ora9
export DISPLAY=:0

# see how were called
case $1 in 
   start) 
      su - oracle<<EOO 
      lsnrctl start 
      apachectl start 
      sqlplus /nolog<<EOS 
      connect / as sysdba 
      startup 
      EOS
      EOO 
      ;; 
   stop) 
      # stop listener, apache and database 
      su - oracle<<EOO 
      lsnrctl stop 
      apachectl stop 
      sqlplus /nolog<<EOS 
      connect / as sysdba 
      shutdown immediate
      EOS
      EOO 
      ;; 

   *) 
      echo "Usage: ora9 [start|stop]" 
      ;;
esac