Oracle数据库表空间的一些基本操作

版权声明:本文为博主吕小布原创文章,未经允许不得转载。 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操作表空间

    菜单栏中——其他——表空间

    然后可以在右侧找到目标表空间,然后进行操作。


如果有书写错误的地方,或者是有问题的地方请及时评论或者是私信我,以免误导个别萌新。
虽然我也是个萌新。
你好,我叫吕小布。











猜你喜欢

转载自blog.csdn.net/qq_36769100/article/details/80997097