oracle 表空間 不足時如何處理
阿新 • • 發佈:2018-12-30
--1、查看錶在那個表空間
(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、擴充套件表空間
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
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) 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;
--增加資料檔案
alter tablespace USERS add datafile 'd:\users02.dbf' size 5m;