set your TNS_ADMIN
make entries in your oratab file.
there are two scripts (dbstart and dbshut) in $ORACLE_HOME/bin.
call these scripts from your regular system startup/shutdown scripts located in init.d or rc direcotories.
NOTE THAT, system restart can be done only by ROOT.
so write a script so that root su's (switches) to oracle user and execute the dbstart/dbshut script
and these scripts take care of only database services.
u can inlcude
lsnrctl start
lnnrctl stop
to start/shut your listener also respectively.