代码改变世界

清理SYSAUX(其一)

  明朝散发  阅读(30)  评论(0编辑  收藏  举报

1:

add SYSAUX tablespace

或者如下脚本:

if test -f /var/opt/oracle/oratab
then
 voratab=/var/opt/oracle/oratab
else
 voratab=/etc/oratab
fi
 export voratab
echo ""voratab=$voratab"" > AL.sh
ps -ef | grep pmon_ | grep -v ""grep pmon"" | \
awk -F '_' '\
{print ""export ORACLE_SID=""$3"" && export ORACLE_HOME=`grep ^""$3"": $voratab | cut -f 2 -d :` && echo ""$3"" && \
$ORACLE_HOME/bin/sqlplus / as sysdba @AL.sql 2>&1 | tee -a AL.sh.out""}' >> AL.sh

chmod 750 AL.sh
rm AL.out


echo ""set lines 200 pages 32000 trims on
col dbid format a20
spool AL.out append
select name, dbid from v\$database;
CREATE TABLE WRI\$_ADV_OBJECTS_NEW AS 
SELECT * FROM WRI\$_ADV_OBJECTS 
WHERE TASK_ID !=
(SELECT DISTINCT ID 
FROM WRI\$_ADV_TASKS 
WHERE NAME='AUTO_STATS_ADVISOR_TASK');
TRUNCATE TABLE WRI\$_ADV_OBJECTS;
INSERT /*+ APPEND */ INTO WRI\$_ADV_OBJECTS 
SELECT * FROM WRI\$_ADV_OBJECTS_NEW;
COMMIT;
ALTER INDEX WRI\$_ADV_OBJECTS_IDX_01 REBUILD;
ALTER INDEX WRI\$_ADV_OBJECTS_PK REBUILD;

drop table WRI\$_ADV_OBJECTS_NEW;

DECLARE
v_tname VARCHAR2(32767);
BEGIN
v_tname := 'AUTO_STATS_ADVISOR_TASK';
DBMS_STATS.DROP_ADVISOR_TASK(v_tname);
END;
/


exit
spool off
"">AL.sql

./AL.sh

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示