Steps for SQL REPLAY
-
Collect
Sqls
-
Create
the SQL Replay Task with SQL Tuning Set (STS)
-
Collect
SQL Performance Before Changes
-
Make
Database Change ( eg collect stats etc)
-
Collect
SQL Performance After Changes
-
Comparing
SQL Performance Before and After Change
-
Display
the Results of a SQL Replay Task
1.Collect SQLs.
We can collect the sql from
the cursor cache and AWR.
from the cursor cache:
SQL> conn henry/henry
已连接。
SQL> exec dbms_sqltune.create_sqlset ('MYSQLSET');
PL/SQL 过程已成功完成。
SQL> DECLARE
2
3 cur dbms_sqltune.sqlset_cursor;
4
5 BEGIN
6
7 OPEN cur FOR
8 SELECT VALUE(p)
9 FROM TABLE (dbms_sqltune.select_cursor_cache) p;
10
11 dbms_sqltune.load_sqlset(
12 sqlset_name => 'MYSQLSET',
13 populate_cursor => cur);
14
15 END;
16 /
PL/SQL 过程已成功完成。
from the AWR.
SQL> DECLARE
2 cur DBMS_SQLTUNE.SQLSET_CURSOR;
3 BEGIN
4
5 OPEN cur FOR
6 SELECT VALUE(P)
7 FROM table(
8 DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(1,100)) P;
9
10 DBMS_SQLTUNE.LOAD_SQLSET(sqlset_name => 'MYSQLSET',
11 populate_cursor => cur,
12 load_option => 'MERGE',
13 update_option => 'ACCUMULATE');
14 END;
15 /
DECLARE
*
第 1 行出现错误:
ORA-13768: 快照 ID 必须介于 231 和 355 之间。
ORA-06512: 在 "SYS.DBMS_SQLTUNE", line 4561
ORA-06512: 在 line 10
SQL> ed
已写入 file afiedt.buf
1 DECLARE
2 cur DBMS_SQLTUNE.SQLSET_CURSOR;
3 BEGIN
4 OPEN cur FOR
5 SELECT VALUE(P)
6 FROM table(
7 DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(231,354)) P;
8 DBMS_SQLTUNE.LOAD_SQLSET(sqlset_name => 'MYSQLSET',
9 populate_cursor => cur,
10 load_option => 'MERGE',
11 update_option => 'ACCUMULATE');
12* END;
13 /
PL/SQL 过程已成功完成。
2.Create
the SQL Replay Task with SQL Tuning Set (STS)
SQL> ed
已写入 file afiedt.buf
1 declare
2 l_task_id varchar2(20);
3 begin
4 l_task_id := dbms_sqltune.create_tuning_task (
5 sqlset_name => 'MYSQLSET',
6 task_name => 'MY_REPLAY_TASK');
7* end;
SQL> /
declare
*
第 1 行出现错误:
ORA-13607: 指定的任务或对象 MY_REPLAY_TASK 已存在
ORA-06512: 在 "SYS.DBMS_SQLTUNE_INTERNAL", line 7718
ORA-06512: 在 "SYS.PRVT_SQLADV_INFRA", line 275
ORA-06512: 在 "SYS.DBMS_SQLTUNE", line 674
ORA-06512: 在 line 4
SQL> ed
已写入 file afiedt.buf
1 declare
2 l_task_id varchar2(20);
3 begin
4 l_task_id := dbms_sqltune.create_tuning_task (
5 sqlset_name => 'MYSQLSET',
6 task_name => 'MY_REPLAY_TASK1');
7* end;
SQL> /
PL/SQL 过程已成功完成。
3.Collect
SQL Performance Before Changes
SQL> begin
2 dbms_sqltune.execute_tuning_task (
3 execution_name => 'MY_REPLAY_EXECUTE_BEFORE',
4 task_name => 'MY_REPLAY_TASK1');
5 end;
6 /
PL/SQL 过程已成功完成。
4.Make
Database Change
SQL> alter system set "_b_tree_bitmap_plans" = false;
系统已更改。
SQL> alter system set optimizer_index_cost_adj=1;
系统已更改。
5.Collect
SQL Performance After Changes
SQL> begin
2
3 dbms_sqltune.execute_tuning_task (
4 execution_name => 'MY_REPLAY_EXECUTE_AFTER',
5 task_name => 'MY_REPLAY_TASK1');
6 end;
7 /
PL/SQL 过程已成功完成。
6. Comparing
SQL Performance Before and After Change
SQL> begin
2
3 dbms_sqltune.execute_tuning_task (
4 execution_name => 'MY_COMPARE_EXECUTION',
5 task_name => 'MY_REPLAY_TASK1');
6 end;
7 /
PL/SQL 过程已成功完成。
7.Display
the Results of a SQL Replay Task
set serveroutput on size 999999
set long 999999
select dbms_sqltune.report_tuning_task (‘MY_REPLAY_TASK1’) from dual;
分享到:
相关推荐
Oracle 11g 新特性实验之三 - Database Replay(重演) Oracle 11g 中的 Database Replay(重演)是一种新的特性,能够模拟生产数据库的工作负载,以便在测试环境中进行测试和优化。下面将详细介绍 Database Replay...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,SQL(结构化查询语言)是与数据库交互的基础工具。在Oracle环境中,SQL优化对于提升系统性能、减少资源消耗至关重要。本篇文章将深入探讨Oracle中的SQL...
wrc: wrc 是 Oracle 的 Workload Replay Capture 工具,用于捕获生产环境的工作负载,并将其用于性能测试和分析。 sqlldr: sqlldr 是 Oracle 的 SQL*Loader 工具,用于将外部数据加载到 Oracle 数据库中。它允许你...
本章主要围绕Oracle 11g的基础知识展开,包括Oracle的发展历史、新特性、体系结构、安装过程以及PL/SQL语言基础。 Oracle自1977年由Larry Ellison等人创立以来,经历了多个版本的迭代,逐步完善和发展。从早期的...
本教程旨在引导初学者深入理解Oracle 11g的基础知识,包括其发展历程、新特性、体系结构、安装流程以及PL/SQL语言基础。 Oracle自1977年成立以来,经历了多次重大版本更新,从最初的Oracle 3到Oracle 11g,不断适应...
### SQL与Oracle面试知识点解析 #### 1. 冷备份与热备份的不同点及各自的优点 - **冷备份**:通常在数据库完全关闭的情况下进行,适用于全盘备份。其主要优点在于备份速度快、数据一致性高,恢复过程简单快速。缺点...
5. **Oracle Database Replay**:这个工具用于性能测试,通过记录生产环境的数据库活动,然后在测试环境中重放这些活动,以评估系统在高负载下的表现。 6. **Oracle SQL Tuning Advisor**:这是一个内置的性能优化...
10. **数据库调优工具与策略**:如SQL Tuning Advisor、Database Replay、SQL Access Advisor等工具的使用。 通过书中提供的代码示例,读者可以亲手操作,体验各种优化技巧的实际效果。这些代码可能包括各种性能...
这个过程包括 Database Replay、Sql Performance Analyzer 和 sql 计划管理等几个方面。 Database Replay 数据库重播功能可以捕获生产系统上的实际数据库工作负载,并在测试系统上重播。这使您能够在不影响生产...
discussions of new features such as SQL replay, change management, and result caching in later chapters. The goal of this chapter is to present a high-level overview of the capabilities you can ...
2. **性能优化**:通过引入多种新的性能优化技术,如SQL重播(SQL Replay)、结果缓存(Result Caching)等,Oracle Database 11g能够显著提高查询性能和响应速度。 3. **可管理性的提升**:为了方便数据库管理员更好地...
- 数据重演(SQL Replay)是Oracle Database Enterprise Edition的一个特性,它记录了用户在生产环境中的数据库活动,然后在测试环境中重新播放这些活动,以重现生产环境的负载。 - 这种方法可以帮助识别性能瓶颈...
RAT主要包括两个核心功能:数据库重放(Database Replay)和SQL性能分析器(SQL Performance Analyzer),以及共享SQL调优集(SQL Tuning Set)功能。 二、Database Replay 数据库重放 数据库重放(Database Replay)是RAT...
2. **SQL重演(SQL Replay)**:专注于特定SQL语句的性能问题,提供精准的性能调优。 3. **计划管理(Plan Management)**:帮助保持SQL查询的执行计划稳定,避免因数据变化导致的性能下降。 4. **自动诊断知识库...
3. **故障诊断与修复**:EM内置了多种故障诊断工具,如ADDM(Automatic Database Diagnostic Monitor)、SQL Trace和Database Replay,用于识别和解决数据库运行中的问题。 4. **安全性和审计**:EM强化了数据库的...
这包括Database Replay、Active Data Guard和SQL Performance Analyzer等工具,这些工具能够帮助用户预测并解决潜在的性能问题,减少数据库升级或更改所带来的风险。 1. Database Replay:这是一个功能强大的工具,...