人社部核三通用資料庫表定期優化效能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;