本篇內(nèi)容介紹了“oracle數(shù)據(jù)庫CPU過高問題舉例分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)橫縣免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
一、環(huán)境準(zhǔn)備
1、查看當(dāng)前快照情況
SQL> select max(snap_id) from dba_hist_snapshot s; 28
2、手工生成一份快照
exec dbms_workload_repository.create_snapshot;
3、創(chuàng)建實驗表
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 selected SQL> select * from scott.t4 where name=dbms_random.string('u', 10); no rows selected
4、手工生成快照
exec dbms_workload_repository.create_snapshot;
至此,模擬問題出現(xiàn)時的快照區(qū)間為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 on SQL> set heading off SQL> set pagesize 2000 SQL> set long 20000 SQL> spool compare_report.html SQL> select DBMS_SQLPA.report_analysis_task(:sts_task,'HTML','ALL','ALL') from dual; SQL> spool off
查看生產(chǎn)的HTML文件,可看到時間范圍內(nèi)運行的所有sql的信息
“oracle數(shù)據(jù)庫CPU過高問題舉例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
本文題目:oracle數(shù)據(jù)庫CPU過高問題舉例分析
文章源于:http://www.rwnh.cn/article8/gpogop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)