database - Oracle 授予让步和副作用

标签 database oracle10g locking triggers sql-grant

每天在大型 Oracle 生产数据库 (10g) 上工作,我们注意到像这样的操作

  • 授予用户对表的读取权限
  • 在表上创建触发器

锁定该表,并使坚持它的所有游标无效。

如果表很大(> 2000 万行)并且许多用户都在处理它,这会产生巨大的后果。

我的问题是:为什么 Oracle 锁定表(毕竟我们没有改变它的结构,而只是给用户读取它的权限)以及为什么它需要使游标无效?

有没有办法让这些 Action 变得“更柔和”?

提前致谢。

替代问题:有没有办法知道在特定表上打开了多少个游标,以便最大限度地减少失效对该对象的影响?

最佳答案

也许一次授予组权限,然后在将来授予用户成员权限,而不是直接表权限。我知道的答案很简单,但我的印象是你知道自己在做什么,并且可以弄清楚细节。

关于database - Oracle 授予让步和副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3064853/

相关文章:

php - 一次更改多个 mysql 数据库(SAAS 数据库更改)

database - 我对一张数据库表的期望是否过高?

oracle10g - 在 Oracle 中,使用序列作为代理主键被视为标准

sql - 将列值从 'male' 替换为 'female' 并将 'female' 替换为 'male'

c# - 更新 UI 元素时锁定 Parallel Linq

java - 抽象不同数据库的数据类型异构性

mysql - 如何在单个字段或列中连接多个值? (MySQL)

c# - 从 Visual Studio 2008 访问 Oracle 数据库

java - 如果不会发生争用,读取时是否需要同步

Jenkins 可锁定资源 - 无需解锁即可锁定