如何查看ORACLE数据库剩余空间?

如何查看ORACLE数据库剩余空间?,第1张

1. 查看所有表空间大小\x0d\x0aSQL>select tablespace_name,sum(bytes)/1024/1024 || 'M' from dba_data_files\x0d\x0a group by tablespace_name\x0d\x0a2. 已经使用的表空间大小\x0d\x0aSQL>select tablespace_name,sum(bytes)/1024/1024 || 'M'\x0d\x0a from dba_free_space\x0d\x0a group by tablespace_name\x0d\x0a3. 所以使用空间可以这样计算\x0d\x0aselect a.tablespace_name,total,free,total-free used from\x0d\x0a( select tablespace_name,sum(bytes)/1024/1024 || 'M'\x0d\x0a total from dba_data_files\x0d\x0agroup by tablespace_name) a, \x0d\x0a( select tablespace_name,sum(bytes)/1024/1024|| 'M' free from dba_free_space\x0d\x0agroup by tablespace_name) b\x0d\x0awhere a.tablespace_name=b.tablespace_name\x0d\x0a\x0d\x0a4. 下面这条语句查看所有segment的大小。\x0d\x0aSelect Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name\x0d\x0a5. 还有在命令行情况下如何将结果放到一个文件里。\x0d\x0aSQL>spool out.txt\x0d\x0aSQL>select * from v$database\x0d\x0aSQL>spool off

Sybase公司是世界著名的数据库厂家,其关系数据库产品SYBASE SQL Server在中国大中型企事业单位中拥有大量的用户。针对获取数据库相关信息也提供了对应的API,以便管理进行维护。

一.sp_spaceused 可看到数据库空间包括日志(对应数据库)

打开Sql Advantage 对话框——输入sp_spaceused(上边数据库选择要查的数据库)或直接

use your_db_name

go

sp_spaceused

go

运行!出现如下信息

Database name:数据库名称

Datebase Size:数据库空间总大小

Reserved:已分配空间

data数据:已分配空间中数据占用空间大小

index_size索引:已分配空间中index_size索引占用空间大小

unused:为已分配空间中未使用空间大小

计算关系:

reserved(已分配空间)=data+index_size+unused

剩余空间= Datebase Size(总空间)—已分配空间(resrved)

二.sp_helpdb db_name 可看到数据库占用的数据库设备device的空间信息(对应数据库设备和数据库)

打开Sql Advantage 对话框——输入sp_s helpdb db local(local为要看的数据库名字如不输入则显示所有数据库)

运行!显示如下信息:

(一).数据库方面

1. name:数据库名字

2. db_size:数据库空间大小

3. owner:数据库所有者

4. created:数据库创建时间

5. status:状态

(二).数据库设备方面

1. device_fragments:数据库设备名称

2. size:数据库占用数据库设备的空间大小 单位MB

3. usage:用法 用途

4. created:数据库占用的数据库设备的空间的创建时间

5. free kbytes :数据库占用的数据库设备的剩余空间 单位KB

6. log only free

kbytes:数据库日志设备中日志剩余空间 单位KB

注意:由于数据库创建后不一定全部占用数据库设备的所有空间,可以在以后通过增加的方法占用设备空间,因此每增加一次就会有一条数据库设备信息

计算关系:

剩余空间=所有free Kbytes(剩余KB)相加+log only

free Kbytes

数据库占用数据库设备总空间(size)=size1+size2+……..(所有相加)=数据库总空间(db_size)=

reserved(已分配空间)+剩余空间

free Kbytes(剩余KB)相加+log only free Kbytes= Datebase

Size(总空间)—已分配空间(resrved)

在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率:

1、查询各个磁盘分区的剩余空间:

Exec master.dbo.xp_fixeddrives

2、查询数据库的数据文件及日志文件的相关信息(包括文件组、当前文件大小、文件最大值、文件增长设置、文件逻辑名、文件路径等)

select * from [数据库名].[dbo].[sysfiles]

转换文件大小单位为MB:

select name, convert(float,size) * (8192.0/1024.0)/1024. from [数据库名].dbo.sysfiles

3、查询当前数据库的磁盘使用情况:

Exec sp_spaceused

4、查询数据库服务器各数据库日志文件的大小及利用率

DBCC SQLPERF(LOGSPACE)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9912602.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存