关于Oracle中将表设置为read only的问题
alter table test3 read only;
这个特性应该是从11g新增的,因为在10g中执行会报错:
ORA-01735: 无效的 ALTER TABLE 选项
当设置为read only以后,就不可以再插入数据,修改数据或者删除数据,也就是说insert,update,delete,truncate等DML操作对该表都无法执行了:
ORA-12081: 不允许对表 "APPS_SBD"."TEST1" 进行更新操作
但是drop命令还是可以用的,原因是drop是DDL命令,它操作的应该是数据字典,不受read only的限制。
补充一下,想要将表恢复成可写状态很简单:
alter table test3 read write;