动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.在linux8.0下,oracle9i的配置说.
.Oracle数据库整机移植技术.
.关于部署安全Oracle要造结实的门.
.详解 Oracle 10g 中 MERGE 功能的.
.实例讲解如何使用Oracle数据库to.
.在Linux x86上安装Oracle数据库1.
.DataGuard数据库服务器硬盘故障处.
.监控谁在使用哪个回滚段的脚本.
.教你学会使用DBCA克隆一个数据库.
.ORACLE PL/SQL 基础.
.Oracle 数据对象分析.
.Oracle备份与恢复案例一.
.Ruby on Rails之Oracle应用(1).
.使用Oracle数据库高级复制中最简.
.Oracle9i初始化参数中文说明(3).
.9i新特性之——在线表格重定义研.
.DISKGEN V2.0 (DISKMAN)运用一例.
.配置APACHE支持oracle客户端进行.
.Oracle Database与Oracle Instan.
.关于三种JOIN的理解.

ORACLE DBA常用SQL脚本工具->管理篇(1)

发表日期:2008-2-9 |



  在较长时间的与Oracle的交往中,每个DBA非凡是一些大侠都有各种各样的完成各种用途的脚本工具,这样很方便的很快捷的完成了日常的工作,下面把我常用的一部分展现给大家,此篇主要侧重于数据库治理,这些脚本都经过严格测试。
  
  1、 表空间统计
  
  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 * 100,2),'990.99') "使用比",
  
  f.total_bytes "空闲空间(M)",
  
  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 4 DESC;
  
  2、 查看无法扩展的段
  
  A、 脚本说明:
  
  ORACLE对一个段比如表段或索引无法扩展时,取决的并不是表空间中剩余的空间是多少,而是取于这些剩余空间中最大的块是否够表比索引的“NEXT”值大,所以有时一个表空间剩余几个G的空闲空间,在你使用时ORACLE还是提示某个表或索引无法扩展,就是由于这一点,这时说明空间的碎片太多了。这个脚本是找出无法扩展的段的一些信息。
  
  B、脚本原文:
  
  SELECT segment_name,
  
  segment_type,
  
  owner,
  
  a.tablespace_name "tablespacename",
  
  initial_extent/1024 "inital_extent(K)",
  
  next_extent/1024 "next_extent(K)",
  
  pct_increase,
  
  b.bytes/1024 "tablespace max free space(K)",
  
  b.sum_bytes/1024 "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 4,3,1;
  
  3、 查看段(表段、索引段)所使用空间的大小
  
  A、 脚本说明:
  
  有时你可能想知道一个表或一个索引占用多少M的空间,这个脚本就是满足你的要求的,把<>中的内容替换一下就可以了。
  
  B、脚本原文:
  
  SELECT owner,
  
  segment_name,
  
  SUM(bytes)/1024/1024
  
  FROM dba_segments
  
  WHERE owner=<segment owner>
  
  And segment_name=<your table or index name>
  
  GROUP BY owner,segment_name
  
  ORDER BY 3 DESC;
  
  4、 查看数据库中的表锁
  
  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 1,2  ;
  
  5、 处理存储过程被锁
  
  A、 脚本说明:
  
  实际过程中可能你要重新编译某个存储过程理总是处于等待状态,最后会报无法锁定对象,这时你就可以用这个脚本找到锁定过程的那个sid,需要注重的是查v$Access这个视图本来就很慢,需要一些布耐心。

  
  B、脚本原文:
  
  SELECT * FROM V$ACCESS
  
  WHERE owner=<object owner>
  
  And object<procedure name>
  
  6、 查看回滚段状态
  
  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 2
  
  7、 看哪些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, 1, 78) 操作程序
  
  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
  
  8、 查看正在使用临时段的session
  
  A、 脚本说明:
  
  许多的时侯你在查看哪些段无法扩展时,回显的结果是临时段,或你做表空间统计时发现临段表空间的可用空间几乎为0,这时按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
  
  (待续)
上一篇:如何释放过度占用的Shrink Undo表空间 人气:540
下一篇:ORA-01555 快照过旧--详细解释 人气:571
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-12 team论坛 v2.0.4 bulid 080916 A
2008-10-12 Roclog v3.1.6
2008-10-12 SupeV v1.0.1 简体中文 GBK
2008-10-12 NetCMS v1.6.0.1010 正式版
2008-10-12 PHP考试系统PPFrame v1.2.7
2008-10-12 LPAS个人相册 v1.6.3
2008-10-12 快问仿百度知道系统 动态-静态-互
2008-10-12 方卡广告防点击系统 V1.0 GB2312
2008-10-12 泡菜内容管理系统[PCMS] v1.0 Bu
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号