Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -r1.42 -r1.42.4.1 --- openacs-4/packages/acs-core-docs/www/oracle.html 17 Jul 2006 05:38:31 -0000 1.42 +++ openacs-4/packages/acs-core-docs/www/oracle.html 3 Feb 2008 12:07:40 -0000 1.42.4.1 @@ -1,12 +1,13 @@ -Install Oracle 8.1.7

Install Oracle 8.1.7

By Vinod Kurup

+ +Install Oracle 8.1.7

Install Oracle 8.1.7

By Vinod Kurup

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

If you are installing PostGreSQL instead of Oracle, skip this section.

- OpenACS 5.2.3rc1 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. See Andrew Piskorski's Oracle 9i notes for guidance. + OpenACS 5.4.0 will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues. See Andrew Piskorski's Oracle 9i notes for guidance.

- This installation guide attempts to present all of the information necessary to complete an OpenACS installation. We try hard to make all of the steps possible in one pass, rather than having a step which amounts to "go away and develop a profound understanding of software X and then come back and, in 99% of all cases, type these two lines." The exception to our rule is Oracle production systems. This page describes a set of steps to get a working Oracle development server, but it is unsuitable for production systems. If you will be using OpenACS on Oracle in a production environment, you will experience many problems unless you develop a basic understanding of Oracle which is outside the scope of this document. T + This installation guide attempts to present all of the information necessary to complete an OpenACS installation. We try hard to make all of the steps possible in one pass, rather than having a step which amounts to "go away and develop a profound understanding of software X and then come back and, in 99% of all cases, type these two lines." The exception to our rule is Oracle production systems. This page describes a set of steps to get a working Oracle development server, but it is unsuitable for production systems. If you will be using OpenACS on Oracle in a production environment, you will experience many problems unless you develop a basic understanding of Oracle which is outside the scope of this document. T

This document assumes that you'll be installing Oracle on the same @@ -16,7 +17,7 @@

Useful links to find help on how to set up Oracle under Linux are:

Acquire Oracle

+ Roger's company - on Oracle on Linux

  • Werner Puschitz - Oracle on Red Hat Linux

  • SuSE/Oracle Support matrix

  • Acquire Oracle

    Production Oracle systems should run on certified platforms. Follow the metalink note 223718.1to find certified platforms. If you don't have @@ -46,7 +47,7 @@ To be able to download a patchset, you need a (to-pay-for) account on Metalink. You may find the appropriate patchset by following Andrew's suggestion. -

    Things to Keep in Mind

    +

    Things to Keep in Mind

    Oracle is very well-documented software, the online documentation comes with printable PDFs and full-text search. Altogether there is more than 20.000 pages of documentation, so do not expect to understand Oracle @@ -66,7 +67,7 @@ of passwords, we advise you to follow these defaults unless you know what you are doing. Subsequent documents will expect that you used the defaults, so a change made here will necessitate further changes - later. For a guide to the defaults, please see the section called “Defaults”. + later. For a guide to the defaults, please see Section�, “Defaults”.

    In order for OpenACS to work properly you need to set the environment @@ -82,25 +83,25 @@ umask 022

     open_cursors = 500
    -nls_date_format = "YYYY-MM-DD"

    +nls_date_format = "YYYY-MM-DD"

    For additional resources/documentation, please see this thread and Andrew Piskorski's mini-guide. -

    Pre-Installation Tasks

    +

    Pre-Installation Tasks

    Though Oracle 8.1.7 has an automated installer, we still need to perform several manual, administrative tasks before we can launch it. You must perform all of these steps as the - root user. We recommend entering the - X window system as a normal user and then doing a su - -. This command gives you full root access. + root user. We recommend entering the + X window system as a normal user and then doing a su + -. This command gives you full root access.

    • Login as a non-root user and start X by typing - startx + startx

       [joeuser ~]$ startx

      @@ -116,12 +117,12 @@

    • - Create and setup the oracle - group and oracle account + Create and setup the oracle + group and oracle account

      - We need to create a user oracle, + We need to create a user oracle, which is used to install the product, as well as starting and stopping the database. @@ -139,13 +140,13 @@ Setup the installation location for Oracle. While Oracle can reside in a variety of places in the file system, OpenACS has - adopted /ora8 as the base + adopted /ora8 as the base directory.

      - Note: the Oracle install needs - about 1 GB free on /ora8 to + Note: the Oracle install needs + about 1 GB free on /ora8 to install successfully.

      @@ -155,22 +156,22 @@
       root:/ora8# chown -R oracle.dba /ora8
       root:/ora8# exit
    • - Set up the oracle user's + Set up the oracle user's environment

      • Log in as the user - oracle by typing the + oracle by typing the following:

         [joeuser ~]$ su - oracle
         Password: ********
      • Use a text editor to edit the - .bash_profile file in the - oracle account home + .bash_profile file in the + oracle account home directory.

        @@ -179,7 +180,7 @@
                       You may get this error trying to start emacs: 
         
                     

        -Xlib: connection to ":0.0" refused by server
        +Xlib: connection to ":0.0" refused by server
         Xlib: Client is not authorized to connect to Server
         emacs: Cannot connect to X server :0.
         Check the DISPLAY environment variable or use `-d'.
        @@ -204,7 +205,7 @@
         
                       Add the following lines (substituting your
                       Oracle version number as needed) to
        -              .bash_profile:
        +              .bash_profile:
         
                     

         export ORACLE_BASE=/ora8/m01/app/oracle
        @@ -217,14 +218,14 @@
         
         umask 022

        - Save the file by typing CTRL-X - CTRL-S and then exit by typing - CTRL-X - CTRL-C. Alternatively, use the menus. + Save the file by typing CTRL-X + CTRL-S and then exit by typing + CTRL-X + CTRL-C. Alternatively, use the menus.

      - Make sure that you do not add + Make sure that you do not add any lines like the following

      @@ -242,11 +243,11 @@
               

       [oracle ~]$ exit
    • - Log back in as oracle and double + Log back in as oracle and double check that your environment variables are as intended. The - env command lists all of the + env command lists all of the variables that are set in your environment, and - grep shows you just the lines + grep shows you just the lines you want (those with ORA in it).

      @@ -263,47 +264,47 @@
       ORA_NLS33=/ora8/m01/app/oracle/product/8.1.7/ocommon/nls/admin/data

      If not, try adding the files to - ~/.bashrc instead of - .bash_profile. Then logout and + ~/.bashrc instead of + .bash_profile. Then logout and log back in again. Also, be certain you are doing - su - oracle and not just - su oracle. The - - means that - .bashrc and - .bash_profile will be + su - oracle and not just + su oracle. The + - means that + .bashrc and + .bash_profile will be evaluated.

      - Make sure that /bin, - /usr/bin, and - /usr/local/bin are in your path + Make sure that /bin, + /usr/bin, and + /usr/local/bin are in your path by typing:

       [oracle ~]$ echo $PATH
       /bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/oracle/bin:/ora8/m01/app/oracle/product/8.1.7/bin

      If they are not, then add them to the - .bash_profile by changing the + .bash_profile by changing the PATH statement above to - PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin + PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin -

    Installing Oracle 8.1.7 Server

    • - Log in as oracle and +

    Installing Oracle 8.1.7 Server

    • + Log in as oracle and start X if not already running. Start a new terminal:

       [joeuser ~]$ xhost +localhost
       [joeuser ~]$ su - oracle
       Password: **********
       [oracle ~]$ export DISPLAY=localhost:0.0
    • - Find the runInstaller script + Find the runInstaller script

      • If you are installing Oracle from a CD-ROM, it is located in - the install/linux path from + the install/linux path from the cd-rom mount point

        @@ -313,7 +314,7 @@
         [oracle ~]$ cd /mnt/cdrom
      • If you are installing from the tarball, the install script is - located in the Oracle8iR2 + located in the Oracle8iR2 directory that was created when you expanded the archive.

        @@ -326,7 +327,7 @@
         doc  index.htm  install  runInstaller  stage  starterdb

        If you don't see - runInstaller, you are in the + runInstaller, you are in the wrong directory.

      • @@ -338,72 +339,72 @@ A window will open that welcomes you to the 'Oracle Universal Installer' (OUI). Click on - "Next" + "Next"

        Note

        Some people have had trouble with this step on RedHat 7.3 and 8.0. If so, try the following steps before calling - ./runInstaller: + ./runInstaller:

        1. Execute the following command: - /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh + /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh

        2. - Type export LD_ASSUME_KERNEL=2.2.5 + Type export LD_ASSUME_KERNEL=2.2.5

      • - The "File Locations" screen in the OUI: + The "File Locations" screen in the OUI:

        • - "Source" path should have been - prefilled with "(wherever you mounted the - CDROM)/stage/products.jar" + "Source" path should have been + prefilled with "(wherever you mounted the + CDROM)/stage/products.jar"

        • - "destination" path says - "/ora8/m01/app/oracle/product/8.1.7" + "destination" path says + "/ora8/m01/app/oracle/product/8.1.7"

          If the destination is not correct it is because your environment variables are not set properly. Make sure you - logged on as oracle using - su - oracle. If so, edit the - ~/.bash_profile as you - did in the section called “Pre-Installation Tasks” + logged on as oracle using + su - oracle. If so, edit the + ~/.bash_profile as you + did in Section�, “Pre-Installation Tasks”

        • - Click "Next" (a pop up window will display Loading + Click "Next" (a pop up window will display Loading Product information).

      • - The "Unix Group Name" screen in the OUI: + The "Unix Group Name" screen in the OUI:

        • The Unix Group name needs to be set to - 'oinstall' ( we made + 'oinstall' ( we made this Unix group earlier ).

        • - Click "Next" + Click "Next"

        • A popup window appears instantly, requesting you to run a script as root: -

          • +

            • Debian users need to link - /bin/awk to - /usr/bin/awk before + /bin/awk to + /usr/bin/awk before running the script below

               [joueser ~]$ su -
              @@ -418,119 +419,119 @@
               [root ~]# mkdir -p /usr/local/java
               [root ~]# exit
               [joeuser ~]$ exit
            • - Click "Retry" + Click "Retry"

          • - The "Available Products" screen in the OUI: + The "Available Products" screen in the OUI:

            • - Select "Oracle 8i Enterprise Edition 8.1.7.1.0" + Select "Oracle 8i Enterprise Edition 8.1.7.1.0"

            • - Click "Next" + Click "Next"

          • - The "Installation Types" screen + The "Installation Types" screen

            • - Select the "Custom" installation type. + Select the "Custom" installation type.

            • - Click "Next" + Click "Next"

          • - The "Available Product Components" screen + The "Available Product Components" screen

            • - In addition to the defaults, make sure that "Oracle SQLJ - 8.1.7.0," "Oracle Protocol Support 8.1.7.0.0," and - "Linux Documentation 8.1.7.0.0" are also checked. + In addition to the defaults, make sure that "Oracle SQLJ + 8.1.7.0," "Oracle Protocol Support 8.1.7.0.0," and + "Linux Documentation 8.1.7.0.0" are also checked.

            • - Click "Next" + Click "Next"

            • A progress bar will appear for about 1 minute.

          • - The "Component Locations" screen in the OUI + The "Component Locations" screen in the OUI

            • - Click on the "Java Runtime Environment 1.1.8" It + Click on the "Java Runtime Environment 1.1.8" It should have the path - "/ora8/m01/app/oracle/jre/1.1.8" + "/ora8/m01/app/oracle/jre/1.1.8"

            • - Click "Next" + Click "Next"

            • A progress bar will appear for about 1 minute.

          • - The "Privileged Operation System Groups" screen in the + The "Privileged Operation System Groups" screen in the OUI

            • - Enter "dba" for "Database Administrator - (OSDBA) Group" + Enter "dba" for "Database Administrator + (OSDBA) Group"

            • - Enter "dba" for the "Database Operator - (OSOPER) Group" + Enter "dba" for the "Database Operator + (OSOPER) Group"

            • - Click "Next" + Click "Next"

            • A progress bar will appear for about 1 minute.

          • - The "Authentication Methods" screen + The "Authentication Methods" screen

            • - Click "Next" + Click "Next"

          • - The next screen is "Choose JDK home directory" + The next screen is "Choose JDK home directory"

            • - Keep the default path: /usr/local/java + Keep the default path: /usr/local/java

            • - Click "Next" + Click "Next"

          • - The "Create a Database" screen in the OUI + The "Create a Database" screen in the OUI

            • - Select "No" as we will do this later, after some + Select "No" as we will do this later, after some important configuration changes.

            • - Click "Next" + Click "Next"

          • - The next screen is "Oracle Product Support" + The next screen is "Oracle Product Support"

            • - TCP should be checked with "Status" listed as + TCP should be checked with "Status" listed as Required

            • - Click "Next" + Click "Next"

          • - The "Summary" screen in the OUI + The "Summary" screen in the OUI

            • - Check the "Space Requirements" section to verify + Check the "Space Requirements" section to verify you have enough disk space for the install.

            • - Check that "(144 products)" is in the "New - Installations" section title. + Check that "(144 products)" is in the "New + Installations" section title.

            • - Click "Install" + Click "Install"

            • A progress bar will appear for about 20 - 30 minutes. Now is a good time to take a break.

            • - A "Setup Privileges" window will popup towards the + A "Setup Privileges" window will popup towards the end of the installation asking you to run a script as - root + root

            • Run the script. Switch to the oracle user first to set the environment appropriately and then do - su to get root privileges, while keeping + su to get root privileges, while keeping the oracle user's enviroment.

               [joeuser ~]$ su - oracle
              @@ -551,7 +552,7 @@
               
               Enter the full pathname of the local bin directory: [/usr/local/bin]: 
               
              -Press ENTER here to accept default of /usr/local/bin
              +Press ENTER here to accept default of /usr/local/bin
                     
               
               Creating /etc/oratab file...
              @@ -569,93 +570,93 @@
                           

             [root ~]# exit
             [joeuser ~]$ exit
          • - Go back to the pop-up window and click "OK" + Go back to the pop-up window and click "OK"

          • - The "Configuration Tools" screen in the OUI + The "Configuration Tools" screen in the OUI

            • This window displays the config tools that will automatically be launched.

          • - The "Welcome" screen in the "net 8 Configuration - Assistant" + The "Welcome" screen in the "net 8 Configuration + Assistant"

            • - Make sure the "Perform Typical installation" is - not selected. + Make sure the "Perform Typical installation" is + not selected.

            • - Click "Next" + Click "Next"

            • - The "Directory Service Access" screen in the - "Net 8 Configuration Assistant" + The "Directory Service Access" screen in the + "Net 8 Configuration Assistant"

            • - Select "No" + Select "No"

            • - Click "Next" + Click "Next"

          • - The "Listener Configuration, Listener Name" screen in - the "Net 8 Configuration Assistant" + The "Listener Configuration, Listener Name" screen in + the "Net 8 Configuration Assistant"

            • - Accept the default listener name of "LISTENER" + Accept the default listener name of "LISTENER"

            • - Click "Next" + Click "Next"

          • - The "Listener Configuration, Select - Protocols" screen in the "Net 8 Configuration - Assistant" + The "Listener Configuration, Select + Protocols" screen in the "Net 8 Configuration + Assistant"

            • - The only choice in "Select protocols:" should be - "TCP/IP" + The only choice in "Select protocols:" should be + "TCP/IP"

            • - Click "Next" + Click "Next"

          • - The "Listener Configuration TCP/IP Protocol" screen in - the "Net 8 Configuration Assistant" + The "Listener Configuration TCP/IP Protocol" screen in + the "Net 8 Configuration Assistant"

            • Default Port should be 1521 and selected.

            • - Click "Next" + Click "Next"

          • - The "Listener Configuration, More Listeners" screen in - the "Net 8 Configuration Assistant" + The "Listener Configuration, More Listeners" screen in + the "Net 8 Configuration Assistant"

            • - Select "No" + Select "No"

            • - Click "Next" + Click "Next"

          • - The "Listener Configuration Done" screen in the - "Net 8 Configuration Assistant" + The "Listener Configuration Done" screen in the + "Net 8 Configuration Assistant"

            • - Click "Next" + Click "Next"

          • - The "Naming Methods Configuration" screen - in the "Net 8 Configuration Assistant" + The "Naming Methods Configuration" screen + in the "Net 8 Configuration Assistant"

            • - Select "No" + Select "No"

            • - Click "Next" + Click "Next"

          • - The "Done" screen in the "Net 8 Configuration - Assistant" + The "Done" screen in the "Net 8 Configuration + Assistant"

            • - Click "Finish" + Click "Finish"

          • - The "End of Installation" screen in the OUI + The "End of Installation" screen in the OUI

            • - Click "Exit" + Click "Exit"

            • - Click "Yes" on the confirmation pop up window. + Click "Yes" on the confirmation pop up window.

            • The Oracle Universal Installer window should have disappeared!

          Congratulations, you have just installed Oracle 8.1.7 Server! However, you still need to create a database which can take about an hour of non-interactive time, so don't quit yet. -

        Creating the First Database

        +

        Creating the First Database

        This step will take you through the steps of creating a customized database. Be warned that this process takes about an hour on a Pentium II with 128 MB of RAM. -

        Note

        RedHat 7.3 and 8.0 users: Before running dbassist, do the following.

        1. +

          Note

          RedHat 7.3 and 8.0 users: Before running dbassist, do the following.

          1. Download the glibc - patch from Oracle Technet into /var/tmp. + patch from Oracle Technet into /var/tmp.

          2. cd $ORACLE_HOME

          3. @@ -664,165 +665,165 @@ ./setup_stubs

          • Make sure you are running X. Open up a terminal and - su to oracle and then run the - dbassist program. + su to oracle and then run the + dbassist program.

             [joeuser ~]$ xhost +localhost
             [joeuser ~]$ su - oracle
             Password: *********
             [oracle ~]$ export DISPLAY=localhost:0.0
             [oracle ~]$ dbassist
          • - The "Welcome" screen in the Oracle Database + The "Welcome" screen in the Oracle Database Configuration Agent (ODCA)

            • - Select "Create a database" + Select "Create a database"

            • - Click "Next" + Click "Next"

          • - The "Select database type" screen in the ODCA + The "Select database type" screen in the ODCA

            • - Select "Custom" + Select "Custom"

            • - Click "Next" + Click "Next"

          • - The "Primary Database Type" window in ODCA + The "Primary Database Type" window in ODCA

            • - Select "Multipurpose" + Select "Multipurpose"

            • - Click "Next" + Click "Next"

          • - The "concurrent users" screen of the ODCA + The "concurrent users" screen of the ODCA

            • - Select "60" concurrent users. + Select "60" concurrent users.

            • - Click "Next" + Click "Next"

          • - Select "Dedicated Server - Mode", click - "Next" + Select "Dedicated Server + Mode", click + "Next"

          • Accept all of the options, and click - Next Oracle Visual + Next Oracle Visual Information Retrieval may be grayed out. If so, you can ignore it; just make sure that everything else is checked.

          • - For "Global Database Name", enter - "ora8"; for - "SID", also enter - "ora8" (it should do - this automatically). Click "Change - Character Set and select - UTF8. Click - "Next". + For "Global Database Name", enter + "ora8"; for + "SID", also enter + "ora8" (it should do + this automatically). Click "Change + Character Set and select + UTF8. Click + "Next".

          • Accept the defaults for the next screen (control file location). Click - "Next" + "Next"

          • - Go to the "temporary" and - "rollback" tabs, and change the Size + Go to the "temporary" and + "rollback" tabs, and change the Size (upper-right text box) to - 150MB. Click - "Next" + 150MB. Click + "Next"

          • Increase the redo log sizes to - 10000K each. Click - "Next" + 10000K each. Click + "Next"

          • Use the default checkpoint interval & timeout. Click - "Next" + "Next"

          • - Increase "Processes" - to 100; - "Block Size" to - 4096 (better for small Linux + Increase "Processes" + to 100; + "Block Size" to + 4096 (better for small Linux boxes; use 8192 for a big Solaris machine).

          • Accept the defaults for the Trace File Directory. Click - "Next" + "Next"

          • - Finally, select "Save information to a shell - script" and click - "Finish" (We're + Finally, select "Save information to a shell + script" and click + "Finish" (We're going to examine the contents of this file before creating our database.)

          • - Click the "Save" + Click the "Save" button. Oracle will automatically save it to the correct directory and with the correct file name. This will likely be - /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib/sqlora8.sh + /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib/sqlora8.sh

          • It will alert you that the script has been saved successfully.

          • Now we need to customize the database configuration a bit. While - still logged on as oracle, edit + still logged on as oracle, edit the database initialization script (run when the db loads). The scripts are kept in - $ORACLE_HOME/dbs and the name of + $ORACLE_HOME/dbs and the name of the script is usually - initSID.ora + initSID.ora where SID is the SID of your database. Assuming your - $ORACLE_HOME matches our default + $ORACLE_HOME matches our default of - /ora8/m01/app/oracle/product/8.1.7, + /ora8/m01/app/oracle/product/8.1.7, the following will open the file for editing.

             [oracle ~]$ emacs /ora8/m01/app/oracle/product/8.1.7/dbs/initora8.ora
          • Add the following line to the end:

            -nls_date_format = "YYYY-MM-DD"
          • - Now find the open_cursors line +nls_date_format = "YYYY-MM-DD"

          • + Now find the open_cursors line in the file. If you're using - emacs scroll up to the top of - the buffer and do CTRL-S and - type open_cursors to find the - line. The default is 100. Change - it to 500. + emacs scroll up to the top of + the buffer and do CTRL-S and + type open_cursors to find the + line. The default is 100. Change + it to 500.

             open_cursors = 500
          • - Save the file. In emacs, do CTRL-X - CTRL-S to save followed by - CTRL-X CTRL-C to exit or use + Save the file. In emacs, do CTRL-X + CTRL-S to save followed by + CTRL-X CTRL-C to exit or use the menu.

          • At this point, you are ready to initiate database creation. We recommend shutting down X to free up some RAM unless you have 256 MB of RAM or more. You can do this quickly by doing a - CRTL-ALT-BACKSPACE, but make + CRTL-ALT-BACKSPACE, but make sure you have saved any files you were editing. You should now be returned to a text shell prompt. If you get sent to a graphical login screen instead, switch to a virtual console by doing - CRTL-ALT-F1. Then login as - oracle. + CRTL-ALT-F1. Then login as + oracle.

          • Change to the directory where the database creation script is and run it:

             [oracle ~]$ cd /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib
             oracle:/ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib$ ./sqlora8.sh

            In some instances, Oracle will save the file to - /ora8/m01/app/oracle/product/8.1.7/assistants/dbca + /ora8/m01/app/oracle/product/8.1.7/assistants/dbca Try running the script there if your first attempt does not succeed.

          • Your database will now be built. It will take > 1 hour - no fooling. You will see lots of errors scroll by (like: - "ORA-01432: public synonym to be dropped does not - exist") Fear not, this is normal. + "ORA-01432: public synonym to be dropped does not + exist") Fear not, this is normal.

            Eventually, you'll be returned to your shell prompt. In the meantime, relax, you've earned it. -

        Acceptance Test

        +

    Acceptance Test

    For this step, open up a terminal and - su to - oracle as usual. You should be + su to + oracle as usual. You should be running X and Netscape (or other web browser) for this phase.

    • - You need to download the "Oracle Acceptance Test" file. + You need to download the "Oracle Acceptance Test" file. It's available here and at http://philip.greenspun.com/wtr/oracle/acceptance-sql.txt. - Save the file to /var/tmp + Save the file to /var/tmp

    • In the oracle shell, copy the file.

      @@ -831,15 +832,15 @@
                 your term and type the following:
               

       [oracle ~]$ sqlplus system/manager

      - SQL*Plus should startup. If you get an ORA-01034: - Oracle not Available error, it is because your + SQL*Plus should startup. If you get an ORA-01034: + Oracle not Available error, it is because your Oracle instance is not running. You can manually start it as - the oracle user.

      +          the oracle user.

       [oracle ~]$ svrmgrl
       SVRMGR> connect internal
       SVRMGR> startup
    • Now that you're into SQL*Plus, change the default passwords - for system, sys, and ctxsys to "alexisahunk" (or to + for system, sys, and ctxsys to "alexisahunk" (or to something you'll remember):

       SQL> alter user system identified by alexisahunk;
      @@ -849,7 +850,7 @@
               

       SQL> select sysdate from dual;

      If you don't see a date that fits the format - YYYY-MM-DD, please read the section called “Troubleshooting Oracle Dates”. + YYYY-MM-DD, please read Section�, “Troubleshooting Oracle Dates”.

    • At this point we are going to hammer your database with an intense acceptance test. This usually takes around 30 minutes. @@ -864,76 +865,76 @@ 2000-06-10 SQL>

      - Many people encounter an error regarding maximum - key length: + Many people encounter an error regarding maximum + key length:

       ERROR at line 1:
       ORA-01450: maximum key length (758) exceeded

      This error occurs if your database block size is wrong and is usually suffered by people trying to load OpenACS into a pre-existing database. Unfortunately, the only solution is to create a new database with a block size of at least - 4096. For instructions on how to - do this, see the section called “Creating the First Database” above. You + 4096. For instructions on how to + do this, see Section�, “Creating the First Database” above. You can set the parameter using the - dbassist program or by setting - the DB_BLOCK_SIZE parameter in + dbassist program or by setting + the DB_BLOCK_SIZE parameter in your database's creation script.

      If there were no errors, then consider yourself fortunate. Your Oracle installation is working. -

    Automating Startup & Shutdown

    +

    Automating Startup & Shutdown

    You will want to automate the database startup and shutdown process. It's probably best to have Oracle spring to life when you boot up your machine.

    • Oracle includes a script called - dbstart that can be used to + dbstart that can be used to automatically start the database. Unfortunately, the script shipped in the Linux distribution does not work out of the box. The fix is simple. Follow these directions to apply it. First, save dbstart to - /var/tmp. Then, as - oracle, do the following: + /var/tmp. Then, as + oracle, do the following:

       [oracle ~]$ cp /var/tmp/dbstart.txt /ora8/m01/app/oracle/product/8.1.7/bin/dbstart 
       [oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/dbstart
    • While you're logged in as - oracle, you should configure the - oratab file to load your + oracle, you should configure the + oratab file to load your database at start. Edit the file - /etc/oratab: + /etc/oratab:

      • You will see this line.

         ora8:/ora8/m01/app/oracle/product/8.1.7:N

        By the way, if you changed the service name or have multiple databases, the format of this file is:

        - service_name:$ORACLE_HOME:Y || N - (for autoload) + service_name:$ORACLE_HOME:Y || N + (for autoload)

      • - Change the last letter from "N" to - "Y". This tells Oracle that you want the database + Change the last letter from "N" to + "Y". This tells Oracle that you want the database to start when the machine boots. It should look like this.

         ora8:/ora8/m01/app/oracle/product/8.1.7:Y
      • Save the file & quit the terminal.

    • You need a script to automate startup and shutdown. Save oracle8i.txt in - /var/tmp. Then login as - root and install the + /var/tmp. Then login as + root and install the script. (Debian users: substitute - /etc/init.d for - /etc/rc.d/init.d throughout + /etc/init.d for + /etc/rc.d/init.d throughout this section)

       [oracle ~]$ su -
       [root ~]# cp /var/tmp/oracle8i.txt /etc/rc.d/init.d/oracle8i
       [root ~]# chown root.root /etc/rc.d/init.d/oracle8i
       [root ~]# chmod 755 /etc/rc.d/init.d/oracle8i
    • Test the script by typing the following commands and checking the - output. (Debian Users: as root, do mkdir - /var/lock/subsys first) + output. (Debian Users: as root, do mkdir + /var/lock/subsys first)

       [root ~]# /etc/rc.d/init.d/oracle8i stop
       Oracle 8i auto start/stop
      @@ -954,7 +955,7 @@
       ORACLE instance shut down.
       SVRMGR>
       Server Manager complete.
      -Database "ora8" shut down.
      +Database "ora8" shut down.
             
       [root ~]# /etc/rc.d/init.d/oracle8i start
       Oracle 8i auto start/stop
      @@ -975,9 +976,9 @@
       Database opened.
       SQL> Disconnected
       
      -Database "ora8" warm started.
      +Database "ora8" warm started.
       
      -Database "ora8" warm started.
    • +Database "ora8" warm started.

    • If it worked, then run these commands to make the startup and shutdown automatic.

      • Red Hat users:

        @@ -1042,7 +1043,7 @@
                   and full site search.
                 

        Download these three scripts into - /var/tmp + /var/tmp

        Now issue the following commands (still as - root). + root).

         [root ~]# su - oracle
         [oracle ~]$ cp /var/tmp/startlsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
        @@ -1111,8 +1112,8 @@
                   normally. Login into the database using the listener naming
                   convention.
                 

        - sqlplus - username/password/@SID + sqlplus + username/password/@SID

         [root ~]# su - oracle
         [oracle ~]$ sqlplus system/alexisahunk@ora8
        @@ -1126,15 +1127,15 @@
         SQL> exit
         [oracle ~]$ exit
         [root ~]#
        • RedHat users:

          - Now run chkconfig on the - listener8i script. + Now run chkconfig on the + listener8i script.

           [root ~]# cd /etc/rc.d/init.d/
           root:/etc/rc.d/init.d# chkconfig --add listener8i
           root:/etc/rc.d/init.d# chkconfig --list listener8i
           listener8i      0:off   1:off   2:off   3:on    4:on    5:on    6:off
        • Debian users:

          - Now run update-rc.d on the - listener8i script. + Now run update-rc.d on the + listener8i script.

           [root ~]# update-rc.d listener8i defaults 21 19
            Adding system startup for /etc/init.d/listener8i ...
          @@ -1159,30 +1160,30 @@
           SQL> exit

        Congratulations, your installation of Oracle 8.1.7 is complete. -

      Troubleshooting Oracle Dates

      +

      Troubleshooting Oracle Dates

      Oracle has an internal representation for storing the data based on the number of seconds elapsed since some date. However, for the purposes of inputing dates into Oracle and getting them back out, Oracle needs to be told to use a specific date format. By default, it uses an Oracle-specific format which isn't copacetic. You want Oracle to use the ANSI-compliant date format which is of form - 'YYYY-MM-DD'. + 'YYYY-MM-DD'.

      To fix this, you should include the following line in - $ORACLE_HOME/dbs/initSID.ora + $ORACLE_HOME/dbs/initSID.ora or for the default case, - $ORACLE_HOME/dbs/initora8.ora + $ORACLE_HOME/dbs/initora8.ora

      -nls_date_format = "YYYY-MM-DD"

      +nls_date_format = "YYYY-MM-DD"

      You test whether this solved the problem by firing up - sqlplus and typing: + sqlplus and typing:

       SQL> select sysdate from dual;

      You should see back a date like - 2000-06-02. If some of the date is - chopped off, i.e. like 2000-06-0, + 2000-06-02. If some of the date is + chopped off, i.e. like 2000-06-0, everything is still fine. The problem here is that - sqlplus is simply truncating the + sqlplus is simply truncating the output. You can fix this by typing:

       SQL> column sysdate format a15
      @@ -1209,13 +1210,13 @@
             Setting this environment variable will override the date
             setting. Either delete this line and login again or add the following
             entry to your login scripts after the
      -      nls_lang line:
      +      nls_lang line:
           

       export nls_date_format = 'YYYY-MM-DD'

      Log back in again. If adding the - nls_date_format line doesn't + nls_date_format line doesn't help, you can ask for advice in our OpenACS forums. -

      Useful Procedures

      • +

      Useful Procedures

      • Dropping a tablespace

        • Run sqlplus as the dba: @@ -1232,9 +1233,9 @@

           SQL> drop tablespace table_space_name including contents cascade constraints;

      For more information on Oracle, please consult the documentation. -

      Defaults

      We used the following defaults while installing Oracle.

      VariableValueReason
      ORACLE_HOME/ora8/m01/app/oracle/product/8.1.7This is the default Oracle installation directory.
      ORACLE_SERVICEora8The service name is a domain-qualified identifier for +

      Defaults

      We used the following defaults while installing Oracle.

      VariableValueReason
      ORACLE_HOME/ora8/m01/app/oracle/product/8.1.7This is the default Oracle installation directory.
      ORACLE_SERVICEora8The service name is a domain-qualified identifier for your Oracle server.
      ORACLE_SIDora8This is an identifier for your Oracle server.
      ORACLE_OWNERoracleThe user who owns all of the oracle files.
      ORACLE_GROUPdbaThe special oracle group. Users in the dba group are - authorized to do a connect - internal within - svrmgrl to gain full system + authorized to do a connect + internal within + svrmgrl to gain full system access to the Oracle system.
      ($Id$)
      View comments on this page at openacs.org