应该关心的内容有:

表空间共有多少个;

总共有多少自由空间;

最大的自由空间是什么;

表空间的碎片有多少。

1。查询数据文件及自由表空间情况

下面例子是一个经常使用的脚本,可以查出数据文件和表空间的可用情况。

clear buffer

clear columns

clear breaks

column a1 heading 'Tablespace' format a15

column a2 heading 'data File' format a45

column a3 heading 'Total|Space' format 999,999.99

column a4 heading 'Free|Space' format 999,999.99

column a5 heading 'Free|perc' format 999,999.99

break on a1 on report

compute sum of a3 on a1

compute sum of a4 on a1

compute sum of a3 on report

compute sum of a4 on report

set linesize 120

select a.tablespace_name a1, a.file_name a2, a.avail a3, nvl(b.free,0) a4,

nvl(round(((free/avail)*100),2),0) a5

from (select tablespace_name, substr(file_name,1,45) file_name,

file_id, round(sum(bytes/(1024*1024)),3) avail

from   sys.dba_data_files

group by  tablespace_name, substr(file_name,1,45),

file_id) a,

(select tablespace_name, file_id,

round(sum(bytes/(1024*1024)),3) free

from   sys.dba_free_space

group by tablespace_name, file_id) b

where a.file_id = b.file_id (+)

order by 1, 2

/

2。查询是否存在表的扩展超出表空间可用大小

表空间的连续块被多次的修改与删除等操作后出现了许多的不连续的块(叫碎片)。这样就有可能出现表的扩展所需要的连续块不能满足的情况。

脚本:

Col segment_name for a20

Select  segment_name, segment_type, owner, a.tablespace_name tablespace,

Initial_extent, next_extent, pct_increase,b.bytes max_bytes

From  dba_segments a,

( select tablespace_name, max(bytes) bytes from dba_free_space

group  by tablespace_name ) b

where a.tablespace_name=b.tablespace_name  and   next_extent > b.bytes ;

3。查询表空间自由、最大及碎片

下面脚本可以查询出所有表空间的自由空间、总空间数、已用空间、自由百分比及最大块的字节数。

set pau off

col free heading 'Free(Mb)' format 99999.9

col total heading 'Total(Mb)' format 999999.9

col used heading 'Used(Mb)' format 99999.9

col pct_free heading 'Pct|Free' format 99999.9

col largest heading 'Largest(Mb)' format 99999.9

compute sum of total on report

compute sum of free on report

compute sum of used on report

break on report

select substr(a.tablespace_name,1,13) tablespace,

round(sum(a.total1)/1024/1024, 1) Total,

round(sum(a.total1)/1024/1024, 1)-round(sum(a.sum1)/1024/1024, 1) used,

round(sum(a.sum1)/1024/1024, 1) free,

round(sum(a.sum1)/1024/1024, 1)*100/round(sum(a.total1)/1024/1024, 1) pct_free,

round(sum(a.maxb)/1024/1024, 1) largest,

max(a.cnt) fragment

from

(select tablespace_name, 0 total1, sum(bytes) sum1,

max(bytes) MAXB,

count(bytes) cnt

from dba_free_space

group by tablespace_name

union

select tablespace_name, sum(bytes) total1, 0, 0, 0 from dba_data_files

group by tablespace_name) a

group by a.tablespace_name

/

4。自动合并表空间碎片

当系统出现过多的碎片后,就影响系统的运行效率。下面脚本可以对相临的碎片进行合并。

set verify off;

set termout off;

set head off;

spool c:\temp\coalesce.log

select 'alter tablespace '||TABLESPACE_NAME||' coalesce ;'

from  DBA_FREE_SPACE_COALESCED where PERCENT_EXTENTS_COALESCED <100

or PERCENT_BLOCKS_COALESCED<100 ;

spool off;

@ c:\temp\coalesce.log

set head on;

set termout on;

set verify on;

prompt Tablespaces are coalesced successfully

5。 查询临时表空间和段的信息

整个系统的临时段信息:desc DBA_TEMP_FILES

查询系统临时段信息:select  file_name,tablespace_name, bytes, status  from  dba_temp_files;

不用这么麻烦,用oracle自己带的管理控制台最方便了

到开始菜单中启动Enterprise Manager Console

选择独立启动

双击你关注的数据库,登陆后到“存储”子项目,下面就有表空间,表空间文件等等了,点一下表空间,右边就会出现这个数据库的所有表空间的使用百分比(图形的),双击图形可以查看详细情况,可以更改表空间文件等等

其他的工具比如toad什么的也可以查看,不过没有oracle自带的管理控制台方便,哈哈

ps:你的oralce用户必须是dba或者具有OEM_MONITOR角色权限,否则管理控制台是打不开的

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

toad分析oracle日志,toad for oracle如何分析sql相关推荐

  1. oracle日志如何查看,oracle如何查看日志

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:oracle如何查看日志? 问题详情:请问oracle 该如何查看日志,希望能有具体的步骤.试了很久 都还回答:Oracle日志查看 ...

  2. Linux系统查看oracle日志,Linux 查询oracle错误日志警告日志

    Java学习基础2 运算符: ++:  int a = 4;  int b = a++;    ++在后:先运算在递增1   输出:a=5  b=4;    int b = ++a;    ++在前: ...

  3. 修改oracle日志大小,修改Oracle重做日志文件大小

    修改Oracle重做日志文件大小 1.创建3个新的日志组 SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/or ...

  4. oracle日志文件打开,oracle日志文件和控制文件损坏的恢复

    oracle日志文件和控制文件损坏的恢复 恢复步骤: 1.加入_allow_resetlogs_corruption=true,_corrupted_rollback_segments=true,_o ...

  5. oracle日志版本不同,Oracle重做日志文件版本不一致问题处理

    早上在启动测试数据库时,发现如下问题:数据库版本是11.2.0.3SQLgt; startupOracle instance started. Total System Global Ar 早上在启动 ...

  6. oracle 日志写满,Oracle归档日志写满错误解决方法

    最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对Oracle比较熟悉,只能给自己增加一个DBA的角色了.由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开 ...

  7. oracle 日志的容量,oracle 11g 更改日志组大小

    oracle 11g 更改日志组大小 1.创建新的日志组 1.alter database add logfile group 4 ('/u01/app/oracle/oradata/jian/red ...

  8. oracle 日志大于4g,Oracle日志文件达到4G

    解决方案一:停止监听器 1)LSNRCTL进入交互模式   cmd 输入 LSNRCTL 2)执行set current_listener LISTENER 3)set log_status off ...

  9. oracle的日志分析工具,oracle日志分析工具LogMiner使用(实战)

    要安装LogMiner工具,必须首先要运行下面这样两个脚本,这两个脚本必须均以SYS用户身份运行.其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件.第二个脚本用来创建DBMS_LO ...

最新文章

  1. 77GHz 和24GHz Radar性能解析
  2. 双系统Ubuntu无法进入Windows磁盘的解决方法
  3. Flutter开发之布局-3-center(17)
  4. 7、Java Swing JTextArea:文本域组件。 JScrollPane:滚动窗口
  5. oracle sequrnce_OracleSql语句学习(五)
  6. [蓝桥杯][算法训练VIP]王、后传说(深搜+回溯)
  7. 【CodeForces - 214B】Hometask (模拟,有坑)
  8. 让VS2008真正支持JQuery的智能感知
  9. Linux下后台任务管理screen的常见用法(命令)
  10. 数据分析学习笔记—文件处理与pdf处理
  11. python中的map对象_python map对象
  12. Xcode 高级调试技巧
  13. Python画新冠肺炎国内和世界各国累计确诊数量热图!某国破百万了
  14. X230 安装 EI Capitan 10.11.5 驱动篇
  15. 将PC端固定布局页面改成移动端流体布局。
  16. 【SpringBoot】1、创建第一个SpringBoot项目
  17. Guitar Pro教程之记谱法简介
  18. 《文明之光》吴军 著,读书笔记
  19. Docker容器获取局域网ip(使用macvlan)
  20. 编译原理知识点总结——识别单词的DFA

热门文章

  1. 重装系统大师计算机硬件不兼容,电脑重装系统能解决哪些问题?电脑重装系统后常见问题解决方法...
  2. Node Classification with Graph Neural Networks(使用GNN进行节点分类)
  3. access查询mysql_2017计算机二级Access数据库生成表查询教程
  4. self.font = core.getfont(font, size, index, encoding, layout_engine=layout_engine) OSError: cannot o
  5. JS奇淫技巧:挑战前端黑科技,数值的七种写法,能全看懂的一定是高手
  6. 片选,怎么看时序图,电路原理图。CE OE WE信号 纳秒
  7. 使用wacom数位板配套的笔无法利用按键实现滚动的问题
  8. 服务器被抓“肉鸡”后怎么办?怎么避免被抓“肉鸡“
  9. 2021-10-20 HTML学习笔记(11)列表标签
  10. win10系统中如何不用360安全卫士等软件仍能实现清理垃圾,释放内存和安全防护的基本功能