• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在UNIX服務器上設置Oracle8i全文檢索

    發表于:2007-07-13來源:作者:點擊數: 標簽:
    由于工作需要,筆者在HP UX, Soralis 上面設置了Oracle Intermedia來實現全文檢索。目前已經投入實際使用。設置過程中有許多問題和經驗,拿來和大家交流。本文依據的是Oracle 8.1.6 和8.1.7兩個版本,不能保證適用于其他版本。 目前全文檢索功能幾乎所有主流
    由于工作需要,筆者在HP UX, Soralis 上面設置了Oracle Intermedia來實現全文檢索。目前已經投入實際使用。設置過程中有許多問題和經驗,拿來和大家交流。本文依據的是Oracle 8.1.6 和8.1.7兩個版本,不能保證適用于其他版本。 

    目前全文檢索功能幾乎所有主流數據庫都支持。此前筆者曾在sql server 2000上實現,感覺非常簡單,方便,但創建全文檢索索引的時間比較長,通常要十幾個小時。Oracle 的全文檢索建立和維護索引都要快得多,筆者的65萬記錄的一個表建立索引只需要20分鐘,同步一次只需要1分鐘。但設置就要復雜得多。 

    一.設置過程 

    1.首先,檢查你的數據庫是否安裝了intermedia 

    這可以通過檢查是否有ctxsys用戶和ctxapp角色(role). 如果沒有這個用戶和角色,意味著你的數據庫創建時未安裝intermedia功能。你必須修改數據庫以安裝這項功能。 

    修改過程: 

    運行 $ORACLE_HOME/bin/dbassist, 選擇'modify database', 然后在選擇數據庫功能時將j server 和 intermedia 都選上(安裝intermedia必須同時安裝jserver).強烈建議你在做這個改動前先備份整個數據庫。 



    2.設置extproc 

    Oracle 是通過所謂的‘外部調用功能’(external procedure)來實現intermedia的,因此正確地設置extproc是關鍵一步。 

    首先要配置listener 使它能監聽intermedia 調用的請求。你可以通過運行$ORACLE_HOME/bin.netassit 來進行配置,也可以手工修改配置文件:$ORACLE_HOME/network/admin/listener.ora ,然后重新啟動listener。下面以一個例子來講述如何手工修改配置文件。 

    打開listener.ora文件,在修改前,通常有如下內容(假定使用缺省listener): 

    LISTENER = 

    (DESCRIPTION = 

    (ADDRESS = (PROTOCOL = TCP)(HOST = MYDATABASE)(PORT = 1521)) 





    SID_LIST_LISTENER = 

    (SID_DESC = 

    (GLOBAL_DBNAME = mydatabase.world) 

    (ORACLE_HOME = /u01/app/oracle/product/8.1.6) 

    (SID_NAME = mydatabase) 





    這個listener還沒有配置extproc, 因此,需要為它增加對extproc的監聽,辦法就是分別增加description 和 sid_desc. 修改后的listner.ora 如下: 

    LISTENER = 

    (DESCRIPTION_LIST = 

    (DESCRIPTION = 

    (ADDRESS = (PROTOCOL = TCP)(HOST = MYDATABASE)(PORT = 1521)) 



    (DESCRIPTION = 

    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 







    SID_LIST_LISTENER = 

    (SID_LIST = 

    (SID_DESC = 

    (GLOBAL_DBNAME = mydatabase.world) 

    (ORACLE_HOME = /u01/app/oracle/product/8.1.6) 

    (SID_NAME = mydatabase) 



    (SID_DESC = 

    (PROGRAM = extproc) 

    (SID_NAME = PLSExtProc) 

    (ORACLE_HOME = /u01/app/oracle/product/8.1.6) 







    注意上面的host, global_dbname,sid_name,oracle_home應填寫你的數據庫的實際值,但program一項必須填寫extproc. 

    其次,要配置服務器端的tnsnames.ora文件。該文件的位置在$ORACLE_HOME/network/admin下面。同樣可以通過運行netasst來進行配置。 

    在tnsnames.ora文件中需要增加如下一項: 

    EXTPROC_CONNECTION_DATA,EXTPROC_CONNECTION_DATA.WORLD = 

    (DESCRIPTION = 

    (ADDRESS_LIST = 

    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 



    (CONNECT_DATA = 

    (SID = PLSExtProc) 





    注意其中,KEY 和SID必須與listener.ora中的key 和sid_name對應相同。 

    修改完成后,重新啟動listener (先用lsnrctl stop, 然后 lsnrctl start), 然后,使用tnsping 來測試一下是否配置正確: 

    tnsping extproc_connection_data 或者 

    tnsping extproc_connection_data.world,如果配置正確,會顯示: 

    Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)) OK(140毫秒) 

    否則請檢查你的上述兩個文件,并注意,在修改后一定要重新啟動listener,但并不需要重新啟動數據庫。  




      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>