0

是否有人查询 Oracle Application Express (APEX) 视图以列出使用插件的所有组件?我希望获得与插件利用率报告有些相似但跨应用程序的结果。

在此处输入图像描述

4

2 回答 2

0

这是您可以轻松弄清楚的事情。有一个名为的视图apex_dictionary列出了所有顶点视图的详细信息。

步骤1

找出哪些视图中有一个包含字符串“PLUGIN”的列,而不是实际的插件视图。插件视图在视图名称中有字符串“PLUGIN”。

select apex_view_name, column_name from apex_dictionary where column_name LIKE '%PLUGIN%' AND apex_view_name not like '%PLUGIN%';

这将为您提供几个具有插件列的视图:

在此处输入图像描述

第2步

每个顶点视图的查询。例如:

select application_id, page_id, process_name, process_type_plugin_name  from APEX_APPLICATION_PAGE_PROC where (PROCESS_TYPE_PLUGIN_NAME IS NOT NULL AND PROCESS_TYPE_PLUGIN_NAME NOT LIKE 'NATIVE%');

where 子句可能需要微调一下:

  • APEX 在内部大量使用插件架构,您必须将其过滤掉才能仅获取应用程序使用的插件
  • 只选择您关心的工作区/应用程序。
于 2022-01-19T08:31:27.253 回答
0

这是我为查找插件引用/利用率而构建的查询。它不包括方案类型插件。

WITH COMPONENTS_USING_PLUGINS AS
(
 (
  SELECT
   APPLICATION_ID,PAGE_ID,ITEM_NAME COMPONENT_NAME,'Item Type' PLUGIN_TYPE, DISPLAY_AS_CODE PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_ITEMS WHERE DISPLAY_AS_CODE LIKE 'PLUGIN%'
 )
 UNION ALL
 (
  SELECT
   APPLICATION_ID,PAGE_ID,REGION_NAME COMPONENT_NAME,'Region Type' PLUGIN_TYPE, SOURCE_TYPE_CODE PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_REGIONS WHERE SOURCE_TYPE_CODE LIKE 'PLUGIN%'
 )
 UNION ALL
 (
  SELECT
   APPLICATION_ID,PAGE_ID,DYNAMIC_ACTION_NAME COMPONENT_NAME,'Dynamic Action' PLUGIN_TYPE, ACTION_CODE PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_DA_ACTS WHERE ACTION_CODE LIKE 'PLUGIN%'
 )
 UNION ALL
 (
  SELECT
   APPLICATION_ID,PAGE_ID,PROCESS_NAME COMPONENT_NAME,'Process Type' PLUGIN_TYPE, PROCESS_TYPE_PLUGIN_NAME PLUGIN_NAME
  FROM
   APEX_APPLICATION_PAGE_PROC WHERE PROCESS_TYPE_PLUGIN_NAME LIKE 'PLUGIN%'
 )
)
于 2022-01-19T15:48:52.373 回答