如果对表存储的规划较好,将业务相关的表都放在几个表空间里,可以通过设置表空间只读的方式,让这些表只读:
alter tablespace <tablespace name> read only;
解除只读:
alter tablespace <tablespace name> read write;
当然也可以只设置表的只读:
alter table t1 read only;
alter table t1 read write;
此时如果查询,可以查到:
col name for a50
set linesize 300
set pagesize 100
select file#, enabled, last_time, name from v$datafile;
还可以查询dba_tablespaces
select TABLESPACE_NAME, STATUS from dba_tablespaces;