龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

数据库中表的extents数及处理的shell

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
一、检查数据库中所有的表的extents数并输出到文件中。输出的文件中,表是按extents数目大小倒序排列。 >cat check_extents.sh 代码: today=`date +%Y%m%d%H%M%S` dbaccess - sql_tab_ext_${today}.txt database

  一、检查数据库中所有的表的extents数并输出到文件中。输出的文件中,表是按extents数目大小倒序排列。

  >cat check_extents.sh

  代码:

  

  today=`date +%Y%m%d%H%M%S`

  dbaccess - < sql_tab_ext_${today}.txt

  database sysmaster;

  select dbsname,tabname,

  count(*) num_of_extents,

  sum( pe_size ) total_size

  from systabnames,sysptnext

  where partnum = pe_partnum

  group by 1, 2

  order by 3 desc,4 desc;

  EOF

  

  二、如发现表的extents过大,可采取下列步骤

  0。dbschema 导出表结构

  1。rename 原表名

  2。以原结构新建表,但增大extents和next size

  3。unload出原表数据

  4。dbload 数据到新表

  

  例如发现表t_prox_pb_log的extents过大,可以这样:

  0.dbschema -t t_prox_pb_log -d dbname -ss t_prox_pb_log.sql

  1-4步可以写成pblog.sh如下:

  >cat pblog.sh

  (表结构用第0步生产的结构即可)

  代码:

  

  dbaccess << -- 2>>pblog.err

  !

  database dbname;

  rename table t_prox_pb_log to t_pb_log_bak;

  

  create table t_prox_pb_log

   (

    oper_kind char(3) not null ,

    oper_detail char(6) not null ,

    trn_mode char(1) not null ,

    user_no1 char(20) not null ,

    cust_name char(40) not null ,

    trn_amt float,

    cert_no integer,

    cert_num integer,

    trn_code char(4),

    trn_date char(8),

    trn_time char(6),

    trn_bank char(4),

    oper_no char(4),

    seq_no smallint,

    trn_stat char(1),

    primary key (trn_date,trn_bank,oper_no,seq_no)

   ) extent size 2048 next size 1024 lock mode row;

  revoke all on t_prox_pb_log from "public";

  

  create index i_prox_pb_log2 on t_prox_pb_log (user_no1);

  

  

  unload to "t_pb_log.txt" select * from t_pb_log_bak;

  !

  --

  dbload -d dbname -c load_log -l dbload_errlog -n 1000 -k

  

  控制文件load_log如下:

  > cat load_log

  FILE t_pb_log.txt DELIMITER '|' 15;

  INSERT INTO t_prox_pb_log;

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!

热评话题

按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接