Oracle序列存储在哪个表空间中?
我和我的同事维护的应用程序在后端有一个Oracle数据库.我们正在考虑偶尔以“受限”模式运行应用程序,其中一个数据库表空间设置为只读.我们可以轻松地将必要的表和索引移到单独的表空间,这些表空间可以在“受限”模式下写入.但是,尽管有几次Google搜索,但我无法确定Oracle存储序列的表空间. This answer提到序列值存储在SYSTEM.SEQ $表中.我现在无法访问Oracle数据库,但我猜这个表存在于一个系统表空间中.我们使只读的表空间不是系统表空间,它是我们自己的数据表空间之一. 在dev数据库中,我可以从序列中成功地进行SELECT,并将相关的表空间设置为只读. 我怀疑将这个表空间设置为只读是不会有问题的,但我更倾向于通过临时实验证实我的怀疑.有人可以赐教吗? 解决方法序列(大部分)在SEQ $中.零件将在OBJ $(并在其他地方授予).但是所有这些表都在SYSTEM表空间中.一些SYSTEM对象在SYSAUX中. DBA_SEGMENTS是一个很好的视图,用于标识对象(例如SEQ $)所在的表空间. 我怀疑Oracle不会让这些表空间进入READ ONLY模式,因为要这样做,它需要将该表空间标记为只读,该表空间记录在该表空间的SYSTEM表中.有点像锁定它解锁的保险箱中的钥匙. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |