Oracle“并行执行”之四——监控视图

摘自《VLDB and Partitioning Guide》

1、视图介绍

V$PX_BUFFER_ADVICE

提供所有并行查询的BUFFER的历史使用情况,以及相关的建议规划。对于并行执行过程中的内存不足等问题,可以查询这个视图以便能够重新配置一下SGA。

V$PX_SESSION

提供关于并行进程会话、服务器组、服务器集合、服务器数量的信息,也提供实时的并行服务器进程信息。同时可以通过这个视图查看并行语句的请求DOP和实际DOP等信息。

V$PX_SESSTAT

将V$PX_SESSION和V$SESSTAT进行JOIN操作,所以此视图可以提供所有并行会话的统计信息。

V$PX_PROCESS

提供所有并行process的信息,包括状态、会话ID、进程ID以及其它信息。

V$PX_PROCESS_SYSSTAT

提供并行服务器的状态信息及BUFFER的分配信息。

V$PQ_SLAVE

列出所有并行服务器的统计信息。

V$PQ_SYSSTAT

列出并行查询的系统统计信息。

V$PQ_SESSTAT

列出并行查询的会话统计信息。只有并行语句执行完毕后,才能查看到此视图的会话统计信息。

V$PQ_TQSTAT

提供并行操作的统计信息,能够显示每个阶段的每个并行服务器处理的行数、字节数。

只有并行语句执行完毕后,才能查看到此视图的会话统计信息,而且只能保留到会话的有效期。对于并行DML,只有提交或回滚后方能显示此视图的相关统计信息。

2、常用脚本

1)查看系统中并行统计信息,是否实际使用了请求的DOP,以及这些操作是否发生降级:

SELECT NAME,VALUE FROM v$sysstat t WHERE t.NAME LIKE ‘%Parallel%‘;

NAME                                                                    VALUE

Parallel operations not downgraded                    4

Parallel operations downgraded to serial             0

Parallel operations downgraded 75 to 99 pct      0

Parallel operations downgraded 50 to 75 pct      0

Parallel operations downgraded 25 to 50 pct      0

Parallel operations downgraded 1 to 25 pct        0

2)查看V$PQ_SYSSTAT视图中并行从属服务器统计信息。通过查看这些信息,可以看出数据库中的并行设置是否正确。如果看到服务器关闭(Servers Shutdown)和服务器启动值较高,则可能表明PARALLEL_MIN_SERVERS参数的设置值过低,因为持续不断启动和关闭并行进程需要相应的成本支出。

SELECT * FROM V$PQ_SYSSTAT;

STATISTIC                       VALUE

Servers Busy                      8

Servers Idle                      8

Servers Highwater                 16

Server Sessions                   59

Servers Started                   35

Servers Shutdown                  19

Servers Cleaned Up                0

Queries Queued                    0

Queries Initiated                 4

Queries Initiated (IPQ)           0

DML Initiated                     0

DML Initiated (IPQ)               0

DDL Initiated                     0

DDL Initiated (IPQ)               0

DFO Trees                         4

Sessions Active                   1

Local Msgs Sent                   41706

Distr Msgs Sent                   0

Local Msgs Recv‘d                 78048

Distr Msgs Recv‘d                 0

3)查询V$PQ_TQSTAT视图,可以确定各个并行服务器之间如何拆分工作的,也可以显示时间使用的DOP。不过查询此视图时,需要在并行操作同一个会话中执行方可显示信息。

SELECT * FROM V$PQ_TQSTAT;

DFO_NUMBER    TQ_ID    SERVER_TYPE    NUM_ROWS    BYTES    OPEN_TIME    AVG_LATENCY    WAITS    TIMEOUTS    PROCESS    INSTANCE

1                          0           Producer           1                       36          0                    0                            13            0                P001              1

1                          0           Producer           1                       36          0                    0                            12            0                P004              1

1                          0           Producer           1                       36          0                    0                            13            0                P003              1

1                          0           Producer           1                      36           0                    0                            13            0                P000              1

1                          0           Producer           1                      36           0                    0                            13            0                P002              1

1                          0           Producer           1                      36           0                    0                            13            1                P006              1

1                          0          Producer            1                      36           0                    0                            13            0                P007              1

1                          0          Producer            1                      36           0                    0                            14            1                P005              1

1                          0         Consumer           8                      288         0                    0                            154            42            QC                 1

4)查询V$SYSTEM_EVENT或者V$SESSION_EVENT视图,可以知道数据库中与并行相关的等待。

SQL> SELECT event,wait_class,total_waits FROM V$SYSTEM_EVENT WHERE event LIKE ‘PX%‘;

EVENT                          WAIT_CLASS TOTAL_WAITS

------------------------------ ---------- -----------

PX Deque wait                  Idle                 3

PX Idle Wait                   Idle                94

PX Deq: Join ACK               Idle                59

PX Deq Credit: need buffer     Idle              1009

PX Deq Credit: send blkd       Idle              4609

PX Deq: Parse Reply            Idle                56

PX Deq: Execute Reply          Idle               323

PX Deq: Execution Msg          Idle               376

PX Deq: Table Q Normal         Idle             77772

PX qref latch                  Other               14

PX Deq: Signal ACK RSG         Other                8

EVENT                          WAIT_CLASS TOTAL_WAITS

------------------------------ ---------- -----------

PX Deq: Signal ACK EXT         Other               11

PX Deq: Slave Session Stats    Other               22

13 rows selected.

时间: 2024-10-09 01:41:45

Oracle“并行执行”之四——监控视图的相关文章

Oracle“并行执行”之一——How to work

摘自<VLDB and Partitioning Guide> 1.介绍parallel execution 并行执行功能可以让单个数据库操作在多个CPU和IO设备上进行执行.在DSS和数据仓库系统等大数据量系统中,它可以极大地减少响应时间.在OLTP系统中,它对批量操作以及类似创建索引的系统维护任务也有用武之地.其只要的思路就是将一个任务进行分解,将一个人的活分给多个人一起做.常用的场景包括: 1)大表扫描.连接,以及分区索引扫描 2)创建大索引 3)创建大表(包括物化视图) 4)批量插入.

ORACLE常用性能监控SQL【一】

目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死锁的 SQL 查看谁锁了谁 ORA-00054 资源正忙要求指定 NOWAIT 查询绑定变量使用的实际值 监控事例的等待 回滚段的争用情况 查看回滚段名称及大小 查看控制文件 查看日志文件 查看前台正在发出的SQL语句 数据表占用空间大小情况 查看表空间碎片大小 查看表空间占用磁盘情况 查看表的大小

Oracle查询转换之视图合并

一.简单视图合并:指针对那些不含外连接,以及所带视图定义sql语句中不含distinct,group by等聚合函数的目标sql的视图合并. create or replace view view_1 as SELECT t2.prod_id   FROM sales t2, customers t3  WHERE t2.cust_id = t3.cust_id    AND t3.cust_gender = 'M'; 视图合并:   SELECT t1.prod_id, t1.prod_nam

如何启用Oracle EBS Form监控【Z】

前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负荷,从而提供系统运行速度. 或者,(特别是)在系统要升级的时候,这些数据就显得非常重要了:决定哪个Form应该留,哪个Form应该拿掉. 当然,这个信息只是做出决策的参考数据而已.1. 在Oracle EBS上进行Form跟踪的技术方法:Oracle EBS的一个Profile 提供此功能: Use

Oracle学习(十):视图,索引,序列号,同义词

1.知识点:可以对照下面的录屏进行阅读 视图,序列,索引,同义词 SQL> --视图:虚表 SQL> --视图的优点:简化复杂查询,限制数据访问(银行用的多),提供数据的相互独立,同样的数据可以有不同的显示方式 SQL> --第一个视图: 员工号 姓名 月薪 年薪 SQL> create view view1 2 as 3 select empno,ename,sal,sal*12 annlsal from emp; SQL> --如果显示没有权限,则需要授权,见下图1-1

ORACLE 创建与使用视图

一.what(什么是视图?) 1.视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果. 2.根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用. 二.why(为什么要用视图?视图的优点) 1.简化数据操作:视图可以简化用户处理数据的方式. 2.着重于特定数据:不必要的数据或敏感数据可以不出

Oracle表结构修改触发视图无法正常使用问题

一.问题描述 当对视图使用的基表进行表结构修改后,会触发视图的无效以及编译出错问题,必须重建视图解决. 二.问题再现 1.Oracle10g环境 1.1 创建视图测试用两张基表:TestTable和TestUser 1.2  创建测试视图VW_TABLEUSERALL和VW_TABLEUSER 前者使用了TestTable.*, 后者显示指定列. 查询视图的状态如下:全部是Valid状态 1.3 修改TestTable表结构:增加一列Col1 再次查询视图的状态如下:全部是INVALID状态  

oracle创建序列&amp;索引&amp;视图

---oracle学习 --oracle的管理系统学习 --oracle的数据管理学习 --oracle的用户管理 --oracle二维表管理 --oracle的其他知识 --oracle的序列,视图,索引 --oracle的分页查询 --oracle的数据库备份 --oracle的图形化界面操作 序列 1 --oracle的序列的学习 2 --创建序列 3 --使用 create sequence 序列名 4 --特点1:默认开始是没有值的,也就是指针指在了没有值的位置. 5 --特点2:序列

Oracle&ldquo;并行执行&rdquo;之二&mdash;&mdash;并行执行类型

摘自<VLDB and Partitioning Guide> 并行执行主要有以下几种: 1)并行查询 2)并行DDL 3)并行DML 4)并行执行函数 5)其它类型并行 下面分别对其进行介绍,主要包括两方面:能否并行.确定DOP. 1.并行查询 你可以在SELECT语句中并行执行查询和子查询,也可以在DDL和DML语句中并行执行查询部分.你也可以并行查询外部表.并行包括两部分工作:确定是否并行.确定并行度(DOP).对于查询.DDL和DML,这两部分的确定方法各不相同.为了确定DOP,ORA