Oracle is a powerful, tunable, scalable and reliable industrial RDBMS. It provides some functionalities which are absent in simple freeware RDBMS like MySQL and PostgresSQL, such as: transactions support, concurrency and consistency, data integrity, partitioning, replication, cost-based and rule-based optimizers, parallel execution, redo logs, RAW devices and many other features. Although Oracle is a very functional database, the additional qualities like reliability impose some overhead. In fact, providing many advantages Oracle has some disadvantages. For example great tenability requires more experienced DBA, redo logs support provide great reliability against instance and media failures but requires more efficient disk system. I think you should select Oracle as a database for DataparkSearch if you want to search through hundreds of megabytes or several gigabytes of information, reliability is one of the primary concerns, need high availability of the database, and you are ready to pay higher sums for hardware and Oracle DBA to achieve better quality of service.
In order to install DataparkSearch with Oracle RDBMS support you must ensure the following requirements:
Oracle8 Server must be properly installed on any computer accessible from the site where DataparkSearch are to be installed. See the documentation provided with your Oracle server.
Oracle client software and libraries must be installed on the site where you plan to install DataparkSearch. I strongly recommend to install utilities also, it help you to test the client and server accessibility.
glibc 2.0 or glibc 2.1. Oracle 8.0.5.X libraries are built for glibc 2.0.
Oracle versions:
Oracle 8.0.5.X
Operation systems:
Linux RedHat 6.1 (2.2.X + glibc 2.0)
Oracle Server may be ran on any platform supporting tcp/ip connections. I see no difficulties to port DataparkSearch Oracle driver to any commercial and freeware unix systems, any contribution is appreciated.
Oracle 8.0.5.X and Linux RedHat 6.1
./Configure --with-oracle8=oracle_home_dir make make install
If you have any troubles, try to put CC = i386-glibc20-linux-gcc in the src/Makefile, this is old version of gcc compiler for glibc 2.0.
Check whether Oracle Server and Oracle Client work properly.
First, try DataparkSearch service is accessible
[oracle@ant oracle]$ tnsping DataparkSearch 3 TNS Ping Utility for Linux: Version 8.0.5.0.0 - Production on 29-FEB-00 09:46:12 (c) Copyright 1997 Oracle Corporation. All rights reserved. Attempting to contact (ADDRESS=(PROTOCOL=TCP)(Host=ant.gpovz.ru)(Port=1521)) OK (10 msec) OK (0 msec) OK (10 msec)
Second, try to connect to Oracle Server with svrmgrl and check whether DataparkSearch tables were created
[oracle@ant oracle]$ svrmgrl command='connect scott/tiger@DataparkSearch' Oracle Server Manager Release 3.0.5.0.0 - Production (c) Copyright 1997, Oracle Corporation. All Rights Reserved. Oracle8 Release 8.0.5.1.0 - Production PL/SQL Release 8.0.5.1.0 - Production Connected. SVRMGR> SELECT table_name FROM user_tables; TABLE_NAME ------------------------------ DICT DICT10 DICT11 DICT12 DICT16 DICT2 DICT3 DICT32 DICT4 DICT5 DICT6 DICT7 DICT8 DICT9 PERFTEST ROBOTS STOPWORD TAB1 URL 19 rows selected.
Check the library paths in /etc/ld.so.conf
[oracle@ant oracle]$ cat /etc/ld.so.conf /usr/X11R6/lib /usr/lib /usr/i486-linux-libc5/lib /usr/lib/qt-2.0.1/lib /usr/lib/qt-1.44/lib /oracle8/app/oracle/product/8.0.5/lib
This file should contain line oracle_home_path/lib to ensure DataparkSearch will be able to open libclntsh.so, the shared Oracle Client library
Make symbolic link:
ln -s /oracle8/app/oracle/product/8.0.5/network/admin/tnsnames.ora /etc
Correct the indexer.conf file
You should specify
DBName
, DBUser
,
DBPass
in order that DataparkSearch can connect to
Oracle Server. DBName is the service name, it should have the same
name that was written to tnsnames.ora file,
DBUSer and DBPass are Oracle user and his password
correspondingly. You can run indexer now.
Setting up search.cgi
Copy the file /usr/local/dpsearch/bin/search.cgi to apache_root/cgi-bin/search.cgi. Then add two lines to apache's http.conf file:
SetEnv ORACLE_HOME /oracle8/app/oracle/product/8.0.5
PassEnv ORACLE_HOME
Correct the search.htm to provide DBName, DBUser, DBPass information. search.cgi should work now.