Master URL: http://www.suse.com/oracle/
-----------------------------------------

If you need help please join the Oracle on Linux mailinglist
(suse-oracle@suse.com), instructions and an archive are available at
the URL above. This is very likely the best Oracle on Linux
mailinglist there is!

Edit /etc/sysconfig/oralce-env to reflect your particular environment
(e.g. ORACLE_HOME_DEFAULT => ORACLE_HOME and ORACLE_SID_DEFAUL => ORACLE_SID).
Per user settings can go to ~/.profile BEFORE /etc/profile is sourced. Here
use ORACLE_HOME and ORACLE_SID directly NOT the "*_DEFAULT" variables.

@TODO NOTE: If you are using csh (oracle.csh), then you may need to adjust export in /etc/init.d/oracle 
script with following changes: su - $ORACLE_OWNER -c "exec bash -c 'export X=Y Z=A; CMD 2>/dev/null'"

Edit /etc/sysconfig/oracle (SuSE Linux 7.3 and earlier incl. SLES-7: use
/etc/rc.config.d/oracle.rc.config) if you use the automated
startup/shutdown feature AND to set the kernel values for semaphores
and shared memory according to the Oracle instructions for Linux
(probably in the ReleaseNotes for the Oracle product).

NOTE: The setting of the kernel parameters is independent of whether or 
not Oracle is started by the script. Both functionalities - setting of
the kernel parameters and start/stop of Oracle daemons - are controlled
and operate independently.

Also note that for automated startup/shutdown you must also set the
line for your database in the Oracle file /etc/oratab to "Y" (last letter)
or nothing will happen, since our script uses the standard Oracle provided
script "dbstart" to do the database startup.

systemd
=======

  To enable a database at systemstart, run

    systemctl enable oracle-db@YOUR_SID.service

  Disabling works accordingly, systemctl disable ...

  To start and stop a database manually run
 
    systemctl start oracle-db@YOUR_SID.service   
    systemctl stop oracle-db@YOUR_SID.service   

  Start listener:

    systemctl start oracle-listener.service

  ASM (dummy, not implemented)

    systemctl start oracle-asm.service

  ASM databases (with "W" in oratab):

    systemctl start oracle-asm-db@YOUR_SID.service

  NOTES:
  1. dbstart and dhshut are not used anymore
  2. start of services is configured via systemctl enable/disable. 
     There are no START_ variables in /etc/sysconfig!
  3. ORACLE_HOME for starting the listener is set in /etc/sysconfig/oracle (ORACLE_HOME_LISTENER)
  4. ORACLE_HOME for all user environment is set in /etc/sysconfig/oracle-env (ORACLE_HOME_DEFAULT).
     Users may override it in their individiual profiles BEFORE /etc/profile is sourced (~/.profile).
  5. Same as 4. for ORACLE_SID
  6. Fallback for ORACLE_HOME when starting servies is still the first entry in /etc/oratab
  7. RAC variables are set in /etc/sysconfig/oracle-rac

rcoracle
========

To control all oracle units at once, use the rcoracle command. It is not just a link to
/usr/sbin/service as usual, but uses it. Additionally it
- shows dependdencies on "status"
- waits for all depending untis to be inactive on "stop" - or a timeout is reached
- the timeout is 240 seconds by default but can be set with RCORACLE_TIMEOUT_STOP=xxx in
  /etc/sysconfig/oracle


Should you want to start an Oracle facility not yet included 
- Add variables to /etc/sysconfig/oracle, which are used for startup
- Add a shell script /usr/lib/orarun/oracle-<facility> which accepts arguments start and stop
  to start or stop the facility. Source /etc/sysconfig/oracle to access your configuration variables
- Add a systemd unit either at /usr/lib/systemd/system/oracle-<facility>.service or at /etc/systemd/system/...
  You can use /usr/lib/systemd/system/oracle-listener.service as template.
  Put your script in the ExecStartCmd and ExecStopCmd lines. 
- If you have suggestion to include, then please file improvement request at bugzilla.novell.com.

What this package does:
- creates a user "oracle" and groups "dba, oinstall" - with fixed ids
- provides several symlinks for some Oracle products that expect e.g.
  the shell in non-standard places
- installs the systemd units for automated Oracle
  start/stop MISSING: plus Oracle components like OCFS (cluster filesystem for
  Oracle RAC) or the Oracle Apache webserver
- ORACLE_HOME is not set in profile script but derived from ORACLE_HOME_DEFAULT if needed 
- ORACLE_HOME is used from /etc/oratab 
- ORACLE_HOME for the listener (separate unit) is specifed in the variable 
  ORACLE_HOME_LISTENER in /etc/sysconfig/oracle
- If not specified otherwise ORACLE_HOME_DEFAULT for /etc/sysconfig/oracle is
  used for ORACLE_HOME (instantclient and default for listener)
- the /etc/profile.d/oracle.sh script has some logic to add /opt/gcc295/bin
  in front of the path if gcc_old is installed, and to set "ulimit", both
  only for user "oracle"
- the iint script sets ulimits, together with the ulimit setting in 
  /etc/profile.d/oracle.sh this ensures that Oracle gets the right limits
  for max. number of files it can open and the like when started using 
  the systemd unit
- the init script does some sanity checks, like checking if a component
  that it's been told to start is really installed 
- During installation of orarun two entries for user oracle are added to
  file /etc/security/limits.conf. This file is only for users logging in
  via "login", "su" and the like do not use those settings!

