Oracle12c数据库查看表空间使用情况
可以通过以下语句查看Oracle12c数据库中所有表空间的使用情况:
-
SELECT F
.TABLESPACE_NAME
,
-
(T
.TOTAL_SPACE
- F
.FREE_SPACE
)
/ 1024
"USED (GB)"
,
- F
.FREE_SPACE
/ 1024
"FREE (GB)"
,
- T
.TOTAL_SPACE
/ 1024
"TOTAL(GB)"
,
-
(
ROUND
(
(F
.FREE_SPACE
/ T
.TOTAL_SPACE
)
* 100
)
)
|
|
'% ' PER_FREE
-
FROM
(
SELECT TABLESPACE_NAME
,
-
ROUND
(
SUM
(BLOCKS
*
-
(
SELECT
VALUE
/ 1024
-
FROM V$PARAMETER
-
WHERE NAME
=
'db_block_size'
)
/ 1024
)
) FREE_SPACE
-
FROM CDB_FREE_SPACE
-
GROUP
BY TABLESPACE_NAME
) F
,
-
(
SELECT TABLESPACE_NAME
,
ROUND
(
SUM
(BYTES
/ 1048576
)
) TOTAL_SPACE
-
FROM CDB_DATA_FILES
-
GROUP
BY TABLESPACE_NAME
) T
-
WHERE F
.TABLESPACE_NAME
= T
.TABLESPACE_NAME
;
可以通过添加筛选条件查看指定表空间的使用情况,代码如下:
-
SELECT F
.TABLESPACE_NAME
,
-
(T
.TOTAL_SPACE
- F
.FREE_SPACE
)
/ 1024
"USED (GB)"
,
- F
.FREE_SPACE
/ 1024
"FREE (GB)"
,
- T
.TOTAL_SPACE
/ 1024
"TOTAL(GB)"
,
-
(
ROUND
(
(F
.FREE_SPACE
/ T
.TOTAL_SPACE
)
* 100
)
)
|
|
'% ' PER_FREE
-
FROM
(
SELECT TABLESPACE_NAME
,
-
ROUND
(
SUM
(BLOCKS
*
-
(
SELECT
VALUE
/ 1024
-
FROM V$PARAMETER
-
WHERE NAME
=
'db_block_size'
)
/ 1024
)
) FREE_SPACE
-
FROM CDB_FREE_SPACE
-
GROUP
BY TABLESPACE_NAME
) F
,
-
(
SELECT TABLESPACE_NAME
,
ROUND
(
SUM
(BYTES
/ 1048576
)
) TOTAL_SPACE
-
FROM CDB_DATA_FILES
-
GROUP
BY TABLESPACE_NAME
) T
-
WHERE F
.TABLESPACE_NAME
= T
.TABLESPACE_NAME
AND T
.TABLESPACE_NAME
LIKE
'ABC%'
;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69995495/viewspace-2760392/
,如需转载,请注明出处,否则将追究法律责任。