如何删除ODI工作组件库表SNP_EXP_TXT中的内容?
适用于:
Oracle Data Integrator – Version:10.1.3.2.0
此文档中的信息适用于任何平台。
目标
当进行手动删除或者使用ODI日志清除工具时,SNP_EXP_TXT表中的记录数只有少量下降。
如何删除SNP_EXP_TXT中的内容来防止此表的过大?
解决方案
当从ODI Operator中手动删除Session时,对应在记录并没有像期望的那样从SNP_EXP_TXT中被删除。
SNP_EXP_TXT表用于储存
1. 指令相关信息
l 所有Session, Step 和任务警告与错误信息(包括阻塞Session开始的信息)
l Session参数与关键字
l Session变量的默认值与当前值
l 情景的执行报告
2. 方案设置相关信息
l 方案变量的默认值与当前值
l 方案储存文件夹,情景与变量描述字段
3. 文本类型变量
l 文本类型变量的历史值
如果要求删除与特定的情景中运行的记录,请参阅:
Note:424661.1 How To Manually Delete A Scenario And Its Related Reports In The ODI Repository With SQL
如何删除与指令有关信息?
使用SQL脚本来删除Session相关的ODI消息、变量和参数。
delete from <w_schema>.SNP_EXP_TXT
where I_TXT in (select I_TXT_VAR from <w_schema>.SNP_VAR_SCEN where SCEN_NO = <id>);
update <w_schema>.SNP_VAR_SCEN
set I_TXT_VAR = null
where SCEN_NO = <id>;
delete from <w_schema>.SNP_EXP_TXT
where I_TXT in (select I_TXT_DEF_T from <w_schema>.SNP_VAR_SCEN where SCEN_NO = <id>);
update <w_schema>.SNP_VAR_SCEN
set I_TXT_DEF_T = null
where SCEN_NO = <id>;
SQL scripts to delete Scenario description (comments):
delete from <w_schema>.SNP_EXP_TXT
where I_TXT in (select I_TXT_SCEN from <w_schema>.SNP_SCEN where SCEN_NO = <id>);
update <w_schema>.SNP_SCEN
set I_TXT_SCEN = null
where SCEN_NO = <id>;
SQL scripts to delete Scenario Folder description (comments):
delete from <w_schema>.SNP_EXP_TXT
where I_TXT in (select I_TXT_DESCRIPTION from <w_schema>.SNP_SCEN_FOLDER where I_SCEN_FOLDER = <folder_id>);
update <w_schema>.SNP_SCEN_FOLDER
set I_TXT_DESCRIPTION = null
where I_SCEN_FOLDER = <folder_id>;
如何删除文本类型变量相关信息?
SQL scripts to delete the values of "Text" type Variables:
delete from <w_schema>.SNP_EXP_TXT
where I_TXT in (select I_TXT_VAR_T from <w_schema>.SNP_VAR_DATA where VAR_NAME = <variable_name> and CONTEXT = <context_code>);
update <w_schema>.SNP_VAR_DATA
set I_TXT_VAR_T = null
where VAR_NAME = <variable_name> and CONTEXT = <context_code>;
Where:
<w_schema> Work组件库架构名字
<condition> Session删除判断依据
<id>Scenario内部标识符
<folder_id> Scenario文件夹内部标识符
<var_name> and <context_code> 变量名与上下文代码