`

Oracle 9i建表时需要加上MONITORING参数的作用

阅读更多

        MONITORING参数说明:创建表时设置MONITORING参数, 使得Oracle跟踪对表的DML操作,预估DML操作所影响的记录数量。在Oracle 9i中, MONITORING参数不是默认的,需要手工执行,而在Oracle 10g及以上版本中, 该参数为默认设置。

        1.创建表时设置MONITORING参数

         create table a
         (
               value      int
         )
         MONITORING
         ;

        2.打开表a的监控
        ALTER TABLE a MONITORING; 

        3.对test下的所有表进行监控
        BEGIN
                DBMS_STATS.alter_schema_tab_monitoring(test,true); 
        END;

实例:

SQL> exec DBMS_STATS.alter_schema_tab_monitoring('test',true);

PL/SQL 过程已成功完成。

SQL> insert into a values(2);

已创建 1 行。

SQL> commit;

提交完成。

SQL> delete a;

已删除3行。

SQL> commit;

提交完成。

SQL>  exec DBMS_STATS.alter_schema_tab_monitoring('test',true);

PL/SQL 过程已成功完成。

TABLE_NAME                        INSERTS    UPDATES    DELETES TRU
------------------------------                    ---------- -         ---------              ---------- - --
A                                                     1                                     1        NO

        MONITORING参数的作用:

        1.主要的作用是对一个schema的所有表dml监控,目的是看表自上一次收集统计信息后是否发生了dml操作。从而使日后收集的更有针对性,只收集发生变化的表。
例:SQL>EXECUTE DBMS_STATS. GATHER_SCHEMA_STATS ('HR', options=>'GATHER STALE');
         对于oracle9i,smon会每15分钟把被监测表发生的dml变化的的statistics回写到数据字典中。也可以手动强制回写:SQL>execute DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;
        2.另外一个作用,有些时侯库中有好多的垃圾表,在你不太确定的情况下,你可以用alter table有针对性的设一些监控,过了一定的周期,比如一个月、一个季度,如果这个表还没有dml操作,就可以先给其改名,最后删除。
        另外:可以通过查dba_tab_modifications这个视图看哪个被监测的表发生了dml操作

 

        如果exec DBMS_STATS.alter_schema_tab_monitoring('test',true);语句出现如下错误:

SQL>  exec DBMS_STATS.alter_schema_tab_monitoring('test',true);
begin DBMS_STATS.alter_schema_tab_monitoring('test',true); end;
*
ERROR at line 1:
ORA-06550: line 1, column 18:
PLS-00302: component 'ALTER_SCHEMA_TAB_MONITORING' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

       则需以sysdba权限用户执行,或通过sys授予用户dbms_stats的执行权限。

oracle>sqlplus '/ as sysdba'
SQL>grant execute on dbms_stats to hr;
       可进一步参考:http://wenku.baidu.com/view/5b9f512c7375a417866f8fae.html
分享到:
评论

相关推荐

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    1、本软件可作为简单的Oracle9i客户端使用,如用户对Oracle有更高的使用要求,请正式安装Oracle客户端或服务器。 2、本软件安装后,可使用自带的SQL Plus连接Oracle服务器,支持EXP、IMP命令。用户可以配合PLSQL ...

    oracle 9i 全部下载链接

    - [ship_9204_linux_disk1.cpio.gz](http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz) - [ship_9204_linux_disk2.cpio.gz]...

    windows server 2003 Oracle9i 安装

    在安装 Oracle9i 之前,需要首先安装 Windows Server 2003。由于安装过程较为复杂,这里不做详细描述。读者可以根据自己的需求选择合适的安装选项,并创建快照。 安装 Oracle9i 安装 Oracle9i 需要在虚拟机中装载 ...

    oracle9i客户端精简版.zip

    在“oracle9i310.msi”这个文件中,包含了Oracle 9i客户端的安装程序,用户只需运行此文件即可开始安装。 4. **使用说明.htm**:这个文件提供了关于如何使用客户端的指导,可能包括安装步骤、连接配置、基本操作等...

    Oracle9i客户端精简版

    Oracle9i客户端精简版。 Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版Oracle9i客户端精简版

    oracle9i310.rar

    在安装"oracle9i310.msi"文件时,需要注意以下几点: - 确保计算机满足Oracle 9i的最低系统要求,包括处理器速度、内存大小和可用磁盘空间。 - 关闭任何可能冲突的安全软件或防火墙,以避免安装过程中出现问题。 - ...

    oracle9i物理结构,oracle9i物理结构

    控制文件对于数据库启动至关重要,因为启动实例时需要依赖初始化参数文件,而连接数据库则需要控制文件的信息。为了防止单一故障点,通常建议配置多个控制文件并分布在不同的物理磁盘上。 3. **重做日志文件 (Redo ...

    oracle9i的EXP和IMP

    Oracle 9i数据库系统是Oracle公司的一个重要版本,它提供了许多功能来支持数据管理,其中包括数据导入(IMP)和导出(EXP)工具。这两个工具是数据库管理员进行数据迁移、备份和恢复操作的关键组件。 **EXP(Export...

    oracle9i全备份导入到11g说明

    当将Oracle 9i的数据全备份导入到Oracle 11g版本时,经常会遇到由于`db_block_size`参数不一致导致的导入失败问题。这种情况下,如果直接进行导入操作,很可能会出现如下的错误提示:“ORA-02236: invalid filename...

    oracle到mysql建表语句迁移

    oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本

    Oracle 9i 参考手册

    Oracle 9i在设计时强调了性能优化、数据安全性、网络计算以及可扩展性,使其成为企业级数据库解决方案的首选。 首先,我们要了解Oracle 9i的核心功能。它引入了Real Application Clusters(RAC),这是一种高可用性...

    通过xlrd读取excel生成oracle的建表语句

    本话题主要关注如何利用Python的xlrd库来读取Excel文件,并根据其中的数据生成适用于Oracle数据库的建表语句。 首先,xlrd是一个Python库,专门用于读取Excel文件。它支持多种Excel文件格式,包括.xls和.xlsx,使得...

    oracle9i教程

    《Oracle9i教程详解》 Oracle9i是Oracle公司推出的一款强大的关系数据库管理系统,它以其高效、稳定和灵活的特点在企业级应用中占据重要地位。本教程将深入探讨Oracle9i的核心概念和技术,帮助读者全面了解和掌握这...

    oracle自带建表命令

    当你使用Oracle精简版或者初次安装Oracle数据库时,可能需要手动创建数据库表来存储各种业务数据。以下是一些关于Oracle建表命令的关键知识点: 1. **CREATE TABLE** 语句:这是在Oracle中创建新表的基础SQL命令。...

    oracle9i客户端精简免安装.rar

    本压缩包“oracle9i客户端精简免安装.rar”是专为Windows操作系统设计的Oracle9i客户端版本,旨在简化Oracle数据库的管理和操作,让用户无需进行复杂的安装过程即可快速使用。 Oracle9i客户端主要包括以下几个关键...

    Oracle9i 数据库安装

    Oracle9i 数据库安装是一个复杂的过程,涉及到多个步骤和配置选项。在开始安装之前,确保你的操作系统和硬件环境满足Oracle9i的要求。在这个例子中,操作系统是SuSE Linux 7.2,已经安装了Oracle9i Enterprise ...

    oracle9i下载地址

    oracle9i下载地址, 分三个IOS文件, 加压即可安装.

    Oracle9i数据库管理实务讲座pdf+Oracle9i数据库管理员指南+Oracle培训教材

    通过阅读“Oracle9i数据库管理员指南”、“Oracle9i数据库管理实务讲座”以及“Oracle培训教材”,学习者可以系统地掌握Oracle 9i数据库的各个方面,为成为合格的数据库管理员打下坚实的基础。这些资料不仅涵盖理论...

    oracle9i精简版本(客户端)

    Oracle9i精简版客户端是Oracle公司为用户提供的一款轻量级数据库访问工具,主要针对那些只需要进行基本数据库操作,如查询、数据管理以及简单的应用程序开发的用户。这个版本相较于完整版,减少了不必要的组件和服务...

    oracle10g数据导入到oracle9i解决方案

    因此,如果需要将Oracle 10g中的数据导入到Oracle 9i中,尤其是该数据包含BLOB或CLOB字段时,就需要采取一定的策略来避免错误的发生。 #### 解决方案 本节将详细介绍如何解决Oracle 10g数据导入到Oracle 9i的问题,...

Global site tag (gtag.js) - Google Analytics