APEX日里面每个表的查询次数统计

本文介绍如何通过Apex报表查询日志和SQL文件解析,统计页面和表的访问频率,以及利用Oracle查询历史来识别不再活跃的作业。方法包括查询次数统计、APX视图关联、SQL解析和数据库操作,最终同步数据并优化工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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:
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值