statistic_level

本文详细介绍了Oracle数据库中STATISTICS_LEVEL参数的作用、默认值、修改方式以及不同设置对数据库性能和管理的影响,包括对各类系统统计信息的收集情况对比。
statistic_level
-------------------------------------------------------
Property <wbr><wbr><wbr><wbr><wbr> | <wbr><wbr> Description<br> Parameter type <wbr><wbr> | <wbr><wbr> String<br> Syntax<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> | <wbr><wbr><wbr> STATISTICS_LEVEL = { ALL | TYPICAL | BASIC }<br> Default value<wbr><wbr><wbr><wbr> | <wbr><wbr><wbr> TYPICAL<br> Modifiable<wbr><wbr><wbr><wbr><wbr><wbr><wbr> | <wbr><wbr><wbr> ALTER SESSION, ALTER SYSTEM<br> -----------------------------------------------------------<br><br> STATISTICS_LEVELspecifies the level of collection for database and operating<br> system statistics. The Oracle Database collects these statistics for a variety of purposes,<br> including making self-management decisions.<br> The default setting of TYPICALensures collection of all major statistics required for<br> database self-management functionality and provides best overall performance. The<br> default value should be adequate for most environments.<br> When the STATISTICS_LEVELparameter is set to ALL, additional statistics are added<br> to the set of statistics collected with the TYPICALsetting. The additional statistics are<br> timed OS statistics and plan execution statistics.<br><br> Setting the STATISTICS_LEVELparameter to BASIC disables the collection of many<br> of the important statistics required by Oracle Database features and functionality,<br> including:<br> ■ Automatic Workload Repository (AWR) Snapshots<br> ■ Automatic Database Diagnostic Monitor (ADDM)<br> ■ All server-generated alerts<br> ■ Automatic SGA Memory Management<br> ■ Automatic optimizer statistics collection<br> ■ Object level statistics<br> ■ End to End Application Tracing (V$CLIENT_STATS)<br> ■ Database time distribution statistics (V$SESS_TIME_MODELand V$SYS_TIME_<br> MODEL)<br> ■ Service level statistics<br> ■ Buffer cache advisory<br> ■ MTTR advisory<br> ■ Shared pool sizing advisory<br> ■ Segment level statistics<br> ■ PGA Target advisory<br> ■ Timed statistics<br> ■ Monitoring of statistics<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
-- 步骤 1: 创建临时表存储分组平均值 WITH daily_avg AS ( SELECT province_id,province_name,city_org_id,city_org_name,maintainer_id,maintainer_name,maintcrew_id,maintcrew_name,cust_type,ccflag,fc_gc_flag,org_level, AVG(cover_rate) AS avg_cover_rate -- 计算分组平均值 FROM analy.vs_cust_org_voltrate WHERE period_type = '01' -- 日数据 AND statistic_time like '%202509%' -- 2025年9月范围 GROUP BY province_id,province_name,city_org_id,city_org_name,maintainer_id,maintainer_name,maintcrew_id,maintcrew_name,cust_type,ccflag,fc_gc_flag,org_level -- 按指定字段分组 ) -- 步骤 2: 更新月数据 UPDATE analy.vs_cust_org_voltrat AS monthly SET COVER_RATE = daily_avg.avg_cover_rate -- 更新目标字段 FROM daily_avg WHERE monthly.period_type = '02' -- 月数据 AND monthly.statistic_time = '202509' -- 2025年9月 AND monthly.province_id = daily_avg.province_id -- 关联字段1 AND monthly.province_name = daily_avg.province_name; -- 关联字段2 AND monthly.city_org_id = daily_avg.city_org_id -- 关联字段3 AND monthly.city_org_name = daily_avg.city_org_name; -- 关联字段4 AND monthly.maintainer_id = daily_avg.maintainer_id -- 关联字段5 AND monthly.maintainer_name = daily_avg.maintainer_name; -- 关联字段6 AND monthly.maintcrew_id = daily_avg.maintcrew_id -- 关联字段7 AND monthly.maintcrew_name = daily_avg.maintcrew_name; -- 关联字段8 AND monthly.cust_type = daily_avg.cust_type -- 关联字段9 AND monthly.ccflag = daily_avg.ccflag; -- 关联字段10 AND monthly.fc_gc_flag = daily_avg.fc_gc_flag; -- 关联字段11 AND monthly.org_level = daily_avg.org_level; -- 关联字段12 执行后报错没有daily_avg表
10-10
import datetime import os import sys sys.path.append('./') import pymysql from pathlib import Path from datetime import timedelta,datetime import shutil # logging.basicConfig(format='%(asctime)s [%(levelname)s] %(module)s - %(funcName)s - %(lineno)s: %(message)s', # datefmt='%Y-%m-%d %H:%M:%S', level=print) # # logging.getLogger().handlers.clear() def run(doris_ip, doris_port, doris_http_port, doris_db, doris_user, doris_pwd,statistic_time): db_doris = pymysql.connect(host=doris_ip, user=doris_user, passwd=doris_pwd, db=doris_db, port=int(doris_port)) doris_cursor = db_doris.cursor() e_time_1 = statistic_time + ' ' + '16:00:00' load_time_1 = str(datetime.now() - timedelta(days=1)).split(".")[0] s_time_1 = load_time_1[0:10] + ' ' + '14:00:00' print("connect success.") sql = f""" SELECT file_name,statistic_time from count_info_defect where file_name not in ( select DISTINCT file_name from ods_defect_main_table te where file_time >%s and file_time <%s and fab = 'FAB10' ) and statistic_time > %s and data_type = 'defect' """ print(sql) doris_cursor.execute(sql,(s_time_1, e_time_1,statistic_time)) image_file_name_list = doris_cursor.fetchall() print(f"current not mapping list: {image_file_name_list}") for image_info in image_file_name_list: file_name = image_info[0] file_datetime = image_info[1] files = find_path(file_datetime, file_name) if len(files) == 0: # 往前找一天 last_day = file_datetime - timedelta(days=1) files = find_path(last_day, file_name) for file in files: target_path = os.path.join(parse_path, os.path.basename(file)) shutil.copy2(file, target_path) print(f"copy file from {file} to {target_path}") def find_path(date, file): date_str = date.strftime("%Y-%m-%d") search_path = os.path.join(back_path, date_str) print(f"search_path: {search_path}") path = Path(search_path) files = [str(file.resolve()) for file in path.rglob(f"*{file}*") if file.is_file()] files_str = '\n'.join(files) print(f"find files: {files_str}") return files if __name__ == '__main__': # 10.100.254.42 19030 18030 semi_de_yms_db semi Semi@200 2025-03-10 doris_ip = sys.argv[1] doris_port = sys.argv[2] doris_http_port = sys.argv[3] doris_db = sys.argv[4] doris_user = sys.argv[5] doris_pwd = sys.argv[6] statistic_time = sys.argv[7] back_path = "/nasdata/data_bak/defect" parse_path = f'/nasdata/ftp/daily_check/{statistic_time}/defect' os.makedirs(parse_path,exist_ok=True) print(f"start image mapping. {datetime.now()}") run(doris_ip, doris_port, doris_http_port, doris_db, doris_user, doris_pwd,statistic_time) print(f"end image mapping. {datetime.now()}") 解释分析这段代码
10-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值