1. 程式人生 > >人社部核三通用資料庫表定期優化效能shell執行指令碼(純個人整理,不涉及公司機密)

人社部核三通用資料庫表定期優化效能shell執行指令碼(純個人整理,不涉及公司機密)

fx.sh內容(注意修改自己的路徑)

#!/usr/bin/sh 

umask 022 export PS1="`/usr/bin/hostname`-> " export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/11gr2 export ORA_GRID_HOME=/u01/app/crs_home/ export ORACLE_OWNER=oracle export ORACLE_SID=qhwxora1 export PATH=$PATH:$ORACLE_HOME/bin:$ORA_GRID_HOME/bin:/sbin:/usr/sbin:/bin:/usr/local/bin:. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib export NLS_LANG=american_america.ZHS16GBK export ORACLE_PATH=/home/oracle export ORACLE_UNQNAME=qhwxora EDITOR=vi export EDITOR

nohup sqlplus system/Qsc01Hj @/backup/dmp/fx.sql >/backup/dmp/fx.log &

fx.sql內容(事件表應該是通用的,各別表注意剔除)

select to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual;

alter TRIGGER XXSI.TRG_DROP_TABLE disable;

truncate table XXSI.ze21; truncate table XXSI.transaction_log;

  delete XXSI.delete_log where operate_id<(select max(operate_id) from  XXSI.delete_log)-1000000;   commit;    delete   XXSI.AC43_DELETELOG where aae036<sysdate-300;      commit;               delete   XXSI.ze31 where aae036<sysdate-150;      commit;               delete   XXSI.ze32 where  baz001<(select max(baz001) from  XXSI.za76 )-100000;      commit;        delete   XXSI.TDAAC02  where aa002<to_char(sysdate,'yyyy')||'01';    commit;  delete   XXSI.ZA76 where baz002<(select max(baz002) from  XXSI.za76 )-100000;   commit;

delete XXSI.ic81 where aae120='1'; commit;

exec Dbms_Stats.gather_schema_stats('XXSI',cascade => TRUE,options => 'GATHER AUTO',estimate_percent => dbms_stats.auto_sample_size); exec dbms_stats.gather_table_stats('XXSI','AC43',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AC96',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','IC40',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AB07',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','BZ20',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AC95',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AC04',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AE06',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AC02',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AC01',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AB14',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','KC22',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','KC21',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','KC24',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','KC60',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','KC61',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','ZA76',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','ZE21',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','AB15',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','KC40',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','ZE31',CASCADE=>TRUE); exec dbms_stats.gather_table_stats('XXSI','ZE32',CASCADE=>TRUE); alter TRIGGER XXSI.TRG_DROP_TABLE enable; exit;

select to_char(sysdate,'yyyymmdd hh24:mi:ss') from dual;

exit;