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. release操作流程

    1.release:prepare 这条命令主要是做打包前的准备. 输入对应的release需要打包的版本等信息,如果不输入有默认的内容 将需要记录和准备的内容缓存到pom.xml目录下的releas ...

  2. maxim - Android UI压力测试

    项目介绍 项目地址:https://github.com/zhangzhao4444/Maxim 与monkey对比优势: 快 稳:只进行有意义的操作,防误点状态栏,不会乱断网.卸载应用 支持脱机运行 ...

  3. Centos设置自带中文输入法

    1.点击屏幕左上角的[系统应用程序]->[系统工具]->[设置] 2.在弹出的设置对话窗中选择Region&language 3.在弹出的[区域和语言]对话窗中,点击左下角“+”, ...

  4. GitHub托管代码-学习笔记

    1.注册github账号 https://github.com/ 2.下载GitHub Desktop软件 https://desktop.github.com/ 在下载的软件上登陆GitHub账户 ...

  5. 【记录】logstash 命令解释

    输入./bin/logstash --help 查看对应解释如下 -f #意即文件,运行指定文件 #logstash 会自动读取 /etc/logstash.d/ 目录下所有 *.conf的文本文件, ...

  6. gcc 交叉工具链中工具使用(arm-linux-xxx)

    在Ubuntu系统中使用 gcc 系列工具是在PC机上使用 arm-linux-gcc 编译的目标 是在 arm CPU上使用 一.安装交叉编译工具链 1. 编译工具怎么获取 1)从官网 http:/ ...

  7. Linux面试基础(二)

    Linux常用目录——存放 /bin  所有用户可以使用的可执行文件 /sbin  新管理员使用的执行文件 /boot  Linux内核映像文件和与引导加载有关的文件 /dev   设备文件 /etc ...

  8. 转:动态库路径配置- /etc/ld.so.conf文件

    Linux 共享库 Linux 系统上有两类根本不同的 Linux 可执行程序.第一类是静态链接的可执行程序.静态可执行程序包含执行所需的所有函数 — 换句话说,它们是“完整的”.因为这一原因,静态可 ...

  9. JS的加载和执行

    从JS的加载和执行谈性能优化 ---高性能JS读后感(第一章) 从脚本的"霸道"说起,随着浏览器的进步,js越来越听话了,所以,我们先说说以前的浏览器是怎么加载js的,以及js如何 ...

  10. 【leetcode】990. Satisfiability of Equality Equations

    题目如下: Given an array equations of strings that represent relationships between variables, each strin ...