管理員給用戶增加不限制表空間權限
grant unlimited tablespace to 用戶;
查看表空間使用情況
SELECT a.tablespace_name "表空間名",
total "表空間大小",
free "表空間剩余大小",
(total - free) "表空間使用大小",
total / (1024 * 1024 * 1024) "表空間大小(G)",
free / (1024 * 1024 * 1024) "表空間剩余大小(G)",
(total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name;
? ? ?select username,default_tablespace from user_users;
?
查看該用戶下所有的表:
? ? ?select * from user_tables;
?
查看所有表 名稱、路徑、是否自動增長:
? ? ?select tablespace_name,file_name,autoextensible from dba_data_files;
?
修改表空間自動增長屬性:
? ? ?alter database datafile '表空間路徑' autoextend on;
? ? ? ? ?可以再次執行前一個查詢,是否成功;表空間自增長的優劣,各位自查。
?
修改大小:
? ? ?Alter database datafile ‘表空間路徑’resize 2000m;
?
查看當前的連接數:
SQL> select count(*) from v$session;
?
查看最大的進程數:
SQL> show parameter processes;
?
?
查看最大連接數:
SQL> show parameter sessions;
--刪除空的表空間,但是不包含物理文件
drop tablespace tablespace_name;
--刪除非空表空間,但是不包含物理文件
drop tablespace tablespace_name including contents;
--刪除空表空間,包含物理文件
drop tablespace tablespace_name including datafiles;
--刪除非空表空間,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空間中的表有外鍵等約束關聯到了本表空間中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
----------------如果表空間不足的解決方法--------
【解決辦法-原因一】
只要將表空間設置為足夠大,并設置為自增長即可。
1、擴展表空間 ?
alter database datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' resize 50m;
? 注:50m,是表空間大小,可以根據實際需要加大,但最大不得超過32G
2、自動增長?
alter database datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' autoextend on next 50m maxsize 500m
maxsize 是每次增加最大500m的數據塊
【解決辦法-原因二】2016-03-24用這個方法解決的
因為表空間中的數據文件已經足夠大(達到32G),所以,這時僅僅增加表空間大小是不行的。
這個時候,我們可以增加該表空間的數據文件,這樣表空間的大小即變為64G了。
ALTER TABLESPACE aaaADD DATAFILE 'E:\APP\ORACLE11GR2\ORADATA\ORCL\aaa_DATA02.DBF'SIZE 32767M;