首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Db:查询Ctx_Ddl首选项

Oracle Db:查询Ctx_Ddl首选项
EN

Stack Overflow用户
提问于 2019-12-09 18:53:00
回答 1查看 800关注 0票数 0

在尝试操作上下文索引的存储参数时,我指定了一个名为mystore的新CTX首选项,如下所示:

代码语言:javascript
复制
DECLARE
   prefs_  VARCHAR2(20) := 'mystore';
BEGIN
   Ctx_Ddl.Drop_Preference (prefs_);
   Ctx_Ddl.Create_preference (prefs_, 'BASIC_STORAGE');
   Ctx_Ddl.Set_Attribute (prefs_, 'I_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M)'); 
   Ctx_Ddl.Set_Attribute (prefs_, 'K_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M)'); 
   Ctx_Ddl.Set_Attribute (prefs_, 'R_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M) lob (data) store as (cache)');
   Ctx_Ddl.Set_Attribute (prefs_, 'N_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M)');
   Ctx_Ddl.Set_Attribute (prefs_, 'I_INDEX_CLAUSE', 'tablespace TIX_TS storage (initial 1M) compress 2');
   Ctx_Ddl.Set_Attribute (prefs_, 'P_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M)');
   Ctx_Ddl.Set_Attribute (prefs_, 'S_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M)');
   Ctx_Ddl.Set_Attribute (prefs_, 'D_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M) LOB(DOC) STORE AS SECUREFILE (tablespace TIX_TS cache)');
   Ctx_Ddl.Set_Attribute (prefs_, 'O_TABLE_CLAUSE', 'tablespace TIX_TS storage (initial 1M) LOB(OFFSET_INFO) STORE AS SECUREFILE (tablespace TIX_TS cache)');
   Ctx_Ddl.Set_Attribute (prefs_, 'FORWARD_INDEX',  'YES');
   Ctx_Ddl.Set_Attribute (prefs_, 'SAVE_COPY',      'PLAINTEXT');
END;

上面的代码可以很好地工作,这样当我使用下面的DDL创建上下文索引时,关联的DR$表以及我已经关联到mystore句柄名称的所有其他设置都会在TIX_TS表空间中创建。

代码语言:javascript
复制
CREATE INDEX my_tix ON my_tab (text_id$) INDEXTYPE IS ctxsys.context PARAMETERS ('storage mystore')

我的问题是,如何对mystore的设置进行逆向工程?换句话说,假设我(或其他人)已经设置了名为mystore的属性的值,我如何查询这些属性以查看是否需要更新它们?

第二个级别的问题是问我如何知道要查询哪些设置?当然,我知道可以使用句柄为mystore的设置,因为我只是设置了它们。但是我怎么知道其他人设置了哪些句柄呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-10 00:54:58

正如@gsalem所指出的,下面的SQL为我们提供了定义的首选项的可见性:

代码语言:javascript
复制
select p.*, '' ">>>", v.*
from   ctx_preferences p
       INNER JOIN ctx_preference_values v
               ON v.prv_owner       = p.pre_owner
              AND v.prv_preference  = p.pre_name

显然,这就是问题的全部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59247322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档