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. 如何用Mybatis分库分表

    分库 在分库的时候 有时候为了方便 一些表需要存放所有库的信息,称为全局库.如:用户表存放所有的用户. 此时分库的思路 数据库分为全局库和业务库,其中业务库又分为N多个库,全局库只放个别表方便开发. ...

  2. React-Native初识-安卓篇(一)

    前言:React-Native简称RN,可以用来构建Android和IOS的应用程序,在接下来的两个半月里,我会记录下本人在学习RN开发项目中的点滴. 本篇目录: 1.React-Native初识 2 ...

  3. JAVA金额格式字符串转数值

    项目中有时会遇到对金额格式的数值如“1,234.34567”进行计算,直接使用Double.parseDouble(“1,234.34567”)会抛出NumberFormatException异常, ...

  4. rabbitmq的管理软件以及PHP7安装rabbitmq的

    rabbitmq-server管理软件的安装 1.mac下载rabbitmq-server brew install rabbitmq 2.启动服务rabbitmq-server rabbitmq-s ...

  5. shell位置参数处理举例

  6. 基于AtomicReference的单例模式写法

    AtomicReference类主要属性(来源于jdk1.7中的源码) public class AtomicReference<V> implements java.io.Seriali ...

  7. 过滤器为JSP文件生成静态页面

    用过滤器为JSP文件生成静态页面,这只是一个简单的实例,客户端浏览器第一次请求JSP页面时,服务器将生成对应的HTML文件,以后访问同一JSP文件,将转为访问生成的HTML文件.一.过滤器 packa ...

  8. Win7 VS2012智能提示显示英文的处理办法

    其原因为.net的语言包没安装成功, 解决方法为 替换自己英文显示的,把C:\Windows\Microsoft.NET\Framework\v2.0.50727\zh-CN 目录的文件,替换到相应的 ...

  9. JavaSE---main方法解读

    1.概述 1.1 java程序入口:main方法 public static void main(String[] args){} a,public:java类由JVM调用,为了让JVM自由调用mai ...

  10. Java:新建数组

    Array Initialization int[] a; = int a[]; int[] a = new int[100]; a[]的值会被初始化为0 `int[] smallPrimes = { ...