zoukankan      html  css  js  c++  java
  • 使用全文检索的intermedia索引时遇到ORA03212问题的解决

    Bug系统中按反馈描述或处理情况的关键字查询,有时会找不到,但明明有这样的记录.
    后来,查到是因为该搜索使用了Oracle的intermedia索引,该索引需要定期重建和收集,但自动任务失效了.

    查到那个执行失败的过程,手工执行时出现了如下错误:
    ORA-03212 : Temporary Segment Cannot Be Created In Locally-Managed Tablespace
    进一步查到是ctx_ddl.sync_index同步索引时出错,
    估计是上次转换表空间为本地管理表空间后引起的问题,因为同步全文索引要使用临时段,可能当前用户的临时表空间是本地管理的.
    于是上matalink查到Doc ID:  Note:131716.1
    Create temporary segment(s) in a permanent locally managed tablespace is not allowed.

    也就是说,不能在本地管理的永久性表空间上创建临时段.

    找到intermedia的用户CTXSYS,查到它的表空间
    Select Temporary_Tablespace From Dba_Users Where Username = 'CTXSYS'
    再查他的表空间类型:
    Select Extent_Management From Dba_Tablespaces Where Tablespace_Name = 'DRSYS'

    果然是这样,那么,指定CTXSYS的临时表空间为其它的临时表空间可以吗,例如:Temp
    ALTER USER CTXSYS TEMPORARY Tablespace TEMP;

    然后,重新登录再运行,果然就正常了.(不重新登录的话,运行会出错)

    最后,经过近10分钟的intermedia索引收集与同步,Bug系统中的搜索功能就能准确的搜到目标了,
    不过,这个自动任务是每天执行一次,当天的需要次日才生效.

  • 相关阅读:
    利用Redis和Flask维护一个通用爬虫代理池
    在scrapy_splash中加载本地Cookies
    Splash对接Scrapy
    Selenium和pymongo的简单复习
    Scrapy框架
    web.xml is missing and <failOnMissingWebXml> is set to true
    深入Mybatis配置文件
    SSH和SSM的比较
    classpath路径指什么
    数据库范式
  • 原文地址:https://www.cnblogs.com/zyk/p/419918.html
Copyright © 2011-2022 走看看