oracle查看用户表空间(oracle 查看用户表空间)
本篇文章给大家谈谈oracle查看用户表空间,以及oracle 查看用户表空间对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何查看oracle数据库中的表空间
- 2、oracle如何查找用户默认的表空间
- 3、怎么查看oracle表空间类型和大小?
- 4、怎样查询oracle数据库中所有的表空间
- 5、查询Oracle数据库表空间信息的方法
- 6、oracle 怎么查指定用户(例如scott)用到的表空间
如何查看oracle数据库中的表空间
只查询名字的话用如下语句:
selecttablespace_namefromdba_tablespaces;
表空间含义:
表空间是数据库的逻辑划分搜肢,一个表空间只能属于一个数据库。粗侍所有的数据库对象都存岩漏吵放在指定的表空间中。但主要存放的是表,所以称作表空间。
Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。
[img]oracle如何查找用户默认的表空间
1、用PL/SQL登录到sys用户,执行命令:selectdefault_tablespacefromuser_users;
2、可以看到sys用户默认的永久表空间为SYSTEM。
3、用PL/SQL登录到我滚扮棚们要操作的用户,比如lottery用户。执行命令:大则selectdefault_tablespacefromuser_users;
4、可以看到当前用户的默认表空间为TS_LOTTERY_DATA。
5、上面查询到的TS_LOTTERY_DATA是用户的永久表空间,执行命令select*fromuser_users。
6、还可以查询到当前用户的临时表空间及账户状态等。缺模
怎么查看oracle表空间类型和大小?
一、查看临时表空间
--查看所裤此有临时表空间名字及文件名
select f.file#,t.ts#,f.name "File",t.name "Tablespace" from v$tempfile f,V$tablespace t where f.ts# = t.ts#;
--查看当前用户默认临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
--查看所嫌纯盯有用户的默认表空间和默认临时表空间
select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users;
--查看所有临时表空间大小
SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,
USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",
NVL(FREE_SPACE,0) "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);
二、查看所芹和有表空间大小、使用
COLUMN dummy NOPRINT
COLUMN pct_used FORMAT 999.9 HEADING "%|Used"
COLUMN name FORMAT a19 HEADING "Tablespace Name"
COLUMN Kbytes FORMAT 999,999,999,999 HEADING "KBytes"
COLUMN used FORMAT 999,999,999,999 HEADING "Used"
COLUMN free FORMAT 999,999,999,999 HEADING "Free"
COLUMN largest FORMAT 999,999,999,999 HEADING "Largest"
BREAK ON report
COMPUTE sum OF kbytes ON REPORT
COMPUTE sum OF free ON REPORT
COMPUTE sum OF used ON REPORT
set pagesize 2000
set line 300
--SPOOL tablespace_size.lst
SELECT
NVL(b.tablespace_name,nvl(a.tablespace_name,'UNKOWN')) name
, kbytes_alloc kbytes
, kbytes_alloc-NVL(kbytes_free,0) used
, NVL(kbytes_free,0) free
, ((kbytes_alloc-NVL(kbytes_free,0))/kbytes_alloc)*100 pct_used
, NVL(largest,0) largest
FROM ( SELECT SUM(bytes)/1024 Kbytes_free
, MAX(bytes)/1024 largest
, tablespace_name
FROM sys.dba_free_space
GROUP BY tablespace_name
) a
, ( SELECT SUM(bytes)/1024 Kbytes_alloc
, tablespace_name
FROM sys.dba_data_files
GROUP BY tablespace_name
) b
WHERE a.tablespace_name (+) = b.tablespace_name
order by pct_used desc
/
三、查看undo表空间大小、使用
select * from (select
a.tablespace_name,
sum(a.bytes)/(1024*1024) total_space_MB,
round(b.free,2) Free_space_MB,
round(b.free/(sum(a.bytes)/(1024*1024))* 100,2) percent_free
from dba_data_files a,
(select tablespace_name,sum(bytes)/(1024*1024) free from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name(+)
group by a.tablespace_name,b.free)
where tablespace_name = 'UNDOTBS1';
怎样查询oracle数据库中所有的表空间
1、首先需要找到oracle安装目录,打开控制台管理。
2、进入控制台界面,输入用户名和密码进行登录验证。
3、登录成功,进入主界面,点击菜碧码单栏处【服务器】。
4、此时在存储栏,找到表空间选项悔槐哪,明滑点击打开。
5、在搜索栏输入表空间名称,进行搜索。
6、此时在下方结果栏,可以看到表空间状态。
查询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
oracle 怎么查指定用户(例如scott)用到的表空间
执行如下语句即可:
selectOWNER,t.segment_name,t.segment_type,sum(t.bytes/1024/1024)mmm
fromdba_segmentst
wheret.owner='你要查询的用茄首户'
andt.segment_type='TABLE'
groupbyOWNER,t.segment_name,t.segment_type
orderbymmmdesc;
扩展资料
文敏纳大件结构
数据库的物理存储结构是由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。
控制文件:存储实例、数据文件及日志文件等信息的二进制文件。altersystemsetcontrol_files=‘路径’。V$CONTROLFILE。
数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
日志文件:即RedoLogFiles和桥竖ArchivelogFiles。记录数据库修改信息。ALTERSYSTEMSWITCHLOGFILE;。V$LOG。
参数文件:记录基本参数。spfile和pfile。
警告文件:showparameterbackground_dump_dest---使用共享服务器连接
跟踪文件:showparameteruser_dump_dest---使用专用服务器连接
参考资料来源:百度百科—Oracle数据库
关于oracle查看用户表空间和oracle 查看用户表空间的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。