网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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数据缓冲区内部机.
.ORACLE在HP-UX下的系列问题处理(.
.关于Oracle Metalink的常见问题.
.Oracle PL/SQL游标的学习.
.在RHAS3上成功安装Oracle9204.
.32bit 和 64bit 的问题.
.ORACLE应用中常见的傻瓜问题1000.
.如何从备份集中恢复归档日志.
.热备份原理分析.
.oracle中实现自动增长列.
.ORACLE8的分区管理.
.数据库查询结果的动态排序.
.Oracle中独一无二的Cache对象.
.基于主键和唯一约束的显示索引控.
.将查询结果连接成列表的几个方法.
.Oracle 8i 到 9i 升级.
.Oracle数据库物理文件大小的限制.
.如何利用DBMS_SQL包和游标计算当.
.供应商:面对艰难的许可证选择.
.Red Hat 7.2/7.3 中文字体设置工.

ORACLE9i 表分析脚本

发表日期:2008-2-9


  Oracle9i 表分析(包含INDEX)的分析脚本,在AIX5.2(ksh)上通过. ####filename:get_ana_sql.sql set feedback  off
set echo      off
set heading   off
set pagesize  0
set linesize  200
set sqlprompt "" --oracle 默认比例:      ESTIMATE_PERCENT=>dbms_stats.auto_sample_size
--一般情况 20-40 即可:  ESTIMATE_PERCENT=>20
--同时分析指定表的索引: cascade=>true
--也可以使用 dbms_stats.gether_index_stats 分析index spool all_analyze.sql select  'exec dbms_stats.GATHER_TABLE_STATS('''''owner''''
        ','''''table_name''''
        ',ESTIMATE_PERCENT=>dbms_stats.auto_sample_size'
        ',cascade=>true);'
from    dba_tables
where   owner='OSS'
--and     PARTITIONED='YES'
--and     (NUM_ROWS<1000 or last_analyzed is null)
--and     rownum<10
--and     1=2
/ spool off ####filename:run_analyze.sh user=system
passwd=manager
server=OSSDB
proc_num=40
sleep_sec=10 crt_ana_sql()
{ sqlplus ${user}/${passwd}@${server} <<! @get_ana_sql.sql ! } atp_run_ana()
{ OSNAME=`whoami` cat all_analyze.sql while read line
do
   #echo ${line}
   echo ${line}awk -F"'" '{print $4}'read table_name 
   echo ${table_name}    NEXT=1
   while [ ${NEXT} -eq 1 ]
   do
      COUNT=`ps -efgrep ${OSNAME}grep sqlplusgrep ${user}grep -v grepwc -l`
      if [ ${COUNT} -gt ${proc_num} ]
      then
         echo "sleep"  ${sleep_sec} "seconds ..."
         sleep ${sleep_sec}
      else
         #echo ${line} nohup sqlplus ${user}/${passwd}@${server} >>./log/ana.log &
         echo ${line} nohup sqlplus ${user}/${passwd}@${server} >./log/${table_name}.log &
         NEXT=0
      fi
   done
done } ############################## date rm -f all_analyze.sql
rm -f ./log/*.log crt_ana_sql atp_run_ana date ##############################

上一篇:ORACLE中实现ASCII字符串和16进制串互相转换 人气:873
下一篇:Oracle 中DECODE 函数的使用简介 人气:969
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐