管理表空间和数据文件2-改变表空间状态

4.改变表空间的状态
当建立表空间时,表空间处于联机(online)的状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表空间执行各种语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态,一般情况下,由特权用户或是dba来操作。

注意:要特权用户(拥有相应权限alter tablespace的用户)或是dba来操作

1)使表空间脱机
alter tablespace 表空间名 offline;

2)使表空间联机
alter tablespace 表空间名 online;

3)只读表空间
当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update,delete,insert操作,那么可以将表空间修改为只读表空间
alter tablespace 表空间名 read only;

4)使表空间可读写
alter tablespace 表空间 read write;


注意:
后面命令里的表空间名和表名都是需要大写的,否则查不到我们想要的数据

举例:
1.知道表空间名,显示该表空间包括的所有表
select * from all_tables where tablespace_name='表空间名';

2.知道表名,查看该表属于哪个表空间
select tablespace_name,table_name from user_tables where table_name='表名';

通过2.我们可以知道soctt.emp是在system这个表空间上,现在我们可以将system改为可读的但是我们不会成功,因为system是系统表空间,如果是普通表空间,那么我就可以将其设为可读的。

猜你喜欢

转载自1124117571.iteye.com/blog/2285720