1.背景
通过APEX的报表查询情况,停止不再被查询的作业
2.思路
方法一:
1.apex自带的日志视图apex_workspace_activity_log里面只有二级菜单栏的统计次数
2.解析APX的.sql文件,找出来表和每个菜单栏对应的关系。或者使用apex的视图APEX_APPLICATION_PAGE_REGIONS里面二级菜单栏和表的对应关系
方法二:
1.查询oracle的查询历史记录,然后解析SQL,把表按照每次查询的pv统计。
2.解析APX的.sql文件,找出来表和每个菜单栏对应的关系。
3.实现步骤
方法一:
1.查询次数统计
-- 每一个页的查询次数
select
application_id
, page_id
, page_name
, count(1) as view_pv
from oracle_apex_workspace_activity_log
where dt = ${bizdate}
and application_id in (101,125)
and apex_user != 'nobody'
and to_char(VIEW_DATE,'yyyymmdd') = ${bizdate}
group by application_id
, page_id
, page_name
2.找出表和二级菜单栏的对应关系
import re
import pymysql
def read():
# 读取文件
f = open("f125.sql",encoding='utf-8')
lines = f.read()
prompt = lines.split('prompt')
regex = r"\w+(?=@)"
regex_page = r"(?<=application/pages/page_)\d+"
page=''
table=''
applicationid='125'
# 数据库不给连接,只好把语句打印出来,放在数据库里面执行了
# pymysql = MysqlClient("", "", "", "")
for pro in prompt: