知识大全 ORACLE DBA常用SQL脚本工具-管理篇(1)

Posted 空间

篇首语:如果每个人都理解你,那你得普通成什么样!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE DBA常用SQL脚本工具-管理篇(1)相关的知识,希望对你有一定的参考价值。

ORACLE DBA常用SQL脚本工具-管理篇(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在较长时间的与oracle的交往中 每个DBA特别是一些大侠都有各种各样的完成各种用途的脚本工具 这样很方便的很快捷的完成了日常的工作 下面把我常用的一部分展现给大家 此篇主要侧重于数据库管理 这些脚本都经过严格测试      表空间统计    A   脚本说明     这是我最常用的一个脚本 用它可以显示出数据库中所有表空间的状态 如表空间的大小 已使用空间 使用的百分比 空闲空间数及现在表空间的最大块是多大     B 脚本原文:    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 * ) ) 使用比     f total_bytes 空闲空间(M)     f max_bytes 最大块(M)     FROM    (SELECT tablespace_name     round(SUM(bytes)/( * ) ) total_bytes     round(MAX(bytes)/( * ) ) max_bytes    FROM sys dba_free_space    GROUP BY tablespace_name) f     (SELECT dd tablespace_name round(SUM(dd bytes)/( * ) ) Tot_grootte_Mb    FROM  sys dba_data_files dd    GROUP BY dd tablespace_name) d    WHERE d tablespace_name = f tablespace_name    ORDER BY DESC;      查看无法扩展的段    A  脚本说明     ORACLE对一个段比如表段或索引无法扩展时 取决的并不是表空间中剩余的空间是多少 而是取于这些剩余空间中最大的块是否够表比索引的 NEXT 值大 所以有时一个表空间剩余几个G的空闲空间 在你使用时ORACLE还是提示某个表或索引无法扩展 就是由于这一点 这时说明空间的碎片太多了 这个脚本是找出无法扩展的段的一些信息     B 脚本原文     SELECT segment_name     segment_type     owner     a tablespace_name tablespacename     initial_extent/ inital_extent(K)     next_extent/ next_extent(K)     pct_increase     b bytes/ tablespace max free space(K)     b sum_bytes/ tablespace total free space(K)     FROM dba_segments a     (SELECT tablespace_name MAX(bytes) bytes SUM(bytes) sum_bytes FROM dba_free_space GROUP BY tablespace_name) b    WHERE a tablespace_name=b tablespace_name    AND next_extent>b bytes    ORDER BY ;      查看段(表段 索引段)所使用空间的大小    A  脚本说明     有时你可能想知道一个表或一个索引占用多少M的空间 这个脚本就是满足你的要求的 把<>中的内容替换一下就可以了     B 脚本原文     SELECT owner     segment_name     SUM(bytes)/ /     FROM dba_segments    WHERE owner=<segment owner>    And segment_name=<your table or index name>    GROUP BY owner segment_name    ORDER BY DESC;      查看数据库中的表锁    A  脚本说明     这方面的语句的样式是很多的 各式一样 不过我认为这个是最实用的 不信你就用一下 无需多说 锁是每个DBA一定都涉及过的内容 当你相知道某个表被哪个session锁定了 你就用到了这个脚本     B 脚本原文     SELECT A OWNER     A OBJECT_NAME     B XIDUSN     B XIDSLOT     B XIDSQN     B SESSION_ID     B ORACLE_USERNAME     B OS_USER_NAME     B PROCESS     B LOCKED_MODE     C MACHINE     C STATUS     C SERVER     C SID     C SERIAL#     C PROGRAM    FROM ALL_OBJECTS A     V$LOCKED_OBJECT B     SYS GV_$SESSION C    WHERE ( A OBJECT_ID = B OBJECT_ID )    AND (B PROCESS = C PROCESS )      AND    ORDER BY   ;      处理存储过程被锁    A  脚本说明     实际过程中可能你要重新编译某个存储过程理总是处于等待状态 最后会报无法锁定对象 这时你就可以用这个脚本找到锁定过程的那个sid 需要注意的是查v$access这个视图本来就很慢 需要一些布耐心     B 脚本原文     SELECT * FROM V$ACCESS    WHERE owner=<object owner>    And object<procedure name>      查看回滚段状态    A  脚本说明    这也是DBA经常使用的脚本 因为回滚段是online还是full是他们的关怀之列嘛    B SELECT a segment_name b status    FROM Dba_Rollback_Segs a     v$rollstat b    WHERE a segment_id=b usn    ORDER BY       看哪些session正在使用哪些回滚段    A 脚本说明     当你发现一个回滚段处理full状态 你想使它变回online状态 这时你便会用alter rollback segment rbs_seg_name shrink 可很多时侯确shrink不回来 主要是由于某个session在用 这时你就用到了这个脚本 找到了sid的serial#余下的事就不用我说了吧     B 脚本原文    SELECT r name 回滚段名     s sid     s serial#     s username 用户名     s status     t cr_get     t phy_io     t used_ublk     t noundo     substr(s program ) 操作程序    FROM  sys v_$session s sys v_$transaction t sys v_$rollname r    WHERE t addr = s taddr and t xidusn = r usn     AND r NAME IN ( ZHYZ_RBS )    ORDER BY t cr_get t phy_io      查看正在使用临时段的session    A 脚本说明     许多的时侯你在查看哪些段无法扩展时 回显的结果是临时段 或你做表空间统计时发现临段表空间的可用空间几乎为 这时按oracle的说法是你只有重新启动数据库才能回收这部分空间 实际过程中没那么复杂 使用以下这段脚本把占用临时段的session杀掉 然后用alter tablespace temp coalesce;这个语句就把temp表空间的空间回收回来了     B 脚本原文    SELECT username     sid     serial#     sql_address     machine     program     tablespace     segtype     contents    FROM v$session se     v$sort_usage su    WHERE se saddr=su session_addr    (待续) cha138/Article/program/Oracle/201311/18647

相关参考

知识大全 Oracle管理及常用基础脚本

Oracle管理及常用基础脚本  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  性能监控  检测数

知识大全 Oracle导出SQL脚本的spool实现

Oracle导出SQL脚本的spool实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  下面介

知识大全 Oracle DBA 常用 Script 第二部分(Tuning)

OracleDBA常用Script第二部分(Tuning)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 使用 Window 脚本宿主自动化 Oracle 工具

使用Window脚本宿主自动化Oracle工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随

知识大全 入门基础-Oracle常用脚本备忘

入门基础-Oracle常用脚本备忘  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!创建一个表T使之具

知识大全 关于Oracle一些常用脚本的汇总(2)

关于Oracle一些常用脚本的汇总(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  碎片检查

知识大全 SQL Server数据库管理员(DBA)的工作内容

SQLServer数据库管理员(DBA)的工作内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 oracle 中的常用命令重点展播

  第一章日志管理  forcinglogswitches  sql>altersystemswitchlogfile;    forcingcheckpoints  sql>alters

知识大全 Oracle--使用Wrap工具加密你的SQL

Oracle--使用Wrap工具加密你的SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  O

知识大全 Oracle数据库专享工具:SQL*Loader

Oracle数据库专享工具:SQL*Loader  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!SQ