1. 程式人生 > 其它 >一些表空間檢視及設定

一些表空間檢視及設定

SELECT created, log_mode, log_mode FROM v$database;

--1G=1024MB
--1M=1024KB
--1K=1024Bytes
--1M=11048576Bytes
--1G=1024*11048576Bytes=11313741824Bytes
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

--10、檢視使用者指定的預設表空間
select default_tablespace from user_users

--11、檢視使用者資訊
select * from user_users

--12、修改使用者的永久表空間可以執行命令:
alter user user default tablespace tablespaceName

--13、修改新新增的使用者的預設表空間可以執行如下命名:
alter database default tablespace tablespaceName

oracle 表空間關閉自增長 autoextend off
http://blog.itpub.net/29291882/viewspace-2088336/


1、檢視有哪些資料檔案是自增長的
SELECT T.TABLESPACE_NAME,D.FILE_NAME,D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME and D.AUTOEXTENSIBLE != 'NO'
ORDER BY TABLESPACE_NAME,FILE_NAME
2 關閉掉自增長
alter database datafile '/data/oracle/oradata/orcl/nnc_data01_03.dbf' autoextend off;

https://blog.csdn.net/zhaojian1988/article/details/8789830
--表空間與資料檔案使用率檢視與收縮:
檢視資料檔案路徑及名稱
select file#,name from v$datafile
檢視Oracle資料庫中每個資料檔案使用率:
select b.file_name filename,b.bytes/1024/1024 sizeM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) preuse
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,file_name,b.bytes
order by b.tablespace_name; DATA_DIR

--查詢路徑及是否自增長
SELECT T.TABLESPACE_NAME,D.FILE_NAME,D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME

--停止資料檔案自增長
alter database datafile '/data/oracle/oradata/orcl/nnc_data01_03.dbf' autoextend off;

--檢視指定表空間的空餘空間與使用率
select df.tablespace_name,df.sum_df_m as space_m,fs.sum_fs_m free_space,to_char(trunc((df.sum_df_m-fs.sum_fs_m)/df.sum_df_m,2)*100) as "used_%"
from (select tablespace_name,sum(bytes/1024/1024) as sum_df_m from dba_data_files group by tablespace_name) df,(select tablespace_name,sum(bytes/1024/1024) as sum_fs_m from dba_free_space group by tablespace_name) fs
where df.tablespace_name=fs.tablespace_name and df.tablespace_name='USERS';

--檢視資料檔名稱
select file#,name from v$datafile

--檢視資料檔案路徑、名稱、大小、使用率、佔用、使用率
select b.file_name filename,b.bytes/1024/1024 sizeM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) preuse
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,file_name,b.bytes
order by b.tablespace_name;

--檢視空餘空間資訊
select * from dba_free_space

--6、查看錶空間的使用情況
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;