Install Oracle 8.1.7
Skip this page if you're not interested in Oracle
NOTE: This document
was originally written based on Oracle, version 8.1.6. However, the
same approach should lead to a successful installation of Oracle
8.1.7. If you encounter any incompatibilities, please let us know
NOTE: We've not yet tested
OpenACS &version; under Oracle 9i
NOTE: This document assumes that
you'll be installing Oracle on the same box as AOLServer. For more
details on a remote Oracle installation, see Daryl Biberdorf's document.
Acquire Oracle 8.1.7 Enterprise Edition
You can obtain the software through a variety of methods (You'll need
to become a member of technet.oracle.com, which is
free):
Order a CD from the Oracle
Store. The cost is currently $39.95 for a 30-day
evaluation copy with delivery estimated between 3-4 business
days.
Download the software from the
Oracle Downloads page.
Oracle 8.1.7 now comes with a Java RunTime
Environment built-in to the distribution, so you no longer
have to download and install it separately.
After the download is complete, untar the file
to a convenient location. To do this, you will need to login
and cd to the directory where the archive is.
$ cd /directory/where/oracle/is
$ tar -xvf oracle81701.tar
It used to be possible to get a free CD by mail, but
I can no longer find the link for that option.
Things to Keep in Mind
Throughout these instructions, we will refer to a number of
configurable settings and advise certain defaults. With the exception
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 .
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.
Login as a non-root user and start X by typing
startx
joeuser:~$ startx
Open a terminal window type and login as root
joeuser:~$ su -
Password: ***********
root:~#
Create and setup the oracle
group and oracle account
We need to create a user oracle,
which is used to install the product, as well as starting and
stopping the database.
root:~# groupadd dba
root:~# groupadd oinstall
root:~# groupadd oracle
root:~# useradd -g dba -G oinstall,oracle -m oracle
root:~# passwd oracle
You will be prompted for the New Password and Confirmation of
that password.
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 directory.
Note: the Oracle install needs
about 1 GB free on /ora8 to
install successfully.
root:~# mkdir /ora8
root:/ora8# cd /ora8
root:/ora8# mkdir -p m01 m02 m03/oradata/ora8
root:/ora8# chown -R oracle.dba /ora8
root:/ora8# exit
Set up the oracle user's
environment
Log in as the user
oracle by typing the
following:
joeuser:~$ su - oracle
Password: ********
Use a text editor to edit the
.bash_profile file in the
oracle account home
directory.
oracle:~$ emacs .bash_profile
You may get this error trying to start emacs:
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'.
Also use the `xhost' program to verify that it is set to permit
connections from your machine.
If so, open a new terminal window and do the following:
joeuser:~$ xhost +localhost
Now, back in the oracle terminal:
oracle:~$ export DISPLAY=localhost:0.0
oracle:~$ emacs .bash_profile
Try this procedure anytime you get an Xlib connection refused
error.
Add the following lines (substituting your
Oracle version number as needed) to
.bash_profile:
export ORACLE_BASE=/ora8/m01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=ora8
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
umask 022
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
any lines like the following
# NLS_LANG=american
# export NLS_LANG
These lines will change the Oracle date settings and will break
OpenACS since OpenACS depends on the ANSI date format, YYYY-MM-DD
dates.
Log out as oracle
oracle:~$ exit
Log back in as oracle and double
check that your environment variables are as intended. The
env command lists all of the
variables that are set in your environment, and
grep shows you just the lines
you want (those with ORA in it).
oracle:~$ su - oracle
oracle:~$ env | grep ORA
If it worked, you should see:
ORACLE_SID=ora8
ORACLE_BASE=/ora8/m01/app/oracle
ORACLE_TERM=vt100
ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.7
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
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
evaluated.
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
PATH statement above to
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
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
If you are installing Oracle from a CD-ROM, it is located in
the install/linux path from
the cd-rom mount point
oracle:~$ su - root
root:~# mount -t iso9660 /dev/cdrom /mnt/cdrom
root:~# exit
oracle:~$ cd /mnt/cdrom
If you are installing from the tarball, the install script is
located in the Oracle8iR2
directory that was created when you expanded the archive.
oracle:~$ cd /where/oracle/Disk1
Check to make sure the file is there.
oracle:/where/oracle/Disk1$ ls
doc index.htm install runInstaller stage starterdb
If you don't see
runInstaller, you are in the
wrong directory.
Run the installer
oracle:/where/oracle/Disk1$ ./runInstaller
A window will open that welcomes you to the 'Oracle Universal
Installer' (OUI). Click on
"Next"
The "File Locations" screen in the OUI:
"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"
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
Click "Next" (a pop up window will display Loading
Product information).
The "Unix Group Name" screen in the OUI:
The Unix Group name needs to be set to
'oinstall' ( we made
this Unix group earlier ).
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
running the script below
joueser:~$ su -
root:~# ln -s /usr/bin/awk /bin/awk
Open a new terminal window, then type:
joeuser:~$ su -
root:~# cd /ora8/m01/app/oracle/product/8.1.7
root:~# ./orainstRoot.sh
; You should see:
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
root:~# mkdir -p /usr/local/java
root:~# exit
joeuser:~$ exit
Click "Retry"
The "Available Products" screen in the OUI:
Select "Oracle 8i Enterprise Edition 8.1.7.1.0"
Click "Next"
The "Installation Types" screen
Select the "Custom" installation type.
Click "Next"
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.
Click "Next"
A progress bar will appear for about 1 minute.
The "Component Locations" screen in the OUI
Click on the "Java Runtime Environment 1.1.8" It
should have the path
"/ora8/m01/app/oracle/jre/1.1.8"
Click "Next"
A progress bar will appear for about 1 minute.
The "Privileged Operation System Groups" screen in the
OUI
Enter "dba" for "Database Administrator
(OSDBA) Group"
Enter "dba" for the "Database Operator
(OSOPER) Group"
Click "Next"
A progress bar will appear for about 1 minute.
The "Authentication Methods" screen
Click "Next"
The next screen is "Choose JDK home directory"
Keep the default path: /usr/local/java
Click "Next"
The "Create a Database" screen in the OUI
Select "No" as we will do this later, after some
important configuration changes.
Click "Next"
The next screen is "Oracle Product Support"
TCP should be checked with "Status" listed as
Required
Click "Next"
The "Summary" screen in the OUI
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.
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
end of the installation asking you to run a script as
root
Run the script.
joeuser:~$ su -
Password: *********
root:~# /ora8/m01/app/oracle/product/8.1.7/root.sh
; You should see the following.
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
# /ora8/m01/app/oracle/product/8.1.7/root.sh
Running Oracle8 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /ora8/m01/app/oracle/product/8.1.7
ORACLE_SID= ora8
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Press ENTER here to accept default of /usr/local/bin
Creating /etc/oratab file...
Entry will be added to the /etc/oratab file by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
IMPORTANT NOTE: Please delete any log and trace files previously
created by the Oracle Enterprise Manager Intelligent
Agent. These files may be found in the directories
you use for storing other Net8 log and trace files.
If such files exist, the OEM IA may not restart.
Do not follow the instructions on deleting trace
and log files, it is not necessary.
root:~# exit
joeuser:~$ exit
Go back to the pop-up window and click "OK"
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"
Make sure the "Perform Typical installation" is
not selected.
Click "Next"
The "Directory Service Access" screen in the
"Net 8 Configuration Assistant"
Select "No"
Click "Next"
The "Listener Configuration, Listener Name" screen in
the "Net 8 Configuration Assistant"
Accept the default listener name of "LISTENER"
Click "Next"
The "Listener Configuration, Select
Protocols" screen in the "Net 8 Configuration
Assistant"
The only choice in "Select protocols:" should be
"TCP/IP"
Click "Next"
The "Listener Configuration TCP/IP Protocol" screen in
the "Net 8 Configuration Assistant"
Default Port should be 1521 and selected.
Click "Next"
The "Listener Configuration, More Listeners" screen in
the "Net 8 Configuration Assistant"
Select "No"
Click "Next"
The "Listener Configuration Done" screen in the
"Net 8 Configuration Assistant"
Click "Next"
The "Naming Methods Configuration" screen
in the "Net 8 Configuration Assistant"
Select "No"
Click "Next"
The "Done" screen in the "Net 8 Configuration
Assistant"
Click "Finish"
The "End of Installation" screen in the OUI
Click "Exit"
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
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.
Make sure you are running X. Open up a terminal and
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
Configuration Agent (ODCA)
Select "Create a database"
Click "Next"
The "Select database type" screen in the ODCA
Select "Custom"
Click "Next"
The "Primary Database Type" window in ODCA
Select "Multipurpose"
Click "Next"
The "concurrent users" screen of the ODCA
Select "60" concurrent users.
Click "Next"
Select "Dedicated Server
Mode", click
"Next"
Accept all of the options, and click
"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
"Next".
Accept the defaults for the next screen (control file
location). Click
"Next"
Go to the "temporary" and
"rollback" tabs, and change the Size
(upper-right text box) to
150MB. Click
"Next"
Increase the redo log sizes to
10000K each. Click
"Next"
Use the default checkpoint interval & timeout. Click
"Next"
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"
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"
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
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
the database initialization script (run when the db loads). The
scripts are kept in
$ORACLE_HOME/dbs and the name of
the script is usually
initSID.ora
where SID is the SID of your
database. Assuming your
$ORACLE_HOME matches our default
of
/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
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.
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
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
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.
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
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.
Eventually, you'll be returned to your shell prompt. In the
meantime, relax, you've earned it.
Acceptance Test
For this step, open up a terminal and
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.
It's available here and at http://philip.greenspun.com/wtr/oracle/acceptance-sql.txt.
Save the file to /tmp
In the oracle shell, copy the file.
oracle:~$ cp /tmp/acceptance-sql.txt /tmp/acceptance.sql
Once you've got the acceptance test file all set, stay in
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
Oracle instance is not running. You can manually start it as
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
something you'll remember):
SQL> alter user system identified by alexisahunk;
SQL> alter user sys identified by alexisahunk;
SQL> alter user ctxsys identified by alexisahunk;
Verify that your date settings are correct.
SQL> select sysdate from dual;
If you don't see a date that fits the format
YYYY-MM-DD, please read .
At this point we are going to hammer your database with an
intense acceptance test. This usually takes around 30 minutes.
SQL> @ /tmp/acceptance.sql
; A bunch of lines will scroll by. You'll know if the test worked if
; you see this at the end:
SYSDATE
----------
2000-06-10
SQL>
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 above. You
can set the parameter using the
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
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
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
/tmp. Then, as
oracle, do the following:
oracle:~$ cp /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
database at start. Edit the file
/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)
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
/tmp. Then login as
root and install the
script. (Debian users: substitute
/etc/init.d for
/etc/rc.d/init.d throughout
this section)
oracle:~$ su -
root:~# cp /tmp/oracle8i.txt /etc/rc.d/init.d/oracle8i
root:~# chown root.root /etc/rc.d/init.d/oracle8i
root:~# chmod 700 /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)
root:~# /etc/rc.d/init.d/oracle8i stop
Oracle 8i auto start/stop
Shutting Oracle8i:
Oracle Server Manager Release 3.1.6.0.0 - Production
Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SVRMGR> Connected.
SVRMGR> Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR>
Server Manager complete.
Database "ora8" shut down.
root:~# /etc/rc.d/init.d/oracle8i start
Oracle 8i auto start/stop
Starting Oracle8i:
SQL*Plus: Release 8.1.6.0.0 - Production on Sat Jun 10 17:56:02 2000
(c) Copyright 1999 Oracle Corporation. All rights reserved.
SQL> Connected to an idle instance.
SQL> ORACLE instance started.
Total System Global Area 85004272 bytes
Fixed Size 69616 bytes
Variable Size 76374016 bytes
Database Buffers 8388608 bytes
Redo Buffers 172032 bytes
Database mounted.
Database opened.
SQL> Disconnected
Database "ora8" warm started.
If it worked, then run these commands to make the startup and
shutdown automatic.
Red Hat users:
root:~# cd /etc/rc.d/init.d/
root:~# chkconfig --add oracle8i
root:~# chkconfig --list oracle8i
; You should see:
oracle8i 0:off 1:off 2:off 3:on 4:on 5:on 6:off
Debian users:
root:~# update-rc.d oracle8i defaults
Adding system startup for /etc/init.d/oracle8i ...
/etc/rc0.d/K20oracle8i -> ../init.d/oracle8i
/etc/rc1.d/K20oracle8i -> ../init.d/oracle8i
/etc/rc6.d/K20oracle8i -> ../init.d/oracle8i
/etc/rc2.d/S20oracle8i -> ../init.d/oracle8i
/etc/rc3.d/S20oracle8i -> ../init.d/oracle8i
/etc/rc4.d/S20oracle8i -> ../init.d/oracle8i
/etc/rc5.d/S20oracle8i -> ../init.d/oracle8i
You also need some scripts to automate startup and shutdown of
the Oracle8i listener. The listener is a name server that allows
your Oracle programs to talk to local and remote databases using
a standard naming convention. It is required for Intermedia Text
and full site search.
Download these three scripts into
/tmp
startlsnr.txt
stoplsnr.txt
listener8i.txt
Now issue the following commands (still as
root).
root:~# su - oracle
oracle:~$ cp /tmp/startlsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
oracle:~$ cp /tmp/stoplsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr
oracle:~$ chmod 700 /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
oracle:~$ chmod 700 /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr
oracle:~$ exit
root:~# cp /tmp/listener8i.txt /etc/rc.d/init.d/listener8i
root:~# cd /etc/rc.d/init.d
root:/etc/rc.d/init.d# chmod 700 listener8i
Test the listener automation by running the following commands
and checking the output.
root:/etc/rc.d/init.d# ./listener8i stop
Oracle 8i listener start/stop
Shutting down Listener for 8i:
LSNRCTL for Linux: Version 8.1.6.0.0 - Production on 10-JUN-2000 18:28:49
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
The command completed successfully
# ./listener8i start
Oracle 8i listener start/stop
Starting the Listener for 8i:
LSNRCTL for Linux: Version 8.1.6.0.0 - Production on 10-JUN-2000 18:28:52
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
Starting /ora8/m01/app/oracle/product/8.1.7/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 8.1.6.0.0 - Production
System parameter file is /ora8/m01/app/oracle/product/8.1.7/network/admin/listener.ora
Log messages written to /ora8/m01/app/oracle/product/8.1.7/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 8.1.6.0.0 - Production
Start Date 10-JUN-2000 18:28:53
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /ora8/m01/app/oracle/product/8.1.7/network/admin/listener.ora
Listener Log File /ora8/m01/app/oracle/product/8.1.7/network/log/listener.log
Services Summary...
PLSExtProc has 1 service handler(s)
ora8 has 1 service handler(s)
The command completed successfully
This test will verify that the listener is operating
normally. Login into the database using the listener naming
convention.
sqlplus
username/password/@SID
root:~# su - oracle
oracle:~$ sqlplus system/alexisahunk@ora8
SQL> select sysdate from dual;
SYSDATE
----------
2000-06-10
SQL> exit
oracle:~$ exit
root:~#
RedHat users:
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.
root:~# update-rc.d listener8i defaults 21 19
Adding system startup for /etc/init.d/listener8i ...
/etc/rc0.d/K19listener8i -> ../init.d/listener8i
/etc/rc1.d/K19listener8i -> ../init.d/listener8i
/etc/rc6.d/K19listener8i -> ../init.d/listener8i
/etc/rc2.d/S21listener8i -> ../init.d/listener8i
/etc/rc3.d/S21listener8i -> ../init.d/listener8i
/etc/rc4.d/S21listener8i -> ../init.d/listener8i
/etc/rc5.d/S21listener8i -> ../init.d/listener8i
Test the automation
As a final test, reboot your computer and make sure Oracle comes
up. You can do this by typing
root:~# /sbin/shutdown -r -t 0 now
Log back in and ensure that Oracle started automatically.
joeuser:~$ su - oracle
oracle:~$ sqlplus system/alexisahunk@ora8
SQL> exit
Congratulations, your installation of Oracle 8.1.7 is
complete.
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'.
To fix this, you should include the following line in
$ORACLE_HOME/dbs/initSID.ora
or for the default case,
$ORACLE_HOME/dbs/initora8.ora
nls_date_format = "YYYY-MM-DD"
You test whether this solved the problem by firing up
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,
everything is still fine. The problem here is that
sqlplus is simply truncating the
output. You can fix this by typing:
SQL> column sysdate format a15
SQL> select sysdate from dual;
If the date does not conform to this format, double-check that you
included the necessary line in the init scripts. If it still
isn't working, make sure that you have restarted the database
since adding the line if you didn't do it prior to database
creation.
If you're sure that you have restarted the database since adding
the line, check your initialization scripts. Make sure that the
following line is not included:
export nls_lang = american
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:
export nls_date_format = 'YYYY-MM-DD'
Log back in again. If adding the
nls_date_format line doesn't
help, you can ask for advice in our OpenACS forum.
Useful Procedures
Dropping a tablespace
Run sqlplus as the dba:
oracle:~$ sqlplus system/changeme
To drop a user and all of the tables and data owned by that
user:
SQL> drop user oracle_user_name cascade;
To drop the tablespace: This will delete everything in the
tablespace overriding any referential integrity
constraints. Run this command only if you want to clean out
your database entirely.
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.
Variable
Value
Reason
ORACLE_HOME
/ora8/m01/app/oracle/product/8.1.7
This is the default Oracle installation directory.
ORACLE_SERVICE
ora8
The service name is a domain-qualified identifier for
your Oracle server.
ORACLE_SID
ora8
This is an identifier for your Oracle server.
ORACLE_OWNER
oracle
The user who owns all of the oracle files.
ORACLE_GROUP
dba
The special oracle group. Users in the dba group are
authorized to do a connect
internal within
svrmgrl to gain full system
access to the Oracle system.
($Id: oracle.xml,v 1.4 2002/03/03 01:27:08 rmello Exp $)