创建视图,查询表空间的利用情况
首先创建视图:
create or replace view dba_tablespace_free as
select a.tablespace_name,a.total_space_mb allocated_space_mb,round(b.free_space_mb,2) free_space_mb,(a.max_space-a.total_space_mb) free_allocate_mb,round(a.max_space,2) max_space_mb,
round((a.total_space_mb-b.free_space_mb)/a.total_space_mb*100,2) pct_usage,round(a.total_space_mb/a.max_space*100,2) pct_allocated
from (select tablespace_name,sum(bytes)/1024/1024 total_space_Mb,decode(sum(maxbytes/1024/1024),0,
sum(bytes)/1024/1024,sum(case when AUTOEXTENSIBLE='YES' then maxbytes
else bytes end)/1024/1024) max_space
from dba_data_files group by tablespace_name)a,(select tablespace_name, sum((bytes)/1024/1024) free_space_Mb
from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name;
报错:01031:insufficient privileges
赋权:SQL> grant select any table to chenjh;
SQL> grant select any dictionary to chenjh;
SQL> grant select any table,create view to chenjh;
赋权后再创建视图成功:
查询此视图:
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)",
(SELECT free_space_mb+free_allocate_mb FROM dba_tablespace_free a where a.tablespace_name= f.tablespace_name) "总剩余空间",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 3 desc;
效果图:
转载于:https://blog.51cto.com/1336014/1337267
创建视图,查询表空间的利用情况相关推荐
- oracle dba 创建视图,拥有dba权限的情况下创建视图报ORA-01031: insufficient privileg错误...
今天在oracle中以dba权限创建一个视图时报ORA-01031的错误,最后确定s这是oracle本身的限制,如果在非sys用户下创建基于数据字典或动态性能视图为基表的视图会报ORA-01031的错 ...
- linux查找表空间使用情况,表空间的使用情况查询及管理
1.查询表空间的使用情况 select a.tablespace_name,a.bytes/1024/1024 "sum MB",(a.bytes-b.bytes)/1024/ ...
- 查询表空间状态,创建表空间,让表空间的大小自动扩展,删除表空间
通过select * from DBA_DATA_FILES可以看到现在数据库中的表空间和状态. 其中AUTOEXTENSIBLE为是否自动扩展. 如果需要关闭自动扩展: alter database ...
- oracle+视图+图形化,如何利用Object Browser图形化工具提高Oracle开发工作效率(二)对象创建管理篇...
上一篇我们讲解过有关SQL编写与调试方面的技巧,小编在作图时遗漏了一点,就是Unicode的多语言对应,可以同时显示各种语言不乱码,这是其他工具所不具备的.如图: 下面我们就来说一说如何高效的创建和编 ...
- 准确查询表空间使用情况
https://www.xbdba.com/2018/10/18/correct-query-tablespace-usage/ 准确查询表空间使用情况 发表评论 11g以前,一般查询表空间都是通过D ...
- oracle 11g b表空间什么情况下自动增加,oracle 11g 查看表空间使用情况,表空间创建,表空间添加数据文件,修改数据文件自动增长,删除表空间...
1.查看表空间以及表空间使用情况 SELECT TABLESPACE_NAME "表空间", To_char(Round(BYTES / 1024, 2), '99990.00') ...
- 查看oracle资源使用情况,Oracle查询表空间使用情况
--查询表空间使用情况SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D. ...
- oracle创建表空间及查看表空间和使用情况
创建表空间 1. 创建表空间 create tablespace "tablespace_name" datafile 'D:\oracle\product\10.2.0\orad ...
- 创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写
需求: 数据库机器: 数据库类型:oracle 数据库用户名密码:mnp/mnp 表空间:tbs_mnp_data ...
最新文章
- 知乎13万赞!为何很多名校毕业生,都输在了人生后半程
- Java面对面向程序设计_语言与文化网课章节测试答案
- 小姐姐亲身体验:在阿里数据库科研团队实习是种怎样的体验?
- 特定场景下取代if-else和switch的方式
- PHP autoload实践
- Modbus协议栈应用实例之三:Modbus TCP客户端应用
- 学习Spring Boot:(十九)Shiro 中使用缓存
- Url有值怎么使用get传值
- 卷积神经网络之ResNet网络模型学习
- servlet 返回可访问文件_Servlet第二篇「Servlet细节、ServletConfig、ServletContext」
- 公有云、私有云、混合云的区别比较
- 41.D3D数学库 GameProject7
- Activity生命周期详解一
- java钝化_session的活化与钝化 (转)
- 金山WPS+Google文件=谷歌金山Office?
- 机载激光雷达原理与应用科普(八)
- php 限制字数_PHP中如何正确统计中文字数
- c语言输入奇数n输出一半棱形,c语言输出菱形
- apng java,免费的APNG、WebP格式转换工具-iSparta
- 【C++]参数的缺省值
热门文章
- 【行业进展】哪些公司在搞“新零售”了
- 全球及中国散热市场投资需求与运营格局现状分析报告2022年
- 全球及中国生物仿制药淋巴细胞调节剂行业需求潜力分析及及投资规划研究报告2021-2027年
- 全球及中国超导磁铁探针台行业现状规模及“十四五”发展趋势预测报告2021-2027年版
- 缅甸、老挝出入证可在西双版纳办
- 可覆写的函数与创建节点
- Difference Between InnoDb and MyISAM(个人觉着是好文章,简单易懂,推荐看)
- Centos系统中彻底删除Mysql数据库
- STM32应用实例六:与MS5837压力传感器的I2C通讯
- Android学习笔记--JNI的使用方法