oracle数据库维护操作2
时间:2021-07-01 10:21:17
帮助过:18人阅读
分析表
dbms_stats.gather_table_stats
--统计表的存储过程
(
ownname varchar2,
tabname varchar2,
partname varchar2 default null,
estimate_percent number default
to_estimate_percent_type(get_param(‘estimate_percent‘)),
block_sample boolean default false,
method_opt varchar2 default get_param(
‘method_opt‘),
degree number default to_degree_type(get_param(
‘degree‘)),
granularity varchar2 default get_param(
‘granularity‘),
cascade boolean
default to_cascade_type(get_param(
‘cascade‘)),
stattab varchar2 default null,
statid varchar2 default null,
statown varchar2 default null,
no_invalidate boolean default to_no_invalidate_type(
get_param(‘no_invalidate‘)),
stattype varchar2 default ‘data‘,
force boolean default false
);
--可以查询user_tables、all_tables、dba_tables数据字典视图获取分析后的统计信息。
--可以使用analyze语句清除数据字典中表的统计信息,语法为:
analyze
table[schema.]table delete[system]statistics;
analyze table employees
delete statistics;
--在删除表的统计信息的同时,该表上所有索引的统计信息也同时被删除了。
--验证表存储结构
analyze
table[schema.]table validate structure
--
[
cascade--对表进行完整性验证的同时,也对定义在该表上的索引进行完整性验证。
[
complete--对表及其索引进行完全的存储结构完整性验证,默认值。
[into[schema.]table]
--将验证返回的、包含损坏数据块的记录的ROWID保存到用户自定义的表中。
[offline--在对表进行存储结构完整性验证时不允许对表进行DML操作。默认值。
|online]--如果对表进行存储结构完整性验证时,若有用户对该表进行DML操作,则必须使用ONLINE参数,
--以联机方式对表进行存储结构完整性验证。这样虽然会稍微影响DML执行性能,但为表的存储结构完整性验证提供了更大的灵活性。
]
|fast
--对表和索引进行完全的结构完整性验证需要占用大量的资源,可以使用FAST参数,采用优化验证算法的验证方法。
--该验证方法可以快速实现对表的完整性验证,但不返回损坏数据块的详细信息。
];
@d:\app\administrator\product\
11.2.
0\dbhome_1\rdbms\admin\utlvalid.sql;
--创建一个默认表INVALID_ROWS
analyze
table employees validate structure;
--分析表
@D:\app\Administrator\product\
11.2.
0\dbhome_1\RDBMS\ADMIN\UTLCHN1.SQL;
--CHAINED_ROWS表
analyze
table[schema.]table list chained rows
[into[schema.table]];
--分析行链接、行迁移情况
oracle数据库维护操作2
标签:span sys gre -- invalid default line statistic rdbms