select username,default_tablespace from user_users;
3、查询所有表空间
select tablespace_name from dba_tablespaces;
4、查询表空间状态
select TABLESPACE_NAME,STATUS, CONTENTS from dba_tablespaces;
5、修改表空间数据文件大小
Alter DataBase DataFile 'E:\Oracle\ORCLS\BOOKTBS1.dbf' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
6、修改表空间读写权限
<!-- 设置为可读状态 -->
alter tablespace '表空间名' read only;
alter tablespace BOOKTBS1 read only;
<!-- 设置为读写状态 -->
alter tablespace BOOKTBS1 read write;
<!-- 设置表空间为数据库默认表空间 -->
alter database default tablespace BOOKTBS1;
7、修改表空间的脱机状态
<!-- 脱机 -->
ALTER tablespace '表空间名' OFFLINE;
<!-- 联网 -->
ALTER tablespace BOOKTBS1 ONLINE;
8、删除表空间
drop tablespace BOOKTBS1 including contents and datafiles;
9、表空间设置脱机和联网
<!-- 脱机 -->
ALTER tablespace '表空间名' OFFLINE;
<!-- 联网 -->
ALTER tablespace BOOKTBS1 ONLINE;
<!-- 查询表空间状态 -->
select TABLESPACE_NAME,STATUS, CONTENTS from dba_tablespaces;
10、表空间读写权限
<!-- 设置为可读状态 -->
alter tablespace '表空间名' read only;
alter tablespace BOOKTBS1 read only;
<!-- 设置为读写状态 -->
alter tablespace BOOKTBS1 read write;
<!-- 设置表空间为数据库默认表空间 -->
alter database default tablespace BOOKTBS1;
11、表空间备份
<!-- 创建逻辑目录 -->
create directory data_dir as 'E:\Oracle\oradata\ORCLS\home';
<!-- 使用管理员用户给指定的用户赋予在该目录的操作权限 -->
grant read,write on directory data_dir to C##test;
<!-- 修改归档 -->
alter database archivelog;
alter database datafile 'E:\Oracle\oradata\ORCLS\BOOKTBS1.DBF' offline drop;
<!-- 开启联机备份 -->
ALTER TABLESPACE BOOKTBS1 BEGIN BACKUP;
<!-- 开始备份 -->
host copy E:\Oracle\oradata\ORCLS\BOOKTBS1.DBF E:\Oracle\oradata\ORCLS\home\BOOKTBS1.DBF
二、用户操作
创建用户 创建表之前需要提供用户和表空间,进行授权
<!-- 创建用户 -->
create user c##test identified by test;
<!-- 表空间授权 -->
alter user c##test quota unlimited on BOOKTBS1;
<!-- 授予登录的权限 -->
grant create session to c##test;
Grant Create session to C##XPQ
Grant Create table to C##XPQ
Grant Create tablespace to C##XPQ
Grant unlimited tablespace to C##XPQ
查询操作
<!-- 查询当前用户下的表和视图 -->
select * from user_tables;
<!-- 查看表空间下的表 -->
select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME=‘表空间名’;
select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME=‘BOOKTBS1’;