如何查看数据库空间 查询Oracle数据库表空间信息的方法
大家好,如何查看数据库空间相信很多的网友都不是很明白,包括查询Oracle数据库表空间信息的方法也是一样,不过没有关系,接下来就来为大家分享关于如何查看数据库空间和查询Oracle数据库表空间信息的方法的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
怎样查询oracle数据库中所有的表空间(数据库表空间怎么看)
1、首先需要找到oracle安装目录,打开控制台管理。
2、进入控制台界面,输入用户名和密码进行登录验证。
3、登录成功,进入主界面,点击菜单栏处【服务器】。
4、此时在存储栏,找到表空间选项,点击打开。
5、在搜索栏输入表空间名称,进行搜索。
6、此时在下方结果栏,可以看到表空间状态。
如何查看一条数据所占据空间的大小
登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
选择“数据库>关系型数据库”。进入关系型数据库信息页面。
在“实例管理”页面,选择目标实例,单击操作列的“登录”,进入数据管理服务数据库登录界面。
您也可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“登录”,进入数据管理服务数据库登录界面。
正确输入数据库用户名和密码,单击“登录”,即可进入您的数据库并进行管理。
在顶部菜单栏选择“SQL操作”>“SQL窗口”,打开一个SQL窗口。
在SQL窗口执行如下SQL查询数据库所占空间大小。查询结果如图1所示。
查询Oracle数据库表空间信息的方法
表空间是数据库中最大的逻辑单位与存储空间单位数据库系统通过表空间为数据库对象分配空间表空间在物理上体现为磁盘数据文件每一个表空间由一个或多个数据文件组成一个数据文件只可与一个表空间相联系这是逻辑与物理的统一了解表空间和数据文件的的属性及使用率是数据库管理员的一项重要职责在本文中笔者将以oracle为例详细介绍查询Oracle数据库表空间信息和数据文件信息的方法希望能帮助大家更深入了解表空间的知识和应用
一如何查看Oracle数据库中表空间信息的方法
从Oracle数据库中工具入手
使用oracle enterprise manager console工具这是oracle的客户端工具当安装oracle服务器或客户端时会自动安装此工具在windows操作系统上完成oracle安装后通过下面的方法登录该工具开始菜单——程序——Oracle OraHome——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择独立启动单选框——确定—— oracle enterprise manager console独立——选择要登录的实例名——弹出数据库连接信息——输入用户名/口令(一般使用sys用户)连接身份选择选择SYSDBA——确定这时已经成功登录该工具选择存储——表空间会看到如下的界面该界面显示了表空间名称表空间类型区管理类型以兆为单位的表空间大小已使用的表空间大小及表空间利用率
从Oracle数据库中命令方法入手
通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息首先使用客户端工具连接到数据库这些工具可以是SQLPLUS字符工具 TOAD PL/SQL等连接到数据库后执行如下的查询语句
select a a表空间名称 c c类型 c c区管理 b b//表空间大小M(b b a a)//已使用M substr((b b a a)/b b*)利用率from(select tablespace_name a sum(nvl(bytes)) a from dba_free_space group by tablespace_name) a(select tablespace_name b sum(bytes) b from dba_data_files group by tablespace_name) b(select tablespace_name c contents c extent_management c from dba_tablespaces) cwhere a a=b b and c c=b b;
该语句通过查询dba_free_space dba_data_files dba_tablespaces这三个数据字典表得到了表空间名称表空间类型区管理类型以兆为单位的表空间大小已使用的表空间大小及表空间利用率 dba_free_space表描述了表空间的空闲大小 dba_data_files表描述了数据库中的数据文件 dba_tablespaces表描述了数据库中的表空间
上面语句中from子句后有三个select语句每个select语句相当于一个视图视图的名称分别为a b c通过它们之间的关联关系我们得到了表空间的相关信息
语句执行结果如下
上面描述中分别介绍了查看Oracle数据库中表空间信息的工具方法和命令方法
二查询Oracle数据库中数据文件信息的方法
查看Oracle数据库中数据文件信息的工具方法
使用上面介绍过的方法登录oracle enterprise manager console工具选择存储——数据文件会看到如下的界面该界面显示了数据文件名称表空间名称以兆为单位的数据文件大小已使用的数据文件大小及数据文件利用率
查看Oracle数据库中数据文件信息的命令方法
通过查询数据库系统中的数据字典表(data dictionary tables)获取数据文件的相关信息首先使用客户端工具连接到数据库这些工具可以是SQLPLUS字符工具 TOAD PL/SQL等连接到数据库后执行如下的查询语句
select b file_name物理文件名 b tablespace_name表空间 b bytes//大小M(b bytes sum(nvl(a bytes)))//已使用M substr((b bytes sum(nvl(a bytes)))/(b bytes)*)利用率from dba_free_space a dba_data_files bwhere a file_id=b file_idgroup by b tablespace_name b file_name b bytesorder by b tablespace_name
上面描述中分别介绍了查看Oracle数据库中数据文件信息的工具方法和命令方法
三查看临时表空间和数据库文件的方法
在oracle数据库中临时表空间主要用于用户在使用order by group by语句进行排序和汇总时所需的临时工作空间要查询数据库中临时表空间的名称大小及数据文件可以查询数据字典dba_tablespaces及dba_data_files命令如下
select a talbespace_name表空间名称 b bytes大小bytes b file_name数据文件名from dba_tablespaces a dba_data_files bWhere a talbespace_name=b talbespace_name and ntents= TEMPORARY;
查询结果如下
从oracle i开始可以创建Temporary tablespace类表空间即临时表空间这类表空间使用临时文件临时文件的信息被存储在数据字典V$tempfile中命令如下
Select file# status name from V$tempfile;
查询数据字典V$tempfile结果如下
在上面介绍的方法中建议掌握命令方法因为你的环境可能没有图形工具而SQLPLUS一般情况下都是可以使用的有了命令脚本很容易得到表空间和数据文件的相关信息另外数据库管理员应该多整理命令脚本在需要时直接执行脚本以提高工作效率
lishixinzhi/Article/program/Oracle/201311/18471如何查看数据库的默认表空间,与临时表空间
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看
2、缩小临时表空间大小
alter database tempfile'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TELEMT\TEMP01.DBF' resize 100M;
3、扩展临时表空间:
方法一、增大临时文件大小:
SQL> alter database tempfile‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize 100m;
方法二、将临时数据文件设为自动扩展:
SQL> alter database tempfile‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited;
方法三、向临时表空间中添加数据文件:
SQL> alter tablespace temp add tempfile‘/u01/app/oracle/oradata/orcl/temp02.dbf’ size 100m;
4、创建临时表空间:
SQL> create temporary tablespace temp1 tempfile‘/u01/app/oracle/oradata/orcl/temp11.dbf’ size 10M;
5、更改系统的默认临时表空间:
--查询默认临时表空间
select* from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
--修改默认临时表空间
alter database default temporary tablespace temp1;
所有用户的默认临时表空间都将切换为新的临时表空间:
select username,temporary_tablespace,default_ from dba_users;
--更改某一用户的临时表空间:
alter user scott temporary tablespace temp;
6、删除临时表空间
删除临时表空间的一个数据文件:
SQL> alter database tempfile‘/u01/app/oracle/oradata/orcl/temp02.dbf’ drop;
删除临时表空间(彻底删除):
SQL> drop tablespace temp1 including contents and datafiles cascade constraints;
7、查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)
GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小
dba_temp_files视图的bytes字段记录的是临时表空间的总大小
SELECT temp_used.tablespace_name,
total- used as"Free",
total as"Total",
round(nvl(total- used, 0)* 100/ total, 3)"Free percent"
FROM(SELECT tablespace_name, SUM(bytes_used)/ 1024/ 1024 used
FROM GV_$TEMP_SPACE_HEADER
GROUP BY tablespace_name) temp_used,
(SELECT tablespace_name, SUM(bytes)/ 1024/ 1024 total
FROM dba_temp_files
GROUP BY tablespace_name) temp_total
WHERE temp_used.tablespace_name= temp_total.tablespace_name
ORDER BY B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, B.BLOCKS;
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!