首页 > 代码库 > oracle数据库维护操作2

oracle数据库维护操作2

--分析表
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