Oracle可以通过DBMS_STATS.GET_TABLE_STATS 收集表的统计信息,一般的收集方法如下:

DBMS_STATS.GATHER_TABLE_STATS(OWNNAME          => '',
TABNAME => '',
ESTIMATE_PERCENT => 80,
DEGREE => 4,
METHOD_OPT => '',
CASCADE => TRUE,
GRANULARITY => 'ALL',
NO_INVALIDATE => FALSE);

  

如果表的数据量比较稳定, 比如员工表,部门表,这种不经常变化的数据,并不需要每天收集统计信息。

那么可以通过导出导入的方式对统计信息进行备份。

1. 创建一张表来保存统计信息

BEGIN
DBMS_STATS.CREATE_STAT_TABLE(OWNNAME => 'SCOTT',
STATTAB => 'T_BI_STATS',
TBLSPACE => 'USERS');
END;
/

  

2. 导出scott.emp 的统计信息,存放到t_bi_stats表中,指定的statid字段名称是 EMP20190705

BEGIN
DBMS_STATS.EXPORT_TABLE_STATS(OWNNAME => 'SCOTT',
TABNAME => 'EMP',
STATTAB => 'T_BI_STATS',
STATID => 'EMP20190705');
END;
/

  

3. 删除scott.emp 的统计信息

BEGIN
dbms_stats.delete_table_stats(ownname => 'SCOTT',tabname => 'EMP');
END;
/

  

4. 导入统计信息到 emp表中

BEGIN
DBMS_STATS.IMPORT_TABLE_STATS(OWNNAME => 'SCOTT',
TABNAME => 'EMP',
STATTAB => 'T_BI_STATS',
STATID => 'EMP20190705');
END;
/

  

5. 如果感觉统计信息存放太多,可以指定某些统计信息进行删除

BEGIN
DBMS_STATS.DELETE_TABLE_STATS(OWNNAME => 'SCOTT',
TABNAME => 'EMP',
STATTAB => 'T_BI_STATS',
STATID => 'EMP20190705');
END;
/

  

Oracle备份统计信息的更多相关文章

  1. oracle学习----统计信息

    1.收集统计信息的方式 for all columns size skewonly BEGIN  DBMS_STATS.GATHER_TABLE_STATS(ownname          => ...

  2. 验证Oracle收集统计信息参数granularity数据分析的力度

    最近在学习Oracle的统计信息这一块,收集统计信息的方法如下: DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, ---所有者名字 tabname ...

  3. ORACLE收集统计信息

    1.     理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·       ...

  4. ORACLE 收集统计信息

    1.     理解什么是统计信息优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·        ...

  5. Oracle自动统计信息的收集原理及实验

    [日期:2014-11-21]来源:Linux社区  作者:stevendbaguo[字体:大 中 小] 从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATH ...

  6. Oracle 搜集统计信息

    常用的统计信息收集脚本: 非分区表: BEGIN   DBMS_STATS.GATHER_TABLE_STATS(ownname          => 'SCOTT',             ...

  7. Oracle Statistic 统计信息 小结

    oraclestatisticstabledatabasesqldictionary   目录(?)[-] 直方图上列的信息说明 直方图类型说明   一.  Statistic 说明 Oracle 官 ...

  8. oracle的统计信息的查看与收集

    查看某个表的统计信息 SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'; Session altered. SQL&g ...

  9. Oracle 11G统计信息自动收集及调整

    查询统计信息的收集所对应的task,以及当前状态 col CLIENT_NAME for a50col TASK_NAME for a20SELECT client_name, task_name, ...

随机推荐

  1. LOGO有哪几种常规设计思路?

    Logo设计的思路多种多样,但是我个人从Logo设计的历史上,大致可以归纳出五种常规思路,思路的名称是自己编的,仅供大家参考.而列举的这些思路背后,都是有着各自的时代背景的. 先从历史最悠久的一种设计 ...

  2. Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory

    执行下面的代码报错: $pdo = new PDO('mysql:dbname=db_test;host=localhost', 'root', '123456'); PHP Fatal error: ...

  3. GIT 的常见用法

    git init 新建代码库 git clone新建项目 git branch 查看分支 git config 显示配置 git config -e 显示配置文件 git config user.na ...

  4. elasticsearch 分析器 分词器

    参考:https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html 在全文搜索(Fu ...

  5. JavaSE---用户交互---获取键盘输入

    1.概述 1.1 JDK1.5提供了Scanner类,用来获取键盘输入: 1.2 Scanner类是   一个基于正则表达式的文本扫描器,可以从文件.输入流.字符串中解析出基本类型值.字符串值: 1. ...

  6. pywin3的简介

         微软Windows的Python扩展提供了对Win32 API的访问.创建和使用COM对象的能力以及PythOnWin环境.Pywin32是一个Python库,为python提供访问Wind ...

  7. websocket 中使用Service层的方法

    创建公共Utils 类 ApplicationContextRegister @Component @Lazy(false) public class ApplicationContextRegist ...

  8. POJ 3187 Backward Digit Sums (dfs,杨辉三角形性质)

    FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N < ...

  9. 匹配Luhn算法:可用于检测银行卡卡号

    匹配Luhn算法:可用于检测银行卡卡号 /** * http://www.cnblogs.com/JnKindle/p/5798974.html * * 匹配Luhn算法:可用于检测银行卡卡号 * * ...

  10. sql存储过程循环实现事务

    //往一张表中添加数据,获取添加数据生成的ID,再往另一张表中添加多条数据 ALTER PROCEDURE [dbo].[AttendanceCardAndDetail_Add] @SchoolID ...