数据库ACID
title: 数据库ACID
cover: 'https://tuapi.eees.cc/api.php?category=dongman&type=302'
tags: ACID
abbrlink: c5cf1b6e
date: 2023-02-04 14:58:57
ORACLE里锁有以下几种模式:
0:
none
1:null
空
2:Row-S
行共享(RS):共享表锁,sub share
3:Row-X
行独占(RX):用于行的修改,sub exclusive
4:Share
共享锁(S):阻止其他DML操作,share
5:S/Row-X
共享行独占(SRX):阻止其他事务操作,share/sub exclusive
6:exclusive
独占(X):独立访问使用,exclusive
一、它有什么作用
select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性。
二、举几个例子:
select * from t for update 会等待行锁释放之后,返回查询结果。
select * from t for update nowait 不等待行锁释放,提示锁冲突,不返回结果
select * from t for update wait 5 等待5秒,若行锁仍未释放,则提示锁冲突,不返回结果
select * from t for update skip locked 查询返回查询结果,但忽略有行锁的记录
1.关于V$lock表和相关视图的说明
v$session 查询会话的信息和锁的信息。
sid,serial#:表示会话信息。
program:表示会话的应用程序信息。
oracle锁表问题处理 - NewBBBB - 博客园 (cnblogs.com)
SELECT * FROM v$lock;
SELECT * FROM v$sqlarea;
SELECT * FROM v$session;
SELECT * FROM v$process ;
SELECT * FROM v$locked_object;
SELECT * FROM all_objects;
SELECT * FROM v$session_wait;
一般要开启日志才能查到?
select * from v$log;
select * from v$logfile;
select * from v$log_history t order by t.SEQUENCE# desc;
AWR全称Automatic Workload Repository,自动负载信息库,是Oracle 10g版本后推出的一种性能收集和分析工具,提供了一个时间段内整个系统的报表数据。通过AWR报告,可以分析指定的时间段内数据库系统的性能。