oracle表是动态表怎么算排名,Oracle学习动态性能表

5268f80b9b1e01f982625ef6fac83ca1.png

按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$s

Oracle 学习动态性能表 v$locked_object

本视图列出系统上的每个事务处理所获得的所有锁。

V$LOCKED_OBJECT中的列说明:

XIDUSN:回滚段号

XIDSLOT:槽号

XIDSQN:序列号

OBJECT_ID:被锁对象ID

SESSION_ID:持有锁的sessionID

ORACLE_USERNAME:持有锁的Oracle 用户名

OS_USER_NAME:持有锁的操作系统 用户名

PROCESS:操作系统进程号

LOCKED_MODE:锁模式,值同上表1

示例:1.以DBA角色, 查看当前数据库里锁的情况可以用如下SQL语句:

select object_id,session_id,locked_mode from v$locked_object;

select t2.username, t2.sid, t2.serial#, t2.logon_time

from v$locked_object t1, v$session t2

where t1.session_id = t2.sid order by t2.logon_time;

如果有长期出现的一列,可能是没有释放的锁。我们可以用下面SQL语句杀掉长期没有释放非正常的锁:

alter system kill session 'sid,serial#';

Oracle 学习动态性能表 v$locked

V$LOCK这个视图列出Oracle 服务器当前拥有的锁以及未完成的锁或栓锁请求。如果你觉着session在等待等待事件队列那你应该检查本视图。如果你发现session在等待一个锁,那么按如下先后顺序:

使用V$LOCK找出session持有的锁。

使用V$SESSION找出持有锁或等待锁的session执行的sql语句。

使用V$SESSION_WAIT找出什么原因导致session持有锁堵塞。

使用V$SESSION获取关于持有锁的程序和用户的更多信息。

V$LOCK中的常用列

SID:表示持有锁的会话信息。

TYPE:表示锁的类型。值包括TM和TX等。

LMODE:表示会话等待的锁模式的信息。用数字0-6表示,和表1相对应。

REQUEST:表示session请求的锁模式的信息。

ID1,ID2:表示锁的对象标识。

公共锁类型

在Oracle数据库中,DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TX锁称为事务锁或行级锁。

当Oracle执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、SX、S、X等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁,如下表1。

TX:行级锁,事务锁

在改变数据时必须是排它模式(mode 6)。每一个活动事务都拥有一个锁。它将在事务结束(commit/rollback)时释放。如果一个块包括的列被改变而没有ITL(interested transaction list)槽位(entries),那么session将锁置于共享模式(mode 4)。当session获得块的ITL槽位时释放。当一个事务首次发起一个DML语句时就获得一个TX锁,该锁保持到事务被提交或回滚。当两个或多个会话在表的同一条记录上执行DML语句时,第一个会话在该条记录上加锁,其他的会话处于等待状态。当第一个会话提交后,TX锁被释放,其他会话才可以加锁。指出回滚段和事务表项。

按下列项以避免竞争:

避免TX-6类型竞争,需要根据您的应用而定。

避免TX-4类型竞争,可以考虑增加对象INITRANS参数值。

TM:表级锁

数据库执行任何DDL语句时必须是排它模式;例如alter table,drop table。执行像insert,update,delete这类DML语句时处于共享模式。它防止其它session对同一个对象同时执行ddl语句。任何对象拥有正被改变的数据,TM锁都将必须存在。锁指向对象。在TM队列避免竞争,可以考虑屏蔽对象表级锁,屏蔽表级锁防止对象执行任何ddl语句。

ST:空间事务锁

每个数据库(非实例)拥有一个ST锁。除了本地管理表空间,在space管理操作(新建或删除extents)时必须是排它模式。对象creation, dropping, extension, 以及truncation都处于这种锁。多数公共原因的争夺,是在磁盘排序(并非使用真正的临时表空间)或回滚段扩展或收缩。

按如下项以避免竞争:

使用真正的临时表空间(true temporary tablespaces),,利用临时文件。临时段在磁盘排序之后并不创建或删除。

使用本地管理表空间。

指定回滚段避免动态扩展和收缩,或使用自动undo management。

避免应用执行创建或删除数据库对象。

UL:用户定义锁

用户可以自定义锁。内容较多并与此节关系不大,略过。

V$LOCK中的连接列

Column View Joined Column(s)

SID V$SESSION SID

ID1, ID2, TYPE V$LOCK ID1, ID2, TYPE

ID1 DBA_OBJECTS OBJECT_ID

TRUNCID1/65536) V$ROLLNAME USN

如果session在等待锁,这可被用于找出session持有的锁。可被用于找出DML锁类型的被锁对象(type='TM'),可被用于找出行级事务锁(TYPE='TX')使用中的回滚段,不过需要通过V$TRANSACTION连接查询得到。

表1 Oracle的TM锁类型

锁模式

锁描述

解释

SQL操作

0

none

1

NULL

Select

2

SS(Row-S)

行级共享锁,其他对象只能查询这些数据行

Select for update、Lock for update、Lock row share

3

SX(Row-X)

行级排它锁,在提交前不允许做DML操作

Insert、Update、Delete、Lock row share

4

S(Share)

共享锁

Create index、Lock share

5

SSX(S/Row-X)

共享行级排它锁

Lock share row exclusive

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332669.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA for Mac 中 Java Web Project 默认的工件(Artifacts)输出目录

你创建 Java Web 项目/模块时,IDEA 会自动创建 Web 模块的工件列表,而工件的默认输出目录如下: war 工件的默认输出目录: /Users/liaowenxiong/Documents/IdeaProjects/java-exercises/模块名称/target exploded 工件的默认输出…

oracle导数的数据乱码,Oracle10g导数据时中文乱码相关处理

1.Oracle导入数据库出现数据库数据中文乱码问题,最后查得是由于数据库安装时,选择编码为默认编码问题分析:使用imp导入数据时,屏幕输出过以下提提示信息:import done in US7ASCII character set and AL16UTF16 NCHAR c…

jdk12 jdk1.8_JDK 12的Files.mismatch方法

jdk12 jdk1.8JDK 12向Files类引入了一种新方法。 方法Files.mismatch(Path,Path)已通过JDK-8202302引入JDK 12,并在JDK 12 Early Access Build 20 (支持新{systemProperty} Javadoc标记的相同早期访问版本)中可用 。 JDK-8202302 [“用于比较…

tomcat如何查找请求资源的?

用户的请求过来,comcat 会根据虚拟目录先到 webapps 目录查找项目,如果找到了则进入到项目下的 WEB-INF 目录下查找 web.xml 文件,查找到则解析该文件,根据资源路径查找请求资源,如果找到了资源则正常实例化和调用有关…

java使用迭代器删除元素_使用Java从地图中删除元素

java使用迭代器删除元素关于从Java中的Map删除元素的非常简短的文章。 我们将专注于删除多个元素&#xff0c;而忽略了您可以使用Map.remove删除单个元素的Map.remove 。 以下Map将用于此帖子&#xff1a; Map<Integer, String> map new HashMap<>(); map.put(1…

IntelliJ IDEA普通的Java项目如何转成Maven Web项目

文章目录一、把项目改成 Java Web 项目二、把 Java Web 项目改成 Maven 项目三、调整目录结构四、部署项目五、参考一、把项目改成 Java Web 项目 注&#xff1a;只有 Web 项目才能创建 Artifact。 二、把 Java Web 项目改成 Maven 项目 得到的目录结构如下图所示&#xff1a;…

php全选按钮怎么写,PHP中的“全选”复选框,其中包含header.php

我必须在我的代码中包含一个header.php&#xff0c;那是问题的方面。当我不包括它&#xff0c;代码工作正常。但是&#xff0c;当我包含它代码不起作用&#xff0c;意味着检查所有按钮不会选中所有复选框。我的代码 -checkall.phpfunction toggle(source) {checkboxes documen…

bom .dom_MicroProfile 2.2 BOM导入支持

bom .domMicroProfile 2.2刚刚发布&#xff0c;其中包含对Fault Tolerance&#xff0c;Open Tracing&#xff0c;Open API和Rest Client API的更新。 自2.2版以来&#xff0c;还支持使用BOM&#xff08;物料清单&#xff09;依赖项导入。 通过这种方法&#xff0c;我们可以在d…

java: 错误: 不支持发行版本 5

文章目录一、在 pom.xml 文件中加入 properties 标签二、在 maven 的配置文件设置默认的 JDK 版本三、IDE 配置参考一、在 pom.xml 文件中加入 properties 标签 我本地安装的 JDK 版本是 11&#xff0c;配置如下&#xff1a; <properties><maven.compiler.source>…

谷歌gcp 远程计算机_引导性GCP:带有Google Cloud Pub / Sub的Spring Cloud Stream

谷歌gcp 远程计算机我最近在Sprint Central的工程博客上阅读了Josh Long的Bootiful GCP系列 &#xff0c;特别喜欢关于使用Google Cloud的Pub / Sub的第四部分 。 我感到受到该系列的启发&#xff0c;同时我还在为我的一个新项目评估Spring Cloud Stream。 我以为&#xff0c;我…

Oracle函数初探

我非常高兴有机会通过Cloud Native Limited Availability Program测试Oracle功能。 去年&#xff0c;当我上次尝试在Oracle Groundbreaker APAC巡回赛中在Oracle Cloud中运行无服务器功能时&#xff0c;有两种选择。 可以在虚拟机中运行我自己的Fn服务器&#xff0c;也可以在托…

在同一个tomcat中,使用不同的端口部署不同的项目

文章目录借助开发工具手动配置&#xff08;不使用开发工具&#xff09;第一步&#xff1a;修改 server.xml 文件第二步&#xff1a;创建部署目录第三步&#xff1a;复制 Catalina 目录第四步&#xff1a;复制 policy 和 properties 文件第五步&#xff1a;部署项目第六步&#…

jdk11换jdk8版本_在JDK 9(以及8)以及更高版本中,所有内容都可以作为一个流

jdk11换jdk8版本在JDK 8中&#xff0c;我们终于可以使用流了&#xff0c;除了您使用的API无法产生流的时代之外&#xff0c;其他一切都很好。 然后&#xff0c;您最终编写了一个包装器类方法&#xff0c;该方法允许您将迭代器转换为Stream&#xff0c;因为您错过了流。 public…

IntelliJ IDEA 的 Project Structure 窗口中的 Artifacts 勾选 Include in project build

文章目录在 war 工件勾选 Include in project buildBuild Project/ModuleRebuild Project/Module在 war exploded 工件勾选 Include in project build在 war 工件勾选 Include in project build war 工件处勾选 Include in project build&#xff0c;表示在构建项目/模块之后&a…

华为linux系统能用Cad么,华为平板能装cad画图吗 华为平板可以用cad软件吗?

华为平板可以用cad软件吗&#xff1f;华为平板是可以安装cad画图软件的&#xff0c;不管是什么设备&#xff0c;关键是操作系统符合下面的要求&#xff0c;就可以安装&#xff1a; 1、微软的window 系列操作系统 2、苹果的电脑操作系统 3、Linux系统华为mate平板可以安装CAD画图…

java客户端api文档_Java 11:新的HTTP客户端API

java客户端api文档在Java 11中&#xff0c;已将最初在Java 9中引入的孵化HTTP客户端API进行了标准化。 它使连接URL&#xff0c;管理请求参数&#xff0c;cookie和会话更加容易&#xff0c;甚至支持异步请求和websocket。 概括地说&#xff0c;这是使用传统的URLConnection方法…

linux date字符串日期格式,Linux中date用法

1、命令&#xff1a;date2、命令功能&#xff1a;date 可以用来显示或设定系统的日期与时间。3、命令参数-d&#xff1a;显示字符串所指的日期与时间。字符串前后必须加上双引号&#xff1b;-s&#xff1a;根据字符串来设置日期与时间。字符串前后必须加上双引号&#xff1b;-u…

jar/war/ear文件的区别

参阅&#xff1a; https://www.cnblogs.com/perfy/p/3597852.html https://blog.csdn.net/weixin_29022299/article/details/114063154 https://www.cnblogs.com/uriel/p/4874383.html https://www.cnblogs.com/sagech/p/4907163.html https://www.cnblogs.com/nizuimeiabc1/p/…

vim 命令模式 筛选_10个步骤的筛选器模式

vim 命令模式 筛选过滤器是仅在某些情况下应应用的模式。 在原始帖子中 &#xff0c;我提供了一个非常简单的示例&#xff0c;旨在演示如何应用它。 在这篇文章中&#xff0c;我提供了一个更详细的示例&#xff0c;该示例还旨在说明何时以及为什么应用它。 介绍 该职位包括以…

Maven的scope详解

文章目录依赖范围介绍compiletestprovidedruntimesystemimport依赖传递依赖范围与 classpath 的关系表参考依赖范围介绍 maven 项目不同的阶段引入到classpath中的依赖是不同的&#xff0c;例如&#xff0c;编译时&#xff0c;maven 会将与编译相关的依赖引入classpath中&…