Why Oracle?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, parralel 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 tunability requres 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 UdmSearch if you want to search through hundreds of megabytes or several gigabytes of information, reliability is one of the primary concerns, need high avalability of the database, and you are ready to pay higher sums for hardware and Oracle DBA to achive better quality of service.
Udmsearch+Oracle8 Installation RequirementsIn order to install Udmsearch with Oracle RDBMS support you must ensure the following requirements.
Currently supported/tested platformsOracle versions:
Compilation, Installation & Configuration
Oracle 8.0.5.X and Linux RedHat 6.1
./Configure --with-oracle8=oracle_home_dir make make install
Installation & Configuration
Check whether Oracle Server and Oracle Client work properly.
First, try udmsearch service is accessible
[oracle@ant oracle]$ tnsping udmsearch 3 TNS Ping Utility for Linux: Version 188.8.131.52.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 UdmSearch tables were created:
[oracle@ant oracle]$ svrmgrl command='connect scott/tiger@udmsearch' Oracle Server Manager Release 184.108.40.206.0 - Production (c) Copyright 1997, Oracle Corporation. All Rights Reserved. Oracle8 Release 220.127.116.11.0 - Production PL/SQL Release 18.104.22.168.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
This file should contain line oracle_home_path/lib to ensure UdmSearch will be able to open libclntsh.so, the shared Oracle Client library.[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
Correct the indexer.conf fileYou should specify DBName, DBUser, DBPass in order that UdmSearch can connect to Oracle Server. DBName is the service name, it should have the same name that was writen to 'tnsnames.ora' file, DBUSer and DBPass are Oracle user and his password correspondingly. You can run indexer now.
Setting up search.cgiCopy the file /usr/local/udmsearch/bin/search.cgi to apache_root/cgi-bin/search.cgi. Then add two lines to apache's http.conf file:
Correct the search.htm to provide DBName, DBUser, DBPass information. search.cgi should work now.SetEnv ORACLE_HOME /oracle8/app/oracle/product/8.0.5 PassEnv ORACLE_HOME
Notes to UdmSearch 3.0.7
Oracle native support seems to work well, although is not very fast and efficient. I plan to improve Oracle support to make it one of the primary choices for UdmSearch search engine.
Anton Zemlyanov, email@example.com