首頁 資料庫 mysql教程 分析Oracle生成Statpack步骤

分析Oracle生成Statpack步骤

Jun 07, 2016 pm 05:55 PM
oracle 步驟 配置

本文将介绍ORACLE配置STATSPACK步骤,需要了解更多的朋友可以参考下

1、telnet到远程的数据库服务器
CMD>telnet 远程数据库的IP
2、切换到数据库的用户
DQXXDBS01:/> su - oracle
3、用超级用户进入数据库
$ sqlplus "/as sysdba"
4、查看参数,是否可以用job(可以用job进行自动的收集Statpack Report的数据)
SQL> show parameter job_queue_processes
5、该参数可以收集操作系统的信息
SQL> show parameter timed_statistics
6、为了创建表空间,表空间的数据文件放在哪比较好
代码如下:
SQL> select file_name from dba_data_files;

7、查看哪个目录的空间比较大,确定perfstat表空间的数据文件的位置
$ df -g
8、创建表空间:
代码如下:
SQL> create tablespace perfstat datafile '/oracle/product/10.2.0/db_1/dbs/perfstat.dbf'size 500M;

--表空间用于存储快照时搜集的数据
9、创建Statspack需要的脚本
SQL> @:/oracle/product/10.2.0/db_1/rdbms/admin/spcreate.sql --"/oracle/product/10.2.0/db_1/rdbms/admin/"为脚本目录
运行该脚本后,输入perfstat_password、default_tablespace、temporary_tablespace
10、测试是否成功,生成数据库的一个快照
SQL> execute statspack.snap
11、再生成一个快照
SQL> execute statspack.snap
12、取两个快照之间时间段的Statspack报告
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/spreport.sql
输入生成Statspack报告的起始点和终止点,如上生成了两个时间点的快照,输入begin_snap:1和end_snap:2,然后输入生成快照的名称(如1.txt)
--备注:如果没有指定报告放置的位置,则该报告在启动sqlplus时所在的路径
13、用job进行定时产生Statspack的快照,便于收集数据(默认为1小时产生一个快照)
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/spauto.sql
14、删除历史数据
select max(snap_id) from stats$snapshot;--删除stats$snapshot表中的相应数据,其他表中的相应数据也会级连删除
delete from stats$snapshot where snap_id也可以通过执行sptrunc.sql该脚本直接删除这些统计表的信息
注意事项:
1、生成需要的Statspack之后,记住移除任务,查看任务:
SQL> select job, log_user, priv_user, last_date,next_date, interval from user_jobs;
2、移除生成Statspack快照的任务:
SQL> execute dbms_job.remove('41')
3、如果在运行spcreate.sql这个脚本出错的话,可以通过运行spdrop.sql这个脚本删除创建的对象,然后再执行spcreate.sql
4、运行spcreate.sql这个脚本后,可以查找相关的lis文件查看安装信息(在sqlplus默认路径下)
其他相关的一些脚本
1、spuexp.par脚本 --可用于导出statpack报告相关的数据的dmp,如下所示
exp userid=perfstat/fyzh parfile=spuexp.par
注意:spuexp.par文件必须在sqlplus登陆的当前路径。如登陆的sqlplus路径是C:\Documents and Settings\Administrator,
那么spuexp.par就要在该目录下,否则提示“LRM-00109: 无法打开参数文件 'spuexp.par'”
2、sprepsql.sql脚本 --用于根据给定的sql hash值生成sql报告
调整STATSPACK的收集门限
Statspack有两种类型的收集选项:
级别(level):控制收集数据的类型
门限(threshold):设置收集的数据的阈值.
1、级别(level)
Statspack共有三种快照级别,默认值是5
a.level 0: 一般性能统计.包括等待事件、系统事件、系统统计、回滚段统计、行缓存、SGA、会话、锁、缓冲池统计等等.
b.level 5: 增加SQL语句.除了包括level0的所有内容,还包括SQL语句的收集,收集结果记录在stats$sql_summary中.
c.level 10: 增加子锁存统计.包括level5的所有内容.并且还会将附加的子锁存存入stats$lathc_children中.在使用这个级别时需要慎重,建议在Oracle support的指导下进行.
可以通过statspack包修改缺省的级别设置
SQL> execute statspack.snap(i_snap_level=>0,i_modify_parameter=>'true');
如果你只是想本次改变收集级别,可以忽略i_modify_parameter参数.
SQL> execute statspack.snap(i_snap_level=>0);
2、快照门限
快照门限只应用于stats$sql_summary表中获取的SQL语句.
因为每一个快照都会收集很多数据,每一行都代表获取快照时数据库中的一个SQL语句,所以stats$sql_summary很快就会成为Statspack中最大的表.
门限存储在stats$statspack_parameter表中:
executions_th这是SQL语句执行的数量(默认值是100)
disk_reads_tn这是SQL语句执行的磁盘读入数量(默认值是1000)
parse_calls_th这是SQL语句执行的解析调用的数量(默认值是1000)
buffer_gets_th这是SQL语句执行的缓冲区获取的数量(默认值是10000)
任何一个门限值超过以上参数就会产生一条记录.
通过调用statspack.modify_statspack_parameter函数改变门限的默认值:
代码如下:
SQL>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000);
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1658
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1231
24
oracle打不開怎麼辦 oracle打不開怎麼辦 Apr 11, 2025 pm 10:06 PM

Oracle 打不開的解決辦法包括:1. 啟動數據庫服務;2. 啟動監聽器;3. 檢查端口衝突;4. 正確設置環境變量;5. 確保防火牆或防病毒軟件未阻止連接;6. 檢查服務器是否已關閉;7. 使用 RMAN 恢復損壞的文件;8. 檢查 TNS 服務名稱是否正確;9. 檢查網絡連接;10. 重新安裝 Oracle 軟件。

oracle游標關閉怎麼解決 oracle游標關閉怎麼解決 Apr 11, 2025 pm 10:18 PM

解決 Oracle 游標關閉問題的方法包括:使用 CLOSE 語句顯式關閉游標。在 FOR UPDATE 子句中聲明游標,使其在作用域結束後自動關閉。在 USING 子句中聲明游標,使其在關聯的 PL/SQL 變量關閉時自動關閉。使用異常處理確保在任何異常情況下關閉游標。使用連接池自動關閉游標。禁用自動提交,延遲游標關閉。

oracle怎麼循環創建游標 oracle怎麼循環創建游標 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循環可動態創建游標, 步驟為:1. 定義游標類型;2. 創建循環;3. 動態創建游標;4. 執行游標;5. 關閉游標。示例:可循環創建游標,顯示前 10 名員工姓名和工資。

oracle日誌寫滿怎麼辦 oracle日誌寫滿怎麼辦 Apr 12, 2025 am 06:09 AM

Oracle 日誌文件寫滿時,可採用以下解決方案:1)清理舊日誌文件;2)增加日誌文件大小;3)增加日誌文件組;4)設置自動日誌管理;5)重新初始化數據庫。在實施任何解決方案前,建議備份數據庫以防數據丟失。

甲骨文在商業世界中的作用 甲骨文在商業世界中的作用 Apr 23, 2025 am 12:01 AM

Oracle不僅是數據庫公司,還是雲計算和ERP系統的領導者。 1.Oracle提供從數據庫到雲服務和ERP系統的全面解決方案。 2.OracleCloud挑戰AWS和Azure,提供IaaS、PaaS和SaaS服務。 3.Oracle的ERP系統如E-BusinessSuite和FusionApplications幫助企業優化運營。

HDFS配置CentOS需要哪些步驟 HDFS配置CentOS需要哪些步驟 Apr 14, 2025 pm 06:42 PM

在CentOS系統上搭建Hadoop分佈式文件系統(HDFS)需要多個步驟,本文提供一個簡要的配置指南。一、前期準備安裝JDK:在所有節點上安裝JavaDevelopmentKit(JDK),版本需與Hadoop兼容。可從Oracle官網下載安裝包。環境變量配置:編輯/etc/profile文件,設置Java和Hadoop的環境變量,使系統能夠找到JDK和Hadoop的安裝路徑。二、安全配置:SSH免密登錄生成SSH密鑰:在每個節點上使用ssh-keygen命令

oracle數據庫怎麼停止 oracle數據庫怎麼停止 Apr 12, 2025 am 06:12 AM

要停止 Oracle 數據庫,請執行以下步驟:1. 連接到數據庫;2. 優雅關機數據庫(shutdown immediate);3. 完全關機數據庫(shutdown abort)。

oracle動態sql怎麼創建 oracle動態sql怎麼創建 Apr 12, 2025 am 06:06 AM

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

See all articles