版权声明:本文为博主吕小布原创文章,未经允许不得转载。 https://blog.csdn.net/qq_36769100/article/details/80997097
摘要:
记录一下操作oracle表空间的基本操作,比如查看大小,查看位置,修改大小等。
目录简介
1.查看表空间大小及使用情况;
2.查看表空间位置;
3.修改表空间大小;
4.使用navicat操作表空间;
一、查看表空间大小及使用情况:
1.1.查看表空间大小,sql语句如下:
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
SELECT FILE_NAME as 数据文件,TABLESPACE_NAME as 表空间名称,AUTOEXTENSIBLE as 自动扩展,STATUS as 状态,MAXBYTES as 可扩展最大值,USER_BYTES as 已使用大小,INCREMENT_BY as 自动扩展增量 FROM dba_data_files
以上两条sql均能查看。
1.2.查看表空间使用情况,sql如下:
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;
二、查看表空间在本地的保存位置
2.1.为什么要查看:
在通过sql修改表空间大小时,肯定是需要知道表空间文件的存储位置的
2.2.查看保存位置,sql如下:
1.select name from v$datafile;
2.Select * FROM DBA_DATA_FILES;
以上两个sql均能查看,第二个查看的信息比较多一些。
三、修改表空间大小
3.1.首先知道表空间的存储位置
3.2.修改表空间大小,sql如下:
--扩展空间,将数据文件扩大至5000MB
alter database datafile 'D:\DataBase\Test.DBF' resize 5000m;
--自动增长,表空间不足时增加200MB,最大扩展5000MB
alter database datafile 'D:\DataBase\Test.DBF' autoextend on next 200m maxsize 5000m;
--扩展无限大空间
alter database DATAFILE 'D:\DataBase\Test.DBF' autoextend on maxsize unlimited;
关于无限大空间的限制:
表空间的大小与DA_BLOCK_SIZE有关,所以无限大空间并非能无线扩展.
四、通过navicat操作表空间
菜单栏中——其他——表空间
然后可以在右侧找到目标表空间,然后进行操作。