易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle全文索引之datastore_3_FILE_DATASTORE

DATASTORE是FILE_DATASTORE的测试
[oracle@rhel140 ~]$ cat OUTPUT.TXT
ORACLE
oracle
[oracle@rhel140 LOG]$ cat EMPXT_000_2012_2680.LOG
SOURCE
ABC
SQL> conn myuser/myuser
Connected.
SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));
Table created.
SQL> INSERT INTO T VALUES (1, 'OUTPUT.TXT');
1 row created.
SQL> commit;
Commit complete.
SQL> BEGIN
2 CTX_DDL.CREATE_PREFERENCE('TEST_FILE', 'FILE_DATASTORE');
3 CTX_DDL.SET_ATTRIBUTE('TEST_FILE', 'PATH', '/home/oracle');
4 END;
5 /
PL/SQL procedure successfully completed.
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS ('DATASTORE TEST_FILE'); 2
Index created.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'ORACLE') > 0;
ID DOCS
---- --------------------
1 OUTPUT.TXT
需要注意的是在建立PREFERENCE的PATH属性时不能用客户端的目录和文件,一定是服务器端的目录和文件,
我用WINDOWS的目录时,在dr$index_error中就会出现下面的错误
SQL> select * from ctxsys.dr$index_error;
ERR_IDX_ID ERR_TIMES ERR_TEXTKEY
---------- --------- ------------------
ERR_TEXT
--------------------------------------------------------------------------------
1181 13-MAY-09 AAAM52AAEAAAAGkAAA
DRG-11513: unable to open or write to file /home/oracle/OUTPUT.TXT
SQL> INSERT INTO T VALUES (2, 'LOG/EMPXT_000_2012_2680.LOG');
1 row created.
SQL> commit;
Commit complete.
SQL> exec CTX_DDL.SYNC_INDEX('IND_T_DOCS');
PL/SQL procedure successfully completed.
SQL> SELECT * from T WHERE CONTAINS(DOCS, 'SOURCE') > 0;
no rows selected
Oracle似乎只支持在FILE_DATASTORE中设置的路径中进行搜索,即使像上面这个例子中第2条记录,文档存储在
指定路径下的子目录中,这种情况也是没有办法进行索引的。
如果将文件位置从/home/oracle/LOG挪到/home/oracle目录下,则可以进行索引:
SQL> host mv /home/oracle/LOG/EMPXT_000_2012_2680.LOG /home/oracle
SQL> UPDATE T SET DOCS = 'EMPXT_000_2012_2680.LOG' WHERE ID = 2;
1 row updated.
SQL> COMMIT;
Commit complete.
SQL&g


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

oracle截取字符串的函数substr

语法:
substr( string, start_position, [ length ] )
取子字符串,从start_position开始,取length个,length为可选,如果length为空则返回start_position后的所有字符。
实例:
    substr('This is a test', 6, 2)          would return 'is'
 &nbs ......

Oracle 10g 特性: 通过备份实现可传输表空间

Oracle 10g 特性: 通过备份实现可传输表空间
Oracle8i 中引入的可传输表空间为实现更快的跨数据库数据传输提供了迫切需要的支持。使用此特性,您可以只导出表空间的元数据、传输数据文件并将转储文件导出到目标数据库主机以及导入元数据以将表空间“插入”到目标数据库中。该表空间中的数据在目标数据库中随即可 ......

ORACLE JOB 汇总

一。job的运行频率设置
1.每天固定时间运行,比如早上8:10分钟:Trunc(Sysdate+1) + (8*60+10)/24*60
2.Toad中提供的:
每天:trunc(sysdate+1)
每周:trunc(sysdate+7)
每月:trunc(sysdate+30)
每个星期日:next_day(trunc(sysdate),'SUNDAY')
每天6点:trunc(sysdate+1)+6/24
半个小时:sysdate+30/1440
3.每个 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号