为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:
【CPU】:
【问题描述】*:
–收集指定用户SYSDBA下所有表所有列的统计信息:
收集成功之后,SYSDBA其他模式的表都没收集
当前两个模式都属于sysdba用户
请参考《DM8系统包使用手册》中dbms_stats说明,GATHER_SCHEMA_STATS方法中OWNNAME 表示为模式名,并不是用户名,为SYSDBA时,只收集SYSDBA模式的
–1-更新表统计信息,从小表开始
select
‘SP_TAB_STAT_INIT(’‘’
||owner
||‘’‘,’‘’
||segment_name
||‘’‘);’
from
dba_segments
where
owner=‘SYSDBA’ and segment_type=‘TABLE’
order by
bytes asc;
–2-更新表的列统计信息,从小表开始更新
select
‘SP_STAT_ON_TABLE_COLS(’‘’
||owner
||‘’‘,’‘’
||segment_name
||‘’‘,100);’
from
dba_segments
where
owner=‘SYSDBA’ and segment_type=‘TABLE’
order by
bytes asc;
–3-更新表上索引的统计信息,从小表开始更新
select
‘SP_TAB_INDEX_STAT_INIT(’‘’
||owner
||‘’‘,’‘’
||segment_name
||‘’‘);’
from
dba_segments
where
owner=‘SYSDBA’ and segment_type=‘TABLE’
order by
bytes asc;
这个命令是收集指定模式的统计信息,不是收集用户的。