Linux命令抓AWR

fiy 其他 154

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    要在Linux命令行中抓取AWR(Automatic Workload Repository)报告,可以按照以下步骤进行操作:

    1. 确认AWR已经启用:在Oracle数据库中,AWR功能默认是开启的。可以使用以下命令验证AWR是否启用:

    “`sql
    SELECT value
    FROM v$parameter
    WHERE name = ‘statistics_level’;
    “`

    如果返回的值为”TYPICAL”或”HIGH”,则AWR已经启用。如果返回的值为”BASIC”,则需要将AWR级别更改为”TYPICAL”或”HIGH”。

    2. 登录到Linux系统上的Oracle数据库服务器,使用sysdba权限连接到数据库实例。在命令行中输入以下命令:

    “`shell
    $ sqlplus / as sysdba
    “`

    3. 运行AWR报告生成脚本:输入以下命令生成AWR报告:

    “`sql
    EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
    “`

    这将创建一个新的AWR快照,记录数据库的性能信息。

    4. 找到AWR报告的ID:使用以下查询语句找到刚刚创建的AWR报告的ID:

    “`sql
    SELECT snap_id
    FROM dba_hist_snapshot
    WHERE begin_interval_time = (SELECT MAX(begin_interval_time) FROM dba_hist_snapshot);
    “`

    记下返回的snap_id值,它将用于生成AWR报告。

    5. 生成AWR报告:输入以下命令生成AWR报告,并将snap_id替换为上一步中获取的ID:

    “`sql
    SET LONG 1000000
    SET LONG_CHUNK_SIZE 1000000
    SET PAGESIZE 0
    SET LINESIZE 4000
    SET TRIMSPOOL ON
    SPOOL awr_report.txt

    SELECT output
    FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(snap_id, snap_id));

    SPOOL OFF
    “`

    这将生成一个名为”awr_report.txt”的文本文件,包含所有AWR报告的详细信息。

    在上述步骤中,我们使用了Oracle的DBMS_WORKLOAD_REPOSITORY包提供的功能来生成AWR报告。这些报告可以帮助分析数据库的性能问题,并提供优化建议。生成的AWR报告将存储在一个文本文件中,可以通过任何文本编辑器进行查看和分析。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    抓AWR (Automatic Workload Repository) 数据是在Linux系统中进行数据库性能分析和故障排查的重要步骤。AWR提供了详细的数据库性能数据,包括服务器指标、SQL语句的执行计划和性能指标等。下面是在Linux系统中抓取AWR数据的一些常用命令:

    1. 配置AWR retention:
    在Linux系统中,你需要先配置AWR的数据保留时间。可以通过以下命令来设置保留时间(以30天为例):
    “`sql
    SQL> EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention => 43200);
    “`

    2. 抓取AWR快照:
    使用以下命令来抓取AWR快照(可以用于性能分析):
    “`sql
    SQL> EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
    “`

    3. 查看AWR快照信息:
    你可以使用以下命令来查看最近一次AWR快照的信息:
    “`sql
    SQL> SELECT * FROM DBA_HIST_SNAPSHOT ORDER BY SNAP_ID DESC;
    “`

    4. 比较两个AWR快照:
    如果你想比较两个AWR快照之间的性能差异,可以使用以下命令:
    “`sql
    SQL> SELECT * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_HTML(
    1, — 起始快照ID
    2 — 结束快照ID
    ));
    “`

    5. 导出AWR报告:
    你也可以将AWR数据导出为报告,并保存为HTML或文本格式。使用以下命令导出AWR报告为HTML格式:
    “`sql
    $ $ORACLE_HOME/rdbms/admin/awrrpt.sql
    “`
    运行上述命令后,按照提示输入起始和结束快照ID,选择报告格式和输出位置。

    这些命令可以帮助你在Linux系统中抓取和分析AWR数据,以便更好地了解和优化数据库性能。你还可以进一步了解更多关于AWR和Oracle数据库性能调优的知识,以提高数据库的整体性能和可靠性。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    AWR (Automatic Workload Repository)是Oracle数据库自动工作负载仓库,用于存储数据库活动和性能统计信息。在Linux系统中,可以使用以下命令来抓取AWR报告:

    1. 连接到数据库

    首先,用以下命令以sysdba角色连接到Oracle数据库:

    “`
    sqlplus / as sysdba
    “`

    2. 创建AWR快照

    在数据库连接的SQL*Plus会话中,使用以下命令创建AWR快照:

    “`
    EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
    “`

    这将在当前时间点创建一个AWR快照,以便在后续生成AWR报告时使用。

    3. 查找AWR快照ID

    在创建AWR快照后,您需要查找新创建的AWR快照的ID。使用以下命令:

    “`
    SELECT snap_id, to_char(begin_interval_time, ‘YYYY-MM-DD HH24:MI:SS’) AS begin_time, to_char(end_interval_time, ‘YYYY-MM-DD HH24:MI:SS’) AS end_time
    FROM dba_hist_snapshot
    ORDER BY end_interval_time DESC;
    “`

    此命令将返回最新的AWR快照ID及其开始和结束时间。

    4. 生成AWR报告

    使用以下命令生成特定AWR快照范围内的AWR报告:

    “`
    @?/rdbms/admin/awrrpt.sql
    “`

    此命令将提示您输入AWR快照的起始和结束ID。您可以使用第3步中找到的AWR快照ID,按照提示输入起始和结束ID。

    5. 查看AWR报告

    生成AWR报告后,可以使用Linux命令来查看报告。您可以使用以下命令:

    “`
    vi awrrpt_<起始ID>_<结束ID>.html
    “`

    将`<起始ID>`和`<结束ID>`替换为实际的AWR快照ID。

    以上是在Linux系统中抓取AWR报告的基本步骤。通过执行这些步骤,您将能够使用AWR报告来分析和调优Oracle数据库的性能。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部