1、查询当前用户的所属表空间
select * from user_users;
2、增加表空间有两种方法:
以sysdba登陆进数据库
语法:
alter tablespace 表空间名称
add datafile 表空间存放路径 size 表空间大小 autoextend on next 增长的大小 maxsize 空间最大值(如果不限制空间最大值就用unlimited)
例如:
alter tablespace vgsm
add datafile 'c:\oracle\product\10.2.0\oradata\vgsm\vgsm_01.dbf'
size 1024M autoextend on next 50M maxsize unlimited;
查询表空间详情:
select f.* from dba_data_files f where f.tablespace_name='VGSM'
以修改表空间的方式增加:
语法:
alter database
datafile 表空间文件路径
AUTOEXTEND(自动扩展) ON NEXT 表空间满后增加的大小
例如:
alter database
datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\VGSM\VGSM' AUTOEXTEND ON NEXT 200m
查询表空间详情:
select f.* from dba_data_files f where f.tablespace_name='VGSM'
--1、查看表在那个表空间
select tablespace_name,table_name from user_talbes where table_name='test';
--2、获取用户的默认表空间
select username, DEFAULT_TABLESPACE from dba_users where username='MXH';
--3、查看表空间所有的文件
select * from dba_data_files where tablespace_name='USERS';
--4、查看表空间使用情况:
SELECT tbs 表空间名,
sum(totalM) 总共大小M,
sum(usedM) 已使用空间M,
sum(remainedM) 剩余空间M,
sum(usedM)/sum(totalM)*100 已使用百分比,
sum(remainedM)/sum(totalM)*100 剩余百分比FROM(SELECT b.file_id ID,
b.tablespace_name tbs,
b.file_name name,
b.bytes/1024/1024 totalM,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,
sum(nvl(a.bytes,0)/1024/1024) remainedM,
sum(nvl(a.bytes,0)/(b.bytes)*100),
(100 - (sum(nvl(a.bytes,0))/(b.bytes)*100))
FROM dba_free_space a,dba_data_files b
WHERE a.file_id = b.file_id
GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes
ORDER BY b.tablespace_name)GROUP BY tbs
--5、扩展表空间
alterdatabase datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' resize 50m;--自动增长
alterdatabase datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' autoextend onnext 50m maxsize 500m;--增加数据文件