1 查看所有表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files 2 group by tablespace_name; 2 已经使用的表空间大小 SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space 2 group by tablespace_name; 3 所以使用空间可以这样计算 select atablespace_name,total,free,total-free used from ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) a, ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name) b where atablespace_name=btablespace_name; 4 下面这条语句查看所有segment的大小。 Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 5 还有在命令行情况下如何将结果放到一个文件里。 SQL> spool outtxt SQL> select from v$database; SQL> 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)
1 获取mongoDB中数据库的大小命令
use databasename
dbstats()
显示信息如下
> dbstats()
{
"collections" : 3,
"objects" : 80614,
"dataSize" : 21069700,
"storageSize" : 39845376,
"numExtents" : 9,
"indexes" : 2,
"indexSize" : 6012928,
"ok" : 1
}
其中storage表示的就是数据库的大小,显示出的数字的单位是字节,因此如果需要转换单位为KB需要除以1024
2 获取MongoDB中collection
dbcollectiondataSize()
//collection中的数据大小
dbcollectionstorageSize()
//为collection分配的空间大小,包括未使用的空间
dbcollectiontotalIndexSize()
collection中索引数据大小
dbcollectiontotalSize()
collection中索引+data所占空间
捕捉SQL Server 2005数据库大小的趋势,这是非常重要的,因为DBA们可以利用这些信息来规划未来的空间需求,问题的通知类型,并规划繁重负载的时间段。本文将介绍一种捕捉这一信息的简单的方法。
SQL Server上的每个数据库都包含了关于数据库文件的大小的信息,连同其他一些相关信息。为了得到这个信息,我们需要一个方法来从单个数库中一次性检索出相关的数据。
有两个方法可以实现这个功能:
sp_spaceused:这个系统存储过程将返回当前数据库中的表、索引视图或 SQL Server 2005 Service Broker 队列所使用的磁盘空间。这是存储过程的返回数据库或者数据库中表的大小,但是报告的输出内容不太友好,不好理解。该存储过程通过脚本来捕获每个数据库的信息,但它可能需要用到用户自定义的光标。
sp_msforeachdb:这是一个非常有用的系统存储过程,将任何SQL脚本传递给你在每个数据库上的SQL Server实例上来执行。存储过程遍历每个数据库,这样就省却了您一项项指定数据库名称了。本文我们将利用这个存储过程来捕获各个数据库文件大小的信息。
这些资料我想收集和储存可以在sysdatabase_files系统视图中获得,包括数据库文件的大小,以及其他一些相关的信息,如数据库状态,数据库文件的增长方式(按绝对大小递增还是按百分比递增),是否是只读的等等。我需要捕获每个数据库中的这些信息。
IFOBJECT_ID('DatabaseFiles')ISNULLBEGINSELECTTOP0INTODatabaseFiles
FROMsysdatabase_files
ALTERTABLEDatabaseFiles
ADDCreationDateDATETIMEDEFAULT(GETDATE())END现在需要填充DatabaseFiles数据表。下面这个脚本使用sp_msforeachdb存储过程,并通过一个SQL脚本从sysdatabase_files读取数据,并插入到DatabaseFiles数据表中。
EXECUTE sp_msforeachdb 'INSERT INTO DatabaseFiles SELECT , GETDATE() FROM []sysdatabase_files'
从脚本中我们可以发现,每个数据库的数据库名称,有点特别:使用[ ]作为视图sysdatabase_files的前缀。
此代码执行时,实际上是遍历每个数据库实例,将数据库名称作为参数代替[ ]标记。每个数据库的信息,将插入到DatabaseFiles表。这比自己写一个自定义游标实现起来容易很多。我还增加了一个GETDATE( )函数,用来记录记录插入到表中的时间。
注意:这个例子有点违背编码标准,使用SELECT 插入到一个表时,没有明确写明字段名称不列清单。如果用于实际项目中,建议大家作下修改,注明字段名称。
为了确保正确捕获到所有的数据,我们来看看DatabaseFiles数据表中的内容。
SELECT FROM DatabaseFiles
执行上面的命令后,可以得到类似以下的信息:
以上就是关于怎么查看oracle数据库表的大小全部的内容,包括:怎么查看oracle数据库表的大小、sybase数据库 如何使用sql语句查询,数据库容量大小和数据库使用量大小、如何获取mongoDB数据库大小Collection大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)