批量获取拼接语句如下:
select
'DBMS_STATS.GATHER_TABLE_STATS('
||''''
||t1.NAME
||''''
||','
||''''
||T2.NAME
||''''
||',NULL,50,TRUE,'
||''''
||'FOR ALL INDEXED COLUMNS SIZE AUTO'
||''''
||');SLEEP(60);'
from
sysobjects t1,
SYSOBJECTS T2
where
t1.type$ ='SCH'
and t1.name in ('模式1','模式2')
and T2.schid =t1.id
and T2.SUBTYPE$='UTAB'
and T2.NAME like '%2023';
DBMS_STATS.GATHER_TABLE_STATS('模式','表_2023',NULL,50,TRUE,'FOR ALL INDEXED COLUMNS SIZE AUTO');SLEEP(60);
cd /tmp/dm_update
vim call_index11.sql ,粘贴如下内容:
select sysdate;
DBMS_STATS.GATHER_TABLE_STATS('模式','表_2023',NULL,50,TRUE,'FOR ALL INDEXED COLUMNS SIZE AUTO');SLEEP(60);
select sysdate;
exit;
使用disql在操作系统后台运行:
nohup ./disql SYSDBA/SYSDBA@127.0.0.1:5236 ‘`/tmp/dm_update/call_index11.sql’ >>/tmp/dm_update/call_index11.log &
监控输出日志,确认正常执行完成;批量跑的要注意数据库主机负载。
如上仅供参考!
文章
阅读量
获赞