【Oracle】锁与数据库对象

  • 概念
目的保护数据的安全性,多个用户操作同一数据引发锁来保护数据的准确性和可靠性
  • 行级锁
针对 insert/update/delete 语法对某一行数据引发的锁

标识整张表为锁定状态  select * from 表名 for update   
  • 表级锁
lock table 表名 in share mode
  • 阻塞
比如A用户对表1行进行操作更新,那么B用户也对A用户表1行进行操作更新,B用户在等待造成了B用户的阻塞,直到用户A提交或回滚才释放。
  • 死锁
A用户对表1的行1进行操作更新,B用户对表2的行2进行操作更新,而A用户又对表2的行2进行操作更新,造成了A用户阻塞,B用户又对表1的行1进行操作更新,造成了用户的阻塞,造成了A和B用户的死锁,一旦遇到死锁,orcl会释放某一个用户的阻塞。

数据库对象

最基本的对象
  • 序列
序列:sequence 用户产生连续的唯一的序列号

创建简单序列:create sequence 序列名字;

获取下一个序列名字:select 序列名字.nextval from dual;

返回当前序列的值:select 序列名字.currval from dual;

删除当前序列:drop sequence 序列名字;

cycle:指定序列达到最大值或最小值后,将继续从头开始生产值

cache:预先在内存中分配一组序列号,可更快的访问序列号

创建复杂序列的语法

create sequence 序列名

start with 初始值  1

increment by 增量 1

maxValue 最大值/nomaxValue 5

minValue 最小值/nominValue 1

cycle/nocycle
cache/nocache
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值