Quick start on Oracle 8i and Solaris

This document is designed to be a quick reference that can be used when installing Oracle 8.1.7 on the Sun Solaris platform. It is NOT designed to take the place of the oracle installation guide (albeit horrendous).

PRE-INSTALLATION

  1. Ensure all Pre-Installation steps are run as 'root'.
  2. Ensure that the system has at least the following resources
    • 400 MB in /tmp
    • 256 MB of Physical Memory
    • 3x RAM for SWAP
    Note: 3x is required for swap space, unless the system exceeds 1GB of physical memory, and in such cases, 2x RAM for swap space is sufficient.
  3. Create the Oracle software owner and group Create a UNIX user and group that will own the Oracle software (normally user=oracle and group=dba), and must be local to the machine (not via nis/nisplus).
    # groupadd dba
    # useradd oracle -g dba
  4. Create the oracle software mount point and datafile mount points. The filesystem holding the oracle s/w should be at least 1.2GB. If you have separate disks, then perform:
    # mkdir /u01 /u02 /u03 /u04
    # chown oracle:dba  /u01 /u02 /u03 /u04
    # chmod 775  /u01 /u02 /u03 /u04
    If you only have one disk, then simulate mount points:
    # mkdir /.../u01 /.../u02 /.../u03 /.../u04
    # chown oracle:dba /.../u01 /.../u02 /.../u03 /.../u04
    # chmod 775 /.../u01 /.../u02 /.../u03 /.../u04
    Replace /.../ with your mount point
  5. Create directory for oratab file: Create the directory /var/opt/oracle and ensure the oracle user has write permissions in this directory:
    # mkdir /var/opt/oracle
    # chown oracle:dba /var/opt/oracle
    # chmod 775 /var/opt/oracle
  6. Configure Kernel Resources Add the following params. to /etc/system (this is the bare minimum required for oracle to run under Solaris)
    set shmsys:shminfo_shmmax=4294967295
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmseg=10
    set shmsys:shminfo_shmmni=100
    set semsys:seminfo_semmns=1000
    set semsys:seminfo_semmni=70
    set semsys:seminfo_semmsl=200
    For ORACLE adjust the shminfo_shmmax:
    • 1 meg = 1048576
    • 200 meg = 209715200
    • 4 gig = 4294967295
  7. Activiating changes After changing /etc/system, you must reboot the system for the new kernel params to take affect.
    # init 6

INSTALLATION

  1. Login in as the 'oracle' user
  2. Setup environment variables Setup the oracle environment variables in the .profile (sh/ksh) or .login (csh) file for the oracle account, needs to be done before running the Oracle Installer program.
    ##### Default file/directory creation mask
    #
    umask 022
    
    ##### oracle environment variables
    #
    # ORACLE_BASE points to the top dir for the oracle products
    ORACLE_BASE=/u01/app/oracle
    # ORACLE_BASE=/mount-point/u01/app/oracle
    export ORACLE_BASE
    
    ######ORACLE_HOME points to the topdir for the software install
    #
    ORACLE_HOME=${ORACLE_BASE}/product/8.1.7
    export ORACLE_HOME
    
    ##### ORACLE_SID the name you want to assign to your database
    #
    ORACLE_SID=orasmurf
    export ORACLE_SID
    
    ##### misc oracle vars, nice to have no necessary
    #
    ORACLE_TERM=vt100
    ORACLE_DOC=$ORACLE_BASE/doc
    export ORACLE_TERM ORACLE_DOC
    
    ##### default language support
    #
    ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    NLS_LANG=american
    export ORA_NLS33 NLS_LANG
    
    #####  setup path
    #
    PATH=/usr/bin:${ORACLE_HOME}/bin:/usr/ccs/bin:.
    LD_LIBRARY_PATH=/usr/lib:${ORACLE_HOME}/lib:.
    export PATH LD_LIBRARY_PATH
    
    ##### Change cli prompt to identify oracle user
    #
    PS1="[`/usr/ucb/whoami`@`/usr/bin/uname -n` \$PWD ] "
  3. Verify oracle environment Log out, then back in as the oracle user to ensure all environment variables are set correctly.
  4. Start ORACLE install Run the oracle Installer using the absolute path ... <b.Note: DON'T cd TO THE CD-ROM WITH THE ORACLE S/W ON, AS YOU WILL BE UNABLE TO UNMOUNT THE CD-ROM WHEN REQUESTED TO DO SO.
    [oracle@localhost] /moint-point-2-oracle-sw-or-cdrom/runInstaller
  5. A GUI windows appears 'Welcome to the Java-based Oracle installer', click the 'Next' button
    • verify that the source path matches
      /mount-point-2-oracle-sw-or-cdrom/stage/products.jar
    • The 'Destination' path should match the $ORACLE_HOME environment variable.
    • click 'Next'
  6. At the 'UNIX Group Name' window, enter 'dba' as the group, then click 'Next'
  7. Running orainstRoot.sh A window will now pop up asking you to run the orainstRoot.sh script.
    • Open a new window
    • su root
    • cd $ORACLE_HOME
    • ./orainstroot.sh
    Go back to the popup window, and click 'Retry'
  8. Available products You will now get the Available Products screen,
    • select
      'Oracle 8i Enterprise Edition 8.1.7.x.x'
    • click 'Next'
    • select 'Typical' as the install type
    • click 'Next'
  9. Global database name In the global database name field enter a value that matches $ORACLE_SID value. Verify the ORACLE_SID field, matches the the $ORACLE_SID variable, click 'Next'
  10. Database files The next prompt asks for a 'db files location' ...
    • If you create mount points on separate disks (/u01 ... /u04), then enter '/u02' as the location ...
    • If only one disk, then enter '/.../u02' as the location, where /.../ is the mount point for u01 ... u04
    • click 'Next'
  11. Summary Window Click the 'Install' button, the Oracle software begins to install ... You will be prompted to enter the path to the 2nd oracle installation CD (or mount point), either eject the CD-ROM and then click Ok/Retry, or enter the location for the 2nd disk location ... The installation will continue
  12. root.sh After the files have been copied and oracle linked, you will get another popup window asking you to run the root.sh script/
    • go back to your root window (if not active, open new window)
    • cd $ORACLE_HOME
    • ./root.sh
    • when prompted to enter the bin directory, enter '/usr/bin'
    Return to the popup window, and click 'OK'
  13. Oracle Net8 Configuration If prompted for the Oracle Net8 Configuration window, simply check the box marked
    Perform typical configuration
    click 'Next'
  14. Database Configuration Assistance There is nothing to do here except hit 'OK' when you get the msgs that the database configuration is complete. When the Database Configuration Assistance finishes, oracle will start the webserver on port 7777.
  15. End of Installation The oracle installation has completed, click 'exit'.... Confirm that you want to 'exit'

DEFAULT PASSWORDS

Oracle installed two accounts during the installation of the database. below are the names and the passwords for both ...

usernamedefault password
sys change_on_install
system manager

INSTALLING TEST DATA

If you want to setup the sample tables for demo data, you can perform the following as the 'oracle' user:

[oracle@localhost] cd $ORACLE_HOME/rdbms/admin
[oracle@localhost] sqlplus sys/change_on_install

at the 'sqlplus>' prompt enter:

sqlplus> @utlsampl.sql

This script create a new user/passwd for scott/tiger and demo data in tables dept/emp/bonus/salgrade ... Confirm that the demo data has been created, run the following sqlplus select command:

[oracle@localhost] sqlplus scott/tiger
sqlplus> select * from emp;
sqlplus> select * from salgrade;
sqlplus> quit

STARTING/STOPPING ORACLE PROCESSES

In order to allow oracle to start/stop using the dbstart and dbshut scripts you must modify the entry in /var/opt/oracle/oratab. Change the N in the last column for Y, and save your changes.

  • To Start all the oracle processes perform:
    [oracle@localhost] $ORACLE_HOME/Apache/Apache/bin/apachectl start
    [oracle@localhost] lsnrctl start
    [oracle@localhost] dbstart
  • To stop all oracle processes, perform:
    [oracle@localhost] dbshut
    [oracle@localhost] lsnrctl stop
    [oracle@localhost] $ORACLE_HOME/Apache/Apache/bin/apachectl stop

    RUNNING ORACLE PROCESSES

    • Oracle database processes:
      [oracle@localhost] ps -fu oracle | grep ora_
      oracle 15908     1  0 15:38:46 ?        0:00 ora_smon_jptest
      oracle 15900     1  0 15:38:46 ?        0:00 ora_pmon_jptest
      oracle 15902     1  0 15:38:46 ?        0:00 ora_dbw0_jptest
      oracle 15906     1  0 15:38:46 ?        0:00 ora_ckpt_jptest
      oracle 15922     1  0 15:38:46 ?        0:00 ora_d000_jptest
      oracle 15912     1  0 15:38:46 ?        0:00 ora_snp0_jptest
      oracle 15916     1  0 15:38:46 ?        0:00 ora_snp2_jptest
      oracle 15920     1  0 15:38:46 ?        0:00 ora_s000_jptest
      oracle 15918     1  0 15:38:46 ?        0:00 ora_snp3_jptest
      oracle 15910     1  0 15:38:46 ?        0:00 ora_reco_jptest
      oracle 15914     1  0 15:38:46 ?        0:00 ora_snp1_jptest
      oracle 15904     1  0 15:38:46 ?        0:00 ora_lgwr_jptest
    • Oracle WebServer processes:
      [oracle@localhost] ps -fu oracle | egrep "(httpd|java)"
      	oracle 15950 15944  0 15:40:22 ?        0:00 java
      	oracle 15945 15943  0 15:40:20 ?        0:00 httpd -d /jp/u0...  		
      	oracle 15949 15943  0 15:40:20 ?        0:00 httpd -d /jp/u0... 
    • Oracle TNs/Client Listener:
      [oracle@localhost] ps -efa | grep tnslsnr
      oracle 15849 15847  0 15:25:26 pts/2    0:00 -ksh
      oracle 15964     1  0 15:43:30 ?        0:00 tnslsnr LISTEN ...

that's all folks!