查看表空间数据文件

合集下载

Oracle管理表空间和数据文件详解

Oracle管理表空间和数据文件详解

Oracle管理表空间和数据⽂件详解介绍表空间是数据库的逻辑组成部分从物理上将:数据库数据存放在数据⽂件中从逻辑上将:数据库则是存放在表空间中表空间由⼀个或是多个数据⽂件组成数据库的逻辑结构介绍:Oracle中逻辑结构包括表空间、段、区、块说明:数据库由表空间构成⽽表空间⼜是由段构成⽽段⼜是由区构成⽽区⼜是由Oracle块构成这样的⼀种结果,可以提⾼数据库的效率表空间介绍:表空间⽤于从逻辑上组织数据库的数据数据库逻辑上是由⼀个或是多个表空间组成的表空间的作⽤:1、控制数据库占⽤的磁盘空间2、dba可以将不同数据类型部署到不同的位置。

这样有利于提⾼i/o性能,同时利于备份和恢复等管理操作建⽴表空间建⽴表空间是使⽤create tablespace命令完成的,要注意时,⼀般情况下,建⽴表空间是特权⽤户或是dba来执⾏的,如果⽤其它⽤户来创建表空间,则⽤户必须要具有create tablespace的系统权限建⽴数据表空间在建⽴数据库后,为便于管理表,最好建⽴⾃⼰的表空间create tablespace 表空间名 datafile '数据⽂件路径' size 数据⽂件的⼤⼩ uniform size 区的⼤⼩;create tablespace tangtao001 datafile 'd:\t001.dbf' size 20m uniform size 128k;使⽤数据表空间向新建的表空间添加表:create table myDept(deptno number(4),dname varchar2(15),loc varchar2(13)) tablespace tangtao001;说明:执⾏完上述命令后,会建⽴名称为tangtao001 的表空间,并为该表空间建⽴名称为t001.dbf的数据⽂件,区的⼤⼩为128k1、显⽰表空间信息a) 查询数据字典视图dba_tablespaces。

查看Oracle数据库表空间大小,是否需要增加表空间的数据文件

查看Oracle数据库表空间大小,是否需要增加表空间的数据文件
drop datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
--4确认磁盘空间足够,增加一个数据文件
alter tablespace MLOG_NORM_SPACE
add datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
size 10M autoextend on maxsize 20G
select file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB" from dba_data_files
where tablespace_name='MLOG_NORM_SPACE';
--3比如MLOG_NORM_SPACE表空间目前的大小为19GB,但最大每个数据文件只能为20GB,数据文件快要写满,可以增加表空间的数据文件
用操作系统UNIX、Linux中的df -g命令(查看下可以使用的磁盘空间大小)
获取创建表空间的语句:

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中查询当前数据库中的所有表空间和对应的数据⽂件语句命令Oracle中查询当前数据库中的所有表空间和对应的数据⽂件语句命令-----------------------------------------------------------------------------------------1、在cmd中输⼊sqlplus,弹出命令⾏窗体2、输⼊⼝令和密码3、SQL>col file_name for a60;4、SQL>set linesize 160;5、SQL>select file_name,tablespace_name,bytes from dba_data_files;---------------------------------------------------------------------------------------------同样的可以从dba_temp_files数据字典中查询临时表空间的信息SQL>select tablespace_name,file_name from dba_temp_files;----------------------------------------------------------------------------------------------删除Oracle表空间与表空间⽂件语句如下:SQL>drop tablespace 表空间名称 including contents and datafiles ;⽰例:--删除Oracle表空间和⽂件的语句命令drop tablespace 表空间名称 including contents and datafiles cascade constraints;--including contents 删除表空间中的内容--datafiles 删除表空间中的数据⽂件--cascade constraints 删除所有与表空间数据有关的级联,如主外键等----------------------------------------------------------------------------------------------。

linux下查看数据库表空间

linux下查看数据库表空间

1.在Linux下进入SQLPlus,# su – oracle$ sqlplus / as sysdbaSQL>2.查看一个表空间所对应的数据文件SQL>select file_name from dba_data_fileswhere tablespace_name=’BING’;FILE_NAME————————————————————————————————————-/u01/app/oracle/oradata/ora10g/bing001.dbf/u01/app/oracle/oradata/ora10g/bing002.dbf3.查看一个表空间数据文件的大小SQL>select tablespace_name, sum(bytes)/1024/1024―SIZE_M‖,sum(maxbytes)/1024/1024 ―MAX_SIZE‖from dba_data_fileswhere tablespace_name=’BING’group by tablespace_name;TABLESPACE_NAME SIZE_M MAX_SIZE—————————————- ———-BING 200 33791.98444.查看一个表空间空闲的大小,SQL>select tablespace_name, sum(bytes)/1024/1024 ―Free_M‖from dba_free_spacewhere tablespace_name=’BING’group by tablespace_name;TABLESPACE_NAME Free_M—————————————-BING 199.875说明:size_M说明BING这个表空间对应的数据文件现在的大小是200MB,Free_M说明现在这个表空间还剩余199.874MB。

由于这个表空间设置了自动扩展,MAX_SIZE 说明这个表空间最大可以增大到33791.9844 MB5.其他方法查看a. 在Oracle10g新增加了视图dba_tablespace_usage_metrics,以block为单位显示使用率。

如何查看ORACLE空间占用问题

如何查看ORACLE空间占用问题

1、查看ORACLE表空间及表数据大小Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents group By Segment_Name order by Sum(bytes)/1024/1024 desc;2、从返回的结果看,有一个segment名为"SYS_LOB0000053810C00004$$"的对象占用了大量的空间;即LOB(BLOB和CLOB)对象占用的大小对象3、根据segment_name,就可以从dba_lobs 表里查到是哪个表,哪个字段;select * from dba_lobs where segment_name like 'your_segment_name';里面显示的TABLE_NAME和COLUMN_NAME为表名和字段名。

set pagesize 200column "数据文件名称" format a25column "表空间名称" format a18column "容量(M)" format a12column "使用率%" format a12column "最大容量(M)" format a15column "可扩充容量(M)" format a15column "空闲(M)" format a12column "自动扩展" format a10select a.FILE_NAME "数据文件名称",a.TABLESPACE_NAME"表空间名称",to_char(100-round((nvl(b.free_bytes,0)/a.BYTES)*100,2)) "使用率%", to_char(round(a.BYTES/1024/1024,2)) "容量(M)",to_char(round(nvl(b.free_bytes,0)/1024/1024,2)) "空闲(M)",to_char(round(decode(a.autoextensible,'YES',a.maxbytes/1024/1024,'NO' ,a.bytes/1024/1024),2)) "最大容量(M)",a.autoextensible "自动扩展",to_char(round(decode(a.autoextensible,'YES',a.maxbytes/1024/1024,'NO' ,a.bytes/1024/1024)-a.BYTES/1024/1024,2)) "可扩充容量(M)"from dba_data_files a,(select FILE_ID,sum(bytes) free_bytes from dba_free_space groupby FILE_ID) bwhere a.FILE_ID=b.FILE_IDorderby to_number("可扩充容量(M)") asc;。

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。

查看表、表空间实际大小

查看表、表空间实际大小

查看指定表空间下最大的前10个表Select * from (select SEGMENT_NAME,SEGMENT_TYPE,bytes/1024/1024 total from dba_segments where TABLESPACE_NAME='SMS_DATA' order by bytes/1024/1024 desc ) where rownum <20;查看自动增长SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES where TABLESPACE_NAME='SYSTEM';查看所有表空间大小Select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;未使用的表空间大小Select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;查看所有表空间对应的文件select file_name,tablespace_name,bytes from dba_data_files where tablespace_name='SMS_DATA';select file_name,tablespace_name||','||bytes from dba_data_filesOracle中有两种含义的表大小一种是分配给一个表的物理空间数量,而不管空间是否被使用。

可以这样查询获得字节数:select segment_name, bytesfrom user_segmentswhere segment_type = TABLE;效果如下:或者Select Segment_Name,Sum(bytes)/1024/1024 from User_Extents Group By Segment_Name;效果如下:【这个查询速度慢】上两图结果所示,查询均为10896M分配给表的大小下图查询出该表当前占用的实际空间大小另一种表实际使用的空间。

Oracle临时表空间查看、添加临时表空间数据文件、修改默认临时表空间方法!

Oracle临时表空间查看、添加临时表空间数据文件、修改默认临时表空间方法!

Oracle临时表空间查看、添加临时表空间数据⽂件、修改默认临时表空间⽅法!--查表空间使⽤率情况(含临时表空间)SELECT d.tablespace_name "Name", d.status "Status",TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,'99999999.99') USE,TO_CHAR (NVL ((a.BYTES - NVL (f.BYTES, 0)) / a.BYTES * 100, 0),'990.00') "Used %"FROM SYS.dba_tablespaces d,(SELECT tablespace_name, SUM (BYTES) BYTESFROM dba_data_filesGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM (BYTES) BYTESFROM dba_free_spaceGROUP BY tablespace_name) fWHERE d.tablespace_name = a.tablespace_name(+)AND d.tablespace_name = f.tablespace_name(+)AND NOT (d.extent_management LIKE 'LOCAL' AND d.CONTENTS LIKE 'TEMPORARY')UNION ALLSELECT d.tablespace_name "Name", d.status "Status",TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"FROM SYS.dba_tablespaces d,(SELECT tablespace_name, SUM (BYTES) BYTESFROM dba_temp_filesGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM (bytes_cached) BYTESFROM v$temp_extent_poolGROUP BY tablespace_name) tWHERE d.tablespace_name = a.tablespace_name(+)AND d.tablespace_name = t.tablespace_name(+)AND d.extent_management LIKE 'LOCAL'AND d.CONTENTS LIKE 'TEMPORARY';1. 查询表空间剩余字节⼤⼩SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"FROM DBA_FREE_SPACEWHERE TABLESPACE_NAME = '&tablespace_name'GROUP BY TABLESPACE_NAME;注:如果是临时表空间,请查询DBA_TEMP_FREE_SPACESELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"FROM DBA_TEMP_FREE_SPACEWHERE TABLESPACE_NAME = '&tablespace_name';2. 查询表空间所有数据⽂件路径SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "BYTES(M)"FROM DBA_DATA_FILESWHERE TABLESPACE_NAME = '&tablespace_name';注:如果是临时表空间,请查询DBA_TEMP_FILESSELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"FROM DBA_TEMP_FILESWHERE TABLESPACE_NAME = '&tablespace_name';3. 为空间不⾜的表空间增加数据⽂件ALTER TABLESPACE &tablespace_name ADD DATAFILE '&datafile_name' SIZE 2G;注:如果要为临时表空间扩容,使⽤下⾯的语句ALTER TABLESPACE &tablespace_name ADD TEMPFILE '&datafile_name' SIZE 2G;4.查看临时表空间的⼤⼩和数据⽂件路径SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"FROM DBA_TEMP_FILESWHERE TABLESPACE_NAME = 'TEMP';或者select name, bytes/1024/1024 as "⼤⼩(M)" from v$tempfile order by bytes;5.重建并修改默认临时表空间办法:--查询当前数据库默认临时表空间名select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';--创建新的临时表空间create temporary tablespace temp02 tempfile 'E:\oracle\oradata\lims\TEMP02.DBF' size 1024M autoextend on; --修改默认表空间为刚刚建⽴的临时表空间alter database default temporary tablespace temp02;--查看⽤户所⽤临时表空间的情况SELECT USERNAME,TEMPORARY_TABLESPACE FROM DBA_USERS;--删除原来的临时表空间drop tablespace temp including contents and datafiles;--查看所有表空间名确认临时表空间是否已删除select tablespace_name from dba_tablespaces;。

Oracle 查询表空间信息

Oracle  查询表空间信息

Oracle 查询表空间信息
表12-2中列出了各种包含有表空间信息的数据字典和动态性能视图。

表12-2 包含表空间信息的视图
视图说明
V$TABLESPACE 包含从控制文件中获取的表空间名称和编号信息
DBA_TABLESPACE 包含数据库中所有表空间的描述信息
DBA_SEGMENTS 包含所有表空间中的段的描述信息
DBA_EXTENTS 包含所有表空间中的区的描述信息
V$DA TAFILE 包含从控制文件中获取的数据文件的基本信息,包括它所属的表空间名称、编
号等
V$TEMPFILE 包含所有临时数据文件的基本信息
DBA_DATA_FILES 包含数据文件以及所属表空间的描述信息
DBA_TEMP_FILES 包含临时数据文件以及所属表空间的描述信息
V$TEMP_SPACE_POOL 包含本地管理方式的临时表空间的缓存信息
V$TEMP_EXTENT_MAP 包含本地管理方式的临时表空间中所有区的描述信息
V$SORT_SEGMENT 包含实例所创建的排序区的描述信息
V$SORT_USER 包含描述排序区的用户使用情况的信息。

Oracle删除、查看表空间及数据文件方法

Oracle删除、查看表空间及数据文件方法

Oracle删除、查看表空间及数据⽂件⽅法1、查找⼯作空间的路径select * from dba_data_files;2、删除⽤户,及级联关系也删除掉drop user ⽤户名 cascade;3、删除表空间,及对应的表空间⽂件也删除掉drop tablespace 表空间名including contents and datafiles cascade constraint;4、删除表空间--删除空的表空间,但是不包含物理⽂件drop tablespace tablespace_name;--删除⾮空表空间,但是不包含物理⽂件drop tablespace tablespace_name including contents;--删除空表空间,包含物理⽂件drop tablespace tablespace_name including datafiles;--删除⾮空表空间,包含物理⽂件drop tablespace tablespace_name including contents and datafiles;--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTSdrop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;5、删除⽆任何数据对象的表空间(1)、登录⽤户,确认当前⽤户是否有删除表空间的权限,如果没有使⽤更⾼级的⽤户登录drop tablespace xxx ,删除需要删除的表空间。

6、删除有任何数据对象的表空间drop tablespace xxx including contents and datafiles;注意事项:如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提⽰ora-01911错误7、查看表空间容量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;8、查看表空间物理⽂件的名称及⼤⼩SELECT tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_spaceFROM dba_data_filesORDER BY tablespace_name;9、查看回滚段名称及⼤⼩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;10、查看控制⽂件SELECT NAME FROM v$controlfile;11、查看⽇志⽂件SELECT MEMBER FROM v$logfile;12、查看表空间的使⽤情况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 c WHERE a.tablespace_name = b.tablespace_nameAND a.tablespace_name = c.tablespace_name;13、查看数据库库对象SELECT owner, object_type, status, COUNT(*) count# FROM all_objectsGROUP BY owner, object_type, status;14、查看数据库的版本SELECT versionFROM product_component_versionWHERE substr(product, 1, 6) = 'Oracle';15、查看数据库的创建⽇期和归档⽅式SELECT created, log_mode, log_mode FROM v$database; --1G=1024MB--1M=1024KB--1K=1024Bytes--1M=11048576Bytes--1G=1024*11048576Bytes=11313741824BytesSELECT 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) 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。

查询oracle表空间路径

查询oracle表空间路径

ORACLE查看表空间路径、当前用户的表空间等查看当前用户每个表占用空间的大小:Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name查看每个表空间占用空间的大小:Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name 查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)0、表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;查看用户下所有的表SQL>select * from user_tables;1、用户查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;显示当前会话所具有的权限SQL>select * from session_privs;显示指定用户所具有的系统权限SQL>select * from dba_sys_privs where grantee='GAME';2、表查看用户下所有的表SQL>select * from user_tables;SELECT * FROM ALL_TABLES;查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects whereobject_name=upper('&table_name');查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&table_name');查看放在ORACLE的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&index_name');4、序列号查看序列号,last_number是当前值SQL>select * from user_sequences;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;SELECT * FROM ALL_SYSNONYMS;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION';SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name'); select name from v$datafile修改oracle表空间的文件路径编写原因:1、oracle实例创建在91上面。

查询ORACLE表空间和数据文件信息

查询ORACLE表空间和数据文件信息

查询ORACLE表空间和数据⽂件信息表空间是oracle数据库中最⼤的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。

表空间在物理上体现为磁盘数据⽂件,每⼀个表空间由⼀个或多个数据⽂件组成,⼀个数据⽂件只可与⼀个表空间相联系,这是逻辑与物理的统⼀。

了解表空间和数据⽂件的的属性及使⽤率,是数据库管理员的⼀项重要职责。

下⾯以oracle9i为例,详细介绍查询Oracle数据库表空间信息和数据⽂件信息的⽅法。

⼀、查看Oracle数据库中表空间信息的⽅法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、查看Oracle数据库中表空间信息的命令⽅法:通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,⾸先使⽤客户端⼯具连接到数据库,这些⼯具可以是SQLPLUS字符⼯具、TOAD、PL/SQL等,连接到数据库后执⾏如下的查询语句:selecta.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间⼤⼩M,(b.b2-a.a2)/1024/1024 已使⽤M,substr((b.b2-a.a2)/b.b2*100,1,5) 利⽤率from(select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group bytablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group bytablespace_name) b,(select tablespace_name c1,contents c2,extent_management c3 fromdba_tablespaces) cwhere a.a1=b.b1 and c.c1=b.b1;该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

linux下查看数据库表空间

linux下查看数据库表空间

1. 在Linux下进入SQLPlus,# su – oracle$ sqlplus / as sysdbaSQL>2. 查看一个表空间所对应的数据文件SQL>select file_name from dba_data_fileswhere tablespace_name=’BING’;FILE_NAME————————————————————————————————/u01/app/oracle/oradata/ora10g/bing001.dbf/u01/app/oracle/oradata/ora10g/bing002.dbf3. 查看一个表空间数据文件的大小SQL>select tablespace_name,sum(bytes)/1024/1024“SIZE_M”,sum(maxbytes)/1024/1024“MAX_SIZE”from dba_data_fileswhere tablespace_name=’BING’group by tablespace_name;TABLESPACE_NAME SIZE_M MAX_SIZE —————————— ———- ———-BING 200 33791.98444. 查看一个表空间空闲的大小,SQL>select tablespace_name,sum(bytes)/1024/1024 “Free_M”from dba_free_spacewhere tablespace_name=’BING’group bytablespace_name;TABLESPACE_NAMEFree_M—————————— ———-BING 199.875说明:size_M 说明BING这个表空间对应的数据文件现在的大小是200MB, Free_M说明现在这个表空间还剩余199.874MB。

由于这个表空间设置了自动扩展,MAX_SIZE说明这个表空间最大可以增大到33791.9844 MB5. 其他方法查看a. 在Oracle10g新增加了视图dba_tablespace_usage_metrics,以block为单位显示使用率。

oracle管理表空间和数据文件

oracle管理表空间和数据文件

1、查看system表空间的大小,对应的数据文件的路径和名称。

Select file_name,tablespace_name,bytes from dba_data_files Where tablespace_name=‘SYSTEM’;2、创建本地管理表空间DATA01,包含大小为1MB的一个数据文件,数据文件位于C盘根目录,每个区的大小为64KB。

Create tablepace data01Datafile‘c:\data01.dbf’size 1MExtent management localUniform size 64k;3、向上述表空间插入一个新表Table1,并插入数据。

Create table 表名(name nchar,pwd nchar)tablespace data01;Insert into 表名values();4、通过改变数据文件大小,将表空间DA TA01大小增加为2MB。

Alter database datafile ‘c:\data01.dbf’resize 2M;5、将数据文件改为空间自动增长,允许每次自动扩展500KB,最大大小为5MB。

Alter database datafile ‘c:\data01.dbf’Autoextend on next 500KMaxsize 5M6、将表空间DATA01对应的数据文件从C盘根目录移动到数据文件默认路径(1)alter tablespace data01 offline;(2)Host move c:\data01.dbf c:\oracle\oradata\dba\data01.dbf(3)Alter tablespace data01 renameDatafile ‘c:\data01.dbf’to ‘c:\oracle\oradata\dba\data01.dbf’;(4)alter tablespace data01 online;7、为表空间DATA01增加一个新的数据文件。

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。

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。

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