1,创建表空间并指定用户
-- 创建表空间
CREATE TABLESPACE mytablespace
DATAFILE 'C:\ORACLE\ORADATA\ORCL\mytablespace.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
--指定用户
alter user username default tablespace mytablespace;
--在创建用户时指定表空间
CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE mytablespace TEMPORARY TABLESPACE temp;
2,根据这个sql查看每个表空间的使用情况
SELECT TABLESPACE_NAME "表空间",
To_char(Round(BYTES, 2), '99990.00')
|| 'M' "空间大小",
To_char(Round(FREE, 2), '99990.00')
|| 'M' "可用空间",
To_char(Round(( BYTES - FREE ), 2), '99990.00')
|| 'M' "使用空间",
To_char(Round(10000 * USED / BYTES) / 100, '99990.00')
|| '%' "使用比例"
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
Floor(A.BYTES / ( 1024 * 1024 )) BYTES,
Floor(B.FREE / ( 1024 * 1024 )) FREE,
Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME,
Sum(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME,
Sum(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'MYTABLESPACE' --这一句用于指定表空间名称
ORDER BY Floor(10000 * USED / BYTES) DESC;
3,如果需要增加表空间的大小,可以使用下面的sql
--选择需要修改的表空间名称,指定增加的表空间文件
alter tablespace mytablespace
add datafile 'C:\ORACLE\ORADATA\ORCL\mytablespace01.dbf' size 10M autoextend on ;
alter tablespace "SYSTEM" add datafile 'C:/Oracle/oradata/orclsystem02.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED