1如何判断数据库表空间使用情况

合集下载

Oracle数据库日常检查文档

Oracle数据库日常检查文档

数据库日常检查文档1. 检查表空间使用情况:1.1 检查是否开启自扩展功能:select tablespace_name,file_name,file_id,autoextensible,round((increment_by*8191)/(1024*1024),2)||'M' as 自扩展大小M fromdba_data_files;目的:检查表空间是否开启自扩展功能。

若检查自扩展特别小,请用下面的方法把自扩展根据数据量增长情况调大。

alter database datafile ' 新增加数据文件路径' autoextendon next *M maxsize unlimited;-- 把*替换为你需要的自扩展大小1.2 检查表空间的使用情况:select a.tablespace_name,a.totals 总大小M,b.frees 空闲大小M, round((a.totals-b.frees)/a.totals,4)*100||'%' 使用率from (select sum(bytes)/(1024*1024) as totals,tablespace_name from dba_data_filesgroup by tablespace_name) a,(select sum(bytes)/(1024*1024) as frees,tablespace_namefrom dba_free_spacegroup by tablespace_name) bwhere a.tablespace_name=b.tablespace_name ;目的:当表空间没有开启自扩展功能时,表空间的使用率大于等于85%时,需要向表空间增加数据文件。

开启自扩展功能的表空间,检查常用的表空间自扩展的大小不小于100M。

注:检查ulog 用户对应的表空间:select default_tablespacefrom dba_userswhere username='ULOG';Ulog 用户下的tlog 表主要是记录日志的,因为大部分的报表涉及记录日志。

Oracle 表空间查询与操作方法 电脑资料

Oracle 表空间查询与操作方法 电脑资料

Oracle 表空间查询与操作方法电脑资料一,1.查询oracle表空间的使用情况select b.fileid 文件ID,b.tablespacename 表空间,b.filename 物理文件名,b.bytes 总字节数,(b.bytes-sum(nvl(a.bytes,0))) 已使用,sum(nvl(a.bytes,0)) 剩余,sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比from dbafreespace a,dbadatafiles bwhere a.fileid=b.fileidgroup by b.tablespacename,b.filename,b.fileid,b.bytesorder by b.tablespacename2.查询oracle系统用户的默认表空间和临时表空间select defaulttablespace,temporarytablespace from dbausers 3.查询单张表的使用情况select segmentname,bytes from dbasegments where segmentname = 'RESTDEVTFACTDAY' and wner = USERRESTDEVTFACTDAY是您要查询的表名称4.查询所有用户表使用大小的前三十名select * from (select segmentname,bytes from dbasegments where wner = USER order by bytes desc ) where rownum <= 30 5.查询当前用户默认表空间的使用情况selecttablespacename,sum(totalContent),sum(usecontent),sum(sparec ontent),avg(sparepercent)from(SELECT b.fileid as id,b.tablespacename as tablespacename,b.bytes as totalContent,(b.bytes-sum(nvl(a.bytes,0))) as usecontent,sum(nvl(a.bytes,0)) as sparecontent,sum(nvl(a.bytes,0))/(b.bytes)*100 as sparepercentFROM dbafreespace a,dbadatafiles bWHERE a.fileid=b.fileid and b.tablespacename = (select defaulttablespace from dbausers where username = user) group by b.tablespacename,b.filename,b.fileid,b.bytes)GROUP BY tablespacename6.查询用户表空间的表select * from usertables=========================================================== =======================CREATE TABLESPACE testDATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M UNIFORM. SIZE 1M; #指定区尺寸为128k,如不指定,区尺寸默认为64k或CREATE TABLESPACE testDATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M MINIMUM EXTENT 50K EXTENT MANAGEMENT LOCALDEFAULT STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);可从dbatablespaces中查看刚创立的表空间的信息CREATE UNDO TABLESPACE testundoDATAFILE 'c:/oracle/oradata/db/testundo.dbf' SIZE 50M UNDO表空间的EXTENT是由本地的,而且在创立时的SQL语句中只能使用DATAFILE和EXTENT MANAGEMENT子句。

Oracle查询表空间使用情况

Oracle查询表空间使用情况

Oracle查询表空间使用情况--查询表空间使用情况SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",F.TOTAL_BYTES "空闲空间(M)",F.MAX_BYTES "最大块(M)"FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTESFROM SYS.DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MBFROM SYS.DBA_DATA_FILES DDGROUP BY DD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAMEORDER BY 1;--查询表空间的free spaceselect tablespace_name,count(*) as extends,round(sum(bytes) / 1024 / 1024, 2) as MB,sum(blocks) as blocksfrom dba_free_spacegroup by tablespace_name;--查询表空间的总容量select tablespace_name, sum(bytes) / 1024 / 1024 as MBfrom dba_data_filesgroup by tablespace_name;--查询表空间使用率select total.tablespace_name,round(total.MB, 2) as Total_MB,考试大论坛round(total.MB - free.MB, 2) as Used_MB,round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pctfrom (select tablespace_name, sum(bytes) / 1024 / 1024 as MBfrom dba_free_spacegroup by tablespace_name) free,(select tablespace_name, sum(bytes) / 1024 / 1024 as MBfrom dba_data_filesgroup by tablespace_name) totalwhere free.tablespace_name = total.tablespace_name;1.查找当前表级锁的SQL如下:select sess.sid,sess.serial#,lo.oracle_username,lo.os_user_name,ao.object_name,lo.locked_modefrom v$locked_object lo,dba_objects ao,v$session sesswhere ao.object_id = lo.object_id and lo.session_id = sess.sid;2.杀掉锁表进程:alter system kill session '436,35123';3.RAC环境中锁查找:SELECT inst_id,DECODE(request,0,'Holder: ','Waiter: ')||sid sess,id1, id2, lmode, request, type,block,ctimeFROM GV$LOCKWHERE (id1, id2, type) IN(SELECT id1, id2, type FROM GV$LOCK WHERE request>0)ORDER BY id1, request;4.监控当前数据库谁在运行什么SQL语句select osuser, username, sql_textfrom v$session a, v$sqltext bwhere a.sql_address =b.address order by address, piece;5.找使用CPU多的用户sessionselect a.sid,spid,status,substr(a.program,1,40) prog, a.terminal,osuser,value/60/100 value from v$session a,v$process b,v$sesstat cwhere c.statistic#=12 andc.sid=a.sid anda.paddr=b.addrorder by value desc;6.查看死锁信息SELECT (SELECT usernameFROM v$sessionWHERE SID = a.SID) blocker, a.SID, 'is blocking',(SELECT usernameFROM v$sessionWHERE SID = b.SID) blockee, b.SIDFROM v$lock a, v$lock bWHERE a.BLOCK = 1 AND b.request > 0 AND a.id1 = b.id1 AND a.id2 = b.id2;7.具有最高等待的对象SELECT o.OWNER,o.object_name, o.object_type, a.event,SUM (a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history a, dba_objects oWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDA TEAND a.current_obj# = o.object_idGROUP BY o.OWNER,o.object_name, o.object_type, a.eventORDER BY total_wait_time DESC;SELECT a.session_id, s.osuser, s.machine, s.program, o.owner, o.object_name, o.object_type, a.event,SUM (a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history a, dba_objects o, v$session sWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDA TEAND a.current_obj# = o.object_idAND a.session_id = s.SIDGROUP BY o.owner,o.object_name,o.object_type,a.event,a.session_id,s.program,s.machine,s.osuserORDER BY total_wait_time DESC;8.查询当前连接会话数select s.value,s.sid,ernamefromv$sesstat S,v$statname N,v$session Awheren.statistic#=s.statistic# andname='session pga memory'and s.sid=a.sidorder by s.value;9.等待最多的用户SELECT s.SID, ername, SUM (a.wait_time + a.time_waited) total_wait_time FROM v$active_session_history a, v$session sWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDA TE GROUP BY s.SID, ernameORDER BY total_wait_time DESC;10.等待最多的SQLSELECT a.program, a.session_id, er_id, ername, s.sql_text,SUM (a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history a, v$sqlarea s, dba_users dWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDA TEAND a.sql_id = s.sql_idAND er_id = er_idGROUP BY a.program, a.session_id, er_id, s.sql_text, ername;11.查看消耗资源最多的SQLSELECT hash_value, executions, buffer_gets, disk_reads, parse_callsFROM V$SQLAREAWHERE buffer_gets > 10000000 OR disk_reads > 1000000ORDER BY buffer_gets + 100 * disk_reads DESC;12.查看某条SQL语句的资源消耗SELECT hash_value, buffer_gets, disk_reads, executions, parse_callsFROM V$SQLAREAWHERE hash_Value = 228801498 AND address = hextoraw('CBD8E4B0');13.查询会话执行的实际SQLSELECT a.SID, ername, s.sql_textFROM v$session a, v$sqltext sWHERE a.sql_address = s.addressAND a.sql_hash_value = s.hash_valueAND a.status = 'ACTIVE'ORDER BY ername, a.SID, s.piece;14.显示正在等待锁的所有会话SELECT * FROM DBA_W AITERS;。

使用MySQL进行空间数据查询与分析

使用MySQL进行空间数据查询与分析

使用MySQL进行空间数据查询与分析MySQL是一种广泛应用于数据库管理系统的软件,在日常生活和工作中扮演着重要的角色。

除了传统的数据管理和处理功能外,MySQL还具备强大的空间数据查询和分析能力。

本文将详细介绍如何使用MySQL进行空间数据查询与分析,以帮助读者更好地利用这一功能。

一、空间数据的概念和应用空间数据是指与地理空间或几何空间相关的数据,例如地理坐标、面积、距离等。

在现实生活中,我们经常需要处理与空间相关的数据,如制定配送路线、规划城市布局、分析地震分布等。

因此,空间数据查询和分析成为了数据库管理系统的重要功能之一。

二、MySQL中的空间数据类型在MySQL中,空间数据类型可以通过使用扩展包来实现。

MySQL提供了几种常见的空间数据类型,包括点(Point)、线(LineString)、多边形(Polygon)等。

通过使用这些数据类型,我们可以轻松地存储和查询空间数据。

三、创建空间数据表要使用MySQL进行空间数据查询与分析,首先需要创建一个空间数据表。

在创建表时,我们可以为某一列指定特定的空间数据类型。

例如,我们要创建一个空间数据表来存储城市的边界信息,可以使用以下的SQL语句:CREATE TABLE cities (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255),boundary POLYGON);在这个例子中,我们创建了一个名为cities的空间数据表,其中包含了id、name和boundary三列。

其中,boundary列的类型为POLYGON,表示多边形类型的空间数据。

四、插入和查询空间数据在创建了空间数据表后,我们可以通过INSERT语句向表中插入空间数据。

例如,我们可以插入一些城市的边界信息,如下所示:INSERT INTO cities (name, boundary)VALUES ('北京', ST_GeomFromText('POLYGON((116.3125 39.9741, 116.4375 39.9741, 116.4375 39.9175, 116.3125 39.9175, 116.3125 39.9741))')),('上海', ST_GeomFromText('POLYGON((121.415 31.1825, 121.55 31.1825, 121.55 31.1075, 121.415 31.1075, 121.415 31.1825))'));以上的SQL语句中,我们利用了ST_GeomFromText函数将经纬度坐标转换为空间数据类型,并将其插入到boundary列中。

数据库中的空间数据存储与查询方法

数据库中的空间数据存储与查询方法

数据库中的空间数据存储与查询方法在数据库中,空间数据存储与查询是一个重要的主题。

随着信息技术的不断发展,空间数据扮演着越来越重要的角色,例如地理信息系统(GIS)、导航应用、位置服务等等。

数据库管理系统(DBMS)因此需要提供专门的存储和查询方法来处理这些空间数据。

本文将重点讨论数据库中的空间数据存储与查询方法,并介绍一些常用的技术和工具。

一、空间数据存储1. 空间数据类型在数据库中存储空间数据,首先需要使用适当的数据类型。

常见的空间数据类型有点(Point)、线(Line)、面(Polygon)等。

这些数据类型可以通过标准的几何模型(如欧几里得几何、曲线几何等)进行表示。

例如,在关系数据库中,可以使用几何对象封装语言(Geometry Object Model)来定义和管理这些空间数据类型。

2. 空间索引由于空间数据的特殊性,常规索引无法满足其存储和查询的需求。

因此,需要使用专门的空间索引来提高查询性能。

常见的空间索引包括四叉树(Quadtree)、R树(R-tree)等。

这些索引结构能够将空间数据按照层次结构进行组织,并高效地支持范围查询、距离查询等操作。

3. 空间数据编码为了有效地存储和传输空间数据,需要对其进行编码。

常见的空间数据编码方式包括Well-Known Text(WKT)、Well-Known Binary (WKB)、GeoJSON等。

这些编码方式能够将空间数据转换为文本或二进制格式,以便于在数据库中进行存储和查询。

二、空间数据查询1. 空间查询语言为了方便用户使用数据库中的空间数据,需要提供一种专门的查询语言。

常见的空间查询语言包括SQL/MM标准中定义的空间查询语言、OGC的Simple Feature Access标准中定义的查询语言等。

这些查询语言能够支持复杂的空间查询操作,如距离查询、相交查询、邻域查询等。

2. 空间查询操作在数据库中进行空间查询,常见的操作包括空间过滤、空间约束、空间连接等。

Oracle数据库日常巡检指令

Oracle数据库日常巡检指令

Oracle 数据库日常巡检指令Oracle数据库的日常巡检内容包括:Oracle数据库基本状况检查;Oracle相关资源的使用情况检查;Oracle数据库性能检查;数据库服务器cpu、mem和I/O 性能检查;数据库服务器安全性及其他事项检查等五大检查项目。

1、数据库基本状况检查(1)、数据库实例状况检查说明:其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。

(2)、数据库表空间状态检查说明:输出结果中STATUS应该都为“ONLINE”。

(3)、数据库数据文件检查1 select tablespace_name,status from dba_tablespaces;说明:输出结果中“STATUS”应该都为“AVAILABLE”。

(4)、数据库在线日志检查1 select group#,status,type,member from v$logfile;说明:输出结果应该有3条或3条以上记录,“STATUS”应该为非“INVALID”,非“DELETED”。

“STATUS”的值为空表示正常。

(5)、数据库回滚段检查1 select segment_name,status from dba_rollback_segs;说明:输出结果中所有回滚段的“STATUS”应该为“ONLINE”。

2、数据库相关资源使用情况检查(1)、检查Oracle初始化文件中相关参数值1 select resource_name,max_utilization,initial_allocation, limit_value from v$resource_limit;说明:若字段值【LIMIT_VALU】-【MAX_UTILIZATION】<=5,则表明与RESOURCE_NAME相关的Oracle初始化参数需要调整。

Oracle中查询表的大小、表的占用情况和表空间的大小

Oracle中查询表的大小、表的占用情况和表空间的大小

Oracle中查询表的⼤⼩、表的占⽤情况和表空间的⼤⼩有两种含义的表⼤⼩。

⼀种是分配给⼀个表的物理空间数量,⽽不管空间是否被使⽤。

可以这样查询获得字节数:select segment_name, bytesfrom user_segmentswhere segment_type = 'TABLE';或者Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name另⼀种表实际使⽤的空间。

这样查询:analyze table emp compute statistics;select num_rows * avg_row_lenfrom user_tableswhere table_name = 'EMP';查看每个表空间的⼤⼩Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name1.查看剩余表空间⼤⼩SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name;2.检查系统中所有表空间总体空间select ,sum(a.bytes/1000000)总空间 from v$datafile a,v$tablespace b where a.ts#=b.ts# group by ; 1、查看Oracle数据库中表空间信息的⼯具⽅法: 使⽤oracle enterprise manager console⼯具,这是oracle的客户端⼯具,当安装oracle服务器或客户端时会⾃动安装此⼯具,在windows操作系统上完成oracle安装后,通过下⾯的⽅法登录该⼯具:开始菜单——程序——Oracle-OraHome92——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择‘独⽴启动’单选框——‘确定’ —— ‘oracle enterprise manager console,独⽴’ ——选择要登录的‘实例名’ ——弹出‘数据库连接信息’ ——输⼊’⽤户名/⼝令’ (⼀般使⽤sys⽤户),’连接⾝份’选择选择SYSDBA——‘确定’,这时已经成功登录该⼯具,选择‘存储’ ——表空间,会看到如下的界⾯,该界⾯显⽰了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

表空间检查标准

表空间检查标准

表空间检查标准全文共四篇示例,供读者参考第一篇示例:表空间是数据库中存储数据的地方,是数据库中存储结构和数据的重要组成部分。

表空间检查是数据库管理员在维护数据库时非常重要的一项工作,通过定期对表空间进行检查,可以及时发现问题并采取相应的措施进行处理,保证数据库的正常运行。

下面我们来详细介绍一下关于表空间检查的标准。

一、表空间使用情况检查标准1. 表空间空间利用率:通过检查每个表空间的空间利用率,可以及时发现哪些表空间的空间使用已经接近或已经超过设定的阈值,从而及时对表空间进行扩展或者释放空间。

2. 表空间文件个数:检查每个表空间的数据文件个数,确保每个表空间的数据文件数量和大小合理,避免数据文件过多或者过大导致数据库性能下降。

4. 表空间碎片情况:检查每个表空间的碎片情况,及时发现碎片过多或者碎片分布不均等问题,并采取相应的措施进行整理。

1. 表空间读写性能:检查每个表空间的读写性能,确保读写速度在可接受范围内,避免因为读写性能不足导致数据库响应缓慢。

2. 表空间索引性能:检查每个表空间的索引性能,确保索引的建立和使用合理,避免因为索引性能不足导致查询效率低下。

4. 表空间备份恢复性能:检查每个表空间的备份和恢复性能,确保备份和恢复过程能够顺利进行,避免因为备份和恢复性能不足导致数据丢失或损坏。

1. 表空间访问权限:检查每个表空间的访问权限,确保只有经过授权的用户能够访问表空间,避免数据泄露或者破坏。

2. 表空间数据完整性:检查每个表空间的数据完整性,确保数据没有被篡改或者损坏,避免因为数据完整性问题导致数据库无法正常运行。

四、表空间容量规划标准1. 表空间容量规划:根据数据库的使用情况和增长预测,进行合理的表空间容量规划,确保数据库有足够的空间供应,避免因为空间不足导致数据库出现问题。

2. 表空间扩展规划:根据数据库的增长情况和表空间利用率,及时对表空间进行扩展,确保数据库能够顺利运行。

第二篇示例:表空间是数据库管理系统中存储数据和索引的地方,是数据库中的一项非常重要的资源。

查询数据库使用率的命令

查询数据库使用率的命令

查询数据库使用率的命令1.引言1.1 概述在当今信息时代,数据库起着至关重要的作用,几乎所有的应用程序都需要使用数据库来存储和管理数据。

一个合理高效的数据库管理是确保应用系统正常运行的关键因素之一。

而查询数据库使用率的命令则是监测和评估数据库系统性能的重要手段之一。

查询数据库使用率的命令可以帮助管理员了解数据库的负载情况,从而判断数据库的性能是否达到系统要求。

通过查询数据库使用率,管理员可以掌握数据库的运行情况,及时发现性能问题并进行优化调整,确保数据库的持续稳定运行。

本文将介绍一些常用的查询数据库使用率的命令,这些命令可以用于监控数据库的运行状态、了解读写操作的频率以及查询响应时间等指标。

通过使用这些命令,管理员可以及时发现数据库的瓶颈,优化数据库的性能,提高系统的响应速度和稳定性。

文章的后续内容将逐步介绍这些命令的具体用法和使用场景,帮助管理员更好地利用这些命令监控和管理数据库。

同时,文章还将展望查询数据库使用率的命令在未来的发展方向和应用前景,为管理员提供更多的参考和思路。

在今后的数据库管理工作中,查询数据库使用率的命令将成为必不可少的工具,它将帮助管理员更好地了解和管理数据库的运行状态,提升系统的性能和稳定性。

随着数据库技术的不断创新和发展,查询数据库使用率的命令将不断与其他相关技术相结合,为数据库管理带来更大的便利和效益。

通过本文的介绍,读者将能够深入了解查询数据库使用率的命令的重要性,掌握一些常用的命令用法,并对未来的发展方向进行展望。

相信这些内容将对广大数据库管理员在日常工作中发挥积极的指导作用。

接下来,我们将开始介绍查询数据库使用率的重要性。

1.2文章结构文章结构是指文章的整体组织架构,包括各个章节、段落和标点的安排。

在本篇长文中,文章结构分为引言、正文和结论三个部分。

引言部分会简要介绍本文的主题和目的,为读者提供一个整体的概述。

通过引言,读者可以了解到本文将讨论查询数据库使用率的命令,以及查询数据库使用率的重要性和展望。

Oracle查看表空间的大小及使用情况sql语句

Oracle查看表空间的大小及使用情况sql语句

Oracle查看表空间的⼤⼩及使⽤情况sql语句表空间使⽤情况包括:查看表空间的名称及⼤⼩/查看表空间物理⽂件的名称及⼤⼩/查看回滚段名称及⼤⼩等等感兴趣的你可以参考下本⽂SQL1:复制代码代码如下:--1、查看表空间的名称及⼤⼩SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_sizeFROM dba_tablespaces t, dba_data_files dWHERE t.tablespace_name = d.tablespace_nameGROUP BY t.tablespace_name;--2、查看表空间物理⽂件的名称及⼤⼩SELECT tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_spaceFROM dba_data_filesORDER BY tablespace_name;--3、查看回滚段名称及⼤⼩SELECT segment_name,tablespace_name,r.status,(initial_extent / 1024) initialextent,(next_extent / 1024) nextextent,max_extents,v.curext curextentFROM dba_rollback_segs r, v$rollstat vWHERE r.segment_id = n(+)ORDER BY segment_name;--4、查看控制⽂件SELECT NAME FROM v$controlfile;--5、查看⽇志⽂件SELECT MEMBER FROM v$logfile;--6、查看表空间的使⽤情况SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_nameFROM dba_free_spaceGROUP 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 cWHERE a.tablespace_name = b.tablespace_nameAND a.tablespace_name = c.tablespace_name;--7、查看数据库库对象SELECT owner, object_type, status, COUNT(*) count#FROM all_objectsGROUP BY owner, object_type, status;--8、查看数据库的版本 SELECT versionFROM product_component_versionWHERE substr(product, 1, 6) = 'Oracle';--9、查看数据库的创建⽇期和归档⽅式SELECT created, log_mode, log_mode FROM v$database;SQL2:复制代码代码如下:--1G=1024MB--1M=1024KB--1K=1024Bytes--1M=11048576Bytes--1G=1024*11048576Bytes=11313741824Bytes SELECT a.tablespace_name "表空间名",total "表空间⼤⼩",free "表空间剩余⼤⼩",(total - free) "表空间使⽤⼤⼩",total / (1024 * 1024 * 1024) "表空间⼤⼩(G)",free / (1024 * 1024 * 1024) "表空间剩余⼤⼩(G)", (total - free) / (1024 * 1024 * 1024) "表空间使⽤⼤⼩(G)", round((total - free) / total, 4) * 100 "使⽤率 %"FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_spaceGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM(bytes) total FROM dba_data_filesGROUP BY tablespace_name) bWHERE a.tablespace_name = b.tablespace_name。

Oracle查看表空间使用情况

Oracle查看表空间使用情况
--
1.查看表空间已经使用的百分比
select a.tablespace_name,
a.bytes / 1024 / 1024 "Sum MB",
(a.bytes - b.bytes) / 1024 / 1024 "used MB",
据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。
select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files
b.bytes / 1024 / 1024 "free MB",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"
from (select tablespace_name, sum(bytes) bytes
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
order by ((a.bytes - b.bytes) / a.bytes) desc
“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小
from dba_data_files
group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes, max(bytes) largest

oracle 数据库巡检语句

oracle 数据库巡检语句

oracle 数据库巡检语句进行Oracle数据库巡检时,可以使用一系列SQL语句来检查数据库的健康状况、性能和安全性。

以下是一些常用的Oracle数据库巡检语句:1. 检查数据库实例的运行情况:SELECT instance_name, host_name, version,startup_time, status FROM v$instance;2. 检查数据库的空间使用情况:SELECT tablespace_name, sum(bytes)/1024/1024 AS "Total Size (MB)",。

sum(bytes blocks8192)/1024/1024 AS "Used Size (MB)",。

sum(blocks8192)/1024/1024 AS "Free Size (MB)"FROM dba_free_space.GROUP BY tablespace_name;3. 检查数据库的性能指标:SELECT FROM v$sysstat WHERE name LIKE 'parse count%';SELECT FROM v$sysstat WHERE name LIKE 'execute count%';SELECT FROM v$sysstat WHERE name LIKE 'user commits';4. 检查数据库的会话和进程信息:SELECT username, osuser, machine, program FROM v$session;SELECT spid, osuser, username, program FROMv$process;5. 检查数据库的表空间和数据文件信息:SELECT tablespace_name, file_name, bytes/1024/1024 AS "File Size (MB)",。

Oracle查看表空间的大小及使用情况sql语句

Oracle查看表空间的大小及使用情况sql语句

Oracle查看表空间的⼤⼩及使⽤情况sql语句--查看表空间名称、⼤⼩、使⽤⼤⼩、剩余⼤⼩和使⽤率:SELECT a.tablespace_name "表空间名称",total / (1024 * 1024) "表空间⼤⼩(M)",free / (1024 * 1024) "表空间剩余⼤⼩(M)",(total - free) / (1024 * 1024 ) "表空间使⽤⼤⼩(M)",total / (1024 * 1024 * 1024) "表空间⼤⼩(G)",free / (1024 * 1024 * 1024) "表空间剩余⼤⼩(G)",(total - free) / (1024 * 1024 * 1024) "表空间使⽤⼤⼩(G)",round((total - free) / total, 4) * 100 "使⽤率 %"FROM (SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spaceGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM(bytes) totalFROM dba_data_filesGROUP BY tablespace_name) bWHERE a.tablespace_name = b.tablespace_name查看表空间物理⽂件的名称及⼤⼩SELECT tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_spaceFROM dba_data_filesORDER BY tablespace_name;--查看表空间是否⾃动增长SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;--设置表空间⾃动增长:ALTER DATABASE DATAFILE '/表空间路径/表空间⽂件名称.dbf' AUTOEXTEND ON;//打开⾃动增长ALTER DATABASE DATAFILE '/表空间路径/表空间⽂件名称.dbf' AUTOEXTEND ON NEXT 200M ;//每次⾃动增长200MALTER DATABASE DATAFILE '/表空间路径/表空间⽂件名称.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次⾃动增长200M,表空间最⼤不超过1G。

如何查看表空间使用情况

如何查看表空间使用情况

如何查看表空间使用情况2009-07-25 16:03select e.tablespace_name 表空间,round(e.总空间,0) "总空间(MB)",round(f.剩余空间,0) "剩余空间(MB)",round(f.剩余空间/e.总空间*100,0) 剩余空间百分比from(select tablespace_name,sum(bytes)/1024/1024 总空间from dba_data_files group by tablespace_name) e,(select tablespace_name,sum(bytes)/1024/1024 剩余空间from dba_free_space group by tablespace_name) fwhere e.tablespace_name=f.tablespace_nameorder by 剩余空间百分比1. 查看所有表空间大小Sql代码1.select tablespace_name,sum(bytes)/1024/1024 fromdba_data_files2.roup by tablespace_name;2. 未使用的表空间大小Sql代码1.select tablespace_name,sum(bytes)/1024/1024 fromdba_free_space2.group by tablespace_name;3. 所以使用空间可以这样计算Sql代码1.select a.tablespace_name,total,free,total-free used from2.( select tablespace_name,sum(bytes)/1024/1024 total fromdba_data_files3.group by tablespace_name) a,4.( select tablespace_name,sum(bytes)/1024/1024 free fromdba_free_space5.group by tablespace_name) b6.where a.tablespace_name=b.tablespace_name;4. 还有在命令行情况下如何将结果放到一个文件里。

查表空间大小的语句

查表空间大小的语句

查表空间大小的语句1. 嘿,你想知道怎么查表空间大小吗?这就像你要知道自己口袋能装多少东西一样重要呢。

比如说你在管理一个数据库,就像管理一个大仓库,你得清楚每个货架(表空间)能放多少货物(数据)呀。

我之前帮朋友看他公司的数据库,数据老是出问题,一查才发现是表空间大小没弄对,有些数据都没地方放了,可麻烦了。

2. 哟,查表空间大小可不难哦。

这就好比你要看看你家衣柜能装多少衣服似的。

我在工作的时候,遇到过一个项目,那里面的数据就像潮水一样涌进来。

我就得赶紧查查表空间大小够不够,不然数据就像没家的孩子,到处乱“跑”。

你要是负责数据库这一块,可不能对表空间大小稀里糊涂的。

3. 想弄清楚表空间大小吗?这就像你要量一量你那小存钱罐能装多少硬币一样。

我有次跟同事一起处理数据库的事,他完全不知道表空间大小,结果数据都快把“屋子”撑破了。

你可别像他那样呀。

就好比你开车得知道油箱能装多少油,管理数据库就得知道表空间大小。

4. 亲,查表空间大小超重要的。

你想想,这就如同你要知道你那个大背包能塞多少东西啊。

我以前在一个小公司,他们的数据库老是报警。

我去一看,原来是表空间大小设得不合理,就像盖房子的时候把房间建得太小,东西(数据)都堆不下了。

你要是不想让你的数据“无家可归”,就得学会查表空间大小。

5. 喂,知道怎么查表空间大小不?这事儿就像你得清楚你家冰箱能放多少食物一样关键。

我认识一个做数据维护的,他老是忽略表空间大小的检查。

结果呢,数据就像要溢出来的水,到处乱流。

要是你负责数据管理,你可不能这么迷糊呀,不然会出大乱子的。

6. 呀,表空间大小怎么查呢?这就好比你要搞清楚你那个小盒子能装多少小饰品一样。

我自己做项目的时候,有一次数据突然丢失了一部分。

我一查,发现表空间满了,新数据进不来,旧数据就被挤出去了,就像一群人挤在一个小房间里,总有几个会被挤出去。

你要是不想有这样的麻烦,就得学会查表空间大小。

7. 嘿呀,查表空间大小可不能马虎哦。

查看数据库空间占用情况

查看数据库空间占用情况

sp_spaceused显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。

语法sp_spaceused [[@objname =] 'objname'][,[@updateusage =] 'updateusage']参数[@objname =] 'objname'是为其请求空间使用信息(保留和已分配的空间)的表名。

objname的数据类型是nvarchar(776),默认设置为 NULL。

[@updateusage =] 'updateusage'表示应在数据库内(未指定objname时)还是在特定的对象上(指定objname 时)运行DBCC UPDATEUSAGE。

值可以是true或false。

updateusage的数据类型是varchar(5),默认设置为 FALSE。

返回代码值0(成功)或 1(失败)结果集如果省略objname,则返回两个结果集。

如果指定参数,则返回下面的结果集。

注释sp_spaceused计算数据和索引使用的磁盘空间量以及当前数据库中的表所使用的磁盘空间量。

如果没有给定objname,sp_spaceused则报告整个当前数据库所使用的空间。

当指定updateusage 时,Microsoft® SQL Server™ 扫描数据库中的数据页,并就每个表使用的存储空间对sysindexes表作出任何必要的纠正。

例如会出现这样一些情况:当除去索引后,表的sysindexes信息可能不是当前的。

该进程在大表或数据库上可能要花一些时间运行。

只有当怀疑所返回的值不正确,而且该进程对数据库中的其它用户或进程没有负面影响时,才应使用该进程。

如果首选该进程,则可以单独运行 DBCC UPDATEUSAGE。

权限执行权限默认授予public角色。

示例A. 有关表的空间信息下例报告为titles表分配(保留)的空间量、数据使用的空间量、索引使用的空间量以及由数据库对象保留的未用空间量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何判断数据库表空间使用情况
经常会有一些同事反映数据库表空间不足,使用率达到90%以上,我远程后发现,其实表空间还有很大的可扩展空间,之所有查出使用率95%以上,是与数据文件的扩展属性与查询语句有关,本文档介绍如何查看表空间最大可扩展空间。

1,数据文件与表空间介绍
表空间是一个逻辑概念,数据文件是物理概念,数据文件是实实在在存在于磁盘上的文件。

一个表空间可以1022个数据文件,公司项目中的一个数据文件如果开启了自动扩展属性,那最大可以扩展到32G。

2,查看数据文件信息
公司的绝大部分RAC环境是使用ASM方式管理数据文件的,可以通过数据文件名称直观的辨别数据文件是的存储方式,一般ASM磁盘名都是以加号"+"开头,例如"+DATA"、"+FRA"之类。

如果是单机环境,那数据文件会存放在本地文件系统上,例如D盘或E盘的某个目录下,使用select * from dba_data_files;命令查看当前数据库的数据文件信息,如下图:
建议按tablespace_name排序,图中DLMIS表空间有12个数据文件,而且12个数据文件都开启的自动扩展属性(AUTOEXTENSIBLE=YES),都存储在+DATA 磁盘组上,最大可扩展到12*32G=384G。

目前DLMIS表空间有4个文件扩展到了32G(图中红框标示)。

另外8个数据文件还有很大的可扩展空间,目测估计还有约130G左右的可扩展空间,所以DLMIS表空间当前是足够的。

其他表空间也是这样查看。

3,增加数据文件
如果某个表空间的所有数据文件都快扩展到了32G,那就需要手动增加数据文件,以DLMIS表空间为例,向DLMIS表空间增加一个数据文件:
alter tablespace dlmis add datafile '+DATA' size 2000m autoextend on; 命令意思是向dlmis表空间增加一个数据文件,存储在+DATA的ASM磁盘组上(ASM有自动管理的功能,它会根据表空间名与数据库名自动为数据文件生成一个唯一的名字,不需要手动写全),初始大小为2000m,开启自动扩展功能。

如下图:
该图是另一个项目中截取的,最后两个数据文件是新加了,同一条命令执行了两次,只写'+DATA',ASM为两个数据文件自动唯一命名了。

4,存储的空间
任何服务器磁盘或共享存储阵列都有最大空间限制,不可能永无止境的扩展,单机环境服务器本地磁盘大小很空间查看,RAC环境可能通过select name,total_mb,free_mb from v$asm_diskgroup;命令查看数据库使用的ASM磁盘组总大小与空闲大小
图中两个磁盘组都还在约500G的可用空间,足够扩容。

相关文档
最新文档