oracle数据库CPU过高问题举例分析
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,本篇内容介绍了"oracle数据库CPU过高问题举例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2024年12月13日oracle数据库CPU过高问题举例分析
本篇内容介绍了"oracle数据库CPU过高问题举例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、环境准备
1、查看当前快照情况
SQL> select max(snap_id) from dba_hist_snapshot s; 28
2、手工生成一份快照
exec dbms_workload_repository.create_snapshot;
3、创建实验表
SQL> create sequence s_t3_id minvalue 1 maxvalue 9999999999 start with 1 increment by 1 cache 20 order;SQL> create table t3 (id number,name varchar2(20),created date);Table created.SQL> begin 2 for i in 1 .. 5000000 loop 3 insert into t3 values (s_t3_id.Nextval,dbms_random.string('u', 10),sysdate); 4 end loop; 5 end; 6 /SQL> create sequence s_t4_id minvalue 1 maxvalue 9999999999 start with 1 increment by 1 cache 20 order;SQL> create table t4 (id number,name varchar2(20),created date);Table created.SQL> begin 2 for i in 1 .. 3000000 loop 3 insert into t4 values (s_t4_id.Nextval,dbms_random.string('u', 10),sysdate); 4 end loop; 5 end; 6 /SQL> select * from scott.t3 where name=dbms_random.string('u', 10);no rows selectedSQL> select * from scott.t4 where name=dbms_random.string('u', 10);no rows selected
4、手工生成快照
exec dbms_workload_repository.create_snapshot;
至此,模拟问题出现时的快照区间为29-30
二、使用SPA进行分析
begin 2 dbms_sqltune.create_sqlset( 3 sqlset_name=>'cpu_test', 4 description => 'High cpu read tuning set'); 5 end; 6 /PL/SQL procedure successfully completed.SQL> declare 2 base_cur dbms_sqltune.sqlset_cursor; 3 begin 4 open base_cur for 5 select value(x) from table(DBMS_SQLTUNE.select_workload_repository(29,30,NULL,NULL,'cpu_time',NULL,NULL,NULL,10)) x; 6 -- 7 dbms_sqltune.load_sqlset(sqlset_name=>'cpu_test',populate_cursor => base_cur); 8 end; 9 /PL/SQL procedure successfully completed.SQL> variable sts_task VARCHAR2(64);SQL> EXEC :sts_task :=DBMS_SQLPA.CREATE_ANALYSIS_TASK(sqlset_name=>'cpu_test',order_by=>'cpu_time',description=>'process workload ordered by cpu_time');PL/SQL procedure successfully completed.SQL> EXEC DBMS_SQLPA.execute_analysis_task(task_name=>:sts_task,execution_params=>dbms_advisor.arglist('TIME_LIMIT','1800'));PL/SQL procedure successfully completed.SQL> set serveroutput onSQL> set heading offSQL> set pagesize 2000SQL> set long 20000SQL> spool compare_report.htmlSQL> select DBMS_SQLPA.report_analysis_task(:sts_task,'HTML','ALL','ALL') from dual;SQL> spool off
查看生产的HTML文件,可看到时间范围内运行的所有sql的信息
"oracle数据库CPU过高问题举例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
快照
问题
分析
数据
数据库
内容
情况
手工
更多
知识
生成
实用
学有所成
接下来
信息
区间
困境
实际
文件
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学习软件开发需要多久
mc的服务器编号
网络安全与治理漫谈
用spss建立数据库
做软件开发的公司有哪些名称
网络安全警察工作内容
易语言这么读入注册项数据库
java连数据库语句
access数据库绑定不了
软件开发代码保护虚拟化部署
区块链通信软件开发
服务器返回信息时间
失落的方舟数据库连接失败
如何在网络安全模式上网
四川移动的服务器ip 虚拟主机
什么是职业的软件开发者
中国人民共国网络安全法
山东任性网络技术有限公司
迁安媒体网络技术售后保障
网络安全执行规范要求中
合肥软件开发培训排名
mysql分库查询数据库
服务器运行不能正常启动
不同局域网共享服务器
网络安全诗歌两句
我的世界假人攻击服务器软件
数据库名为mytest
command查询数据库
网络安全数字认证
计算机网络技术与弱电