oracle增加分区的方法
在项目中经常要增加大量的分区,总结了增加分区的方法:1.如果只增加一级分区,没有子分区,可以简单的用如下语句增加:alter table TDW_12580_ORD_REL_TAB_Madd PARTITION M_TDW_12580_201005 VALUES (201005)[@more@]2.如果增加的分区有子分区,则需要先建一个一级分区和子分区,然后用下面的脚本来增加:注意:表名用大写,日期格式为20100801 结束日期为下一个月的1号,如20100901脚本:declare --初始化参数 v_table_name varchar2(30); v_partition_name varchar2(30); v_subpartition_name varchar2(30); v_segmen
alter table新增字段操作究竟有何影响?(下篇)
<span class="Apple-style-span" style="border-collapse:separate;color:#000000;font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-...
Oracle体系结构理论篇
我们先看下面几个我们实际工作中经常会遇到的问题:1、通常说Oracle数据库是什么?2、如何理解Oracle实例?3、Oracle实例由哪些部分组成,它们之间的作用是什么?4、如何理解Oracle的物理结构?5、Oracle的物理结构由哪些部分组成,它们之间的作用是什么?6、如何理解Oracle的逻辑结构?7、O...
使用dbms_metadata生成建表语句
有时候在工作中,可以使用exp/imp得到表的创建语句。如果想得到关于table,index,constraint的语句,可以考虑使用dbms_metadata来实现。我们可以使用如下的脚本来得到建表语句,对应的索引语句,和ref_constraint语句。建表语句就不多说了,关于索引的部分,过滤了主键和唯一性索引的部分,这些语句会和建表语句中的cons...
shell基础学习总结(二)
-->关于shell编程之文件比较可以使用如下的选项来做文件的比较。有了这些选项,文件的比较来说都是游刃有余。-d file file是否存在并是一个目录-e file file是否存在-f file file是否存在并是一个文件-r file &nb...
通过shell脚本来统计段大小
今天到公司之后,就收到客户的邮件,他们提供了一个列表,希望我们能够们配合提供一份比较详细的报告,得到某个表在生产环境中所占的空间大小,他们需要根据这些信息来分析一个需求做相应的处理,这个问题处理起来还是很容易的,感觉分分钟搞定,但是自己去查看的时候,发现还是要考虑一些细节,比如这个表如果是分区表,s...
浅谈exp/imp(上)
作为DBA,经常需要在不同数据库环境间做数据的导入导出,exp/imp就是这样的轻便快捷的客户端工具,可以很方便的在不同数据库之间转移数据对象,即使数据库位于不同的硬件或者软件平台上。exp会转储产生对应的二进制文件,里面包含数据的定义信息,数据内容等,也就是我们通常所说的dump文件。exp/imp是比较经典的数据...
简单分析shared pool(三)
提到shared pool,都会不由得和sql语句的解析过程联系起来,因为shared pool所做的主要工作就是解析sql语句,生成执行计划,在之前的两篇中对于shared pool的存储进行了简单的分析,在10g,11g都是保留了255个bucket,可见这个值还是一个最优的默认值了。在第二篇中分析了一些关于绑定变量的内容,一般一提到sql语句的解析...
查询表的高水位,并手动降低表的高水位以释放表占用的空间
---很多时候,当表进行了频繁的操作以后,特别是当表中的大量数据被delete掉以后,表的高水位并不会降低,表空间自然也下不来,有的时候我们可能需要手工的去处理以释放表空间,这样也有助于提高性能。下面通过一个例子来说明:[@more@]SQL> create table tyy as select * from dba_objects;Table created.SQL> insert into tyy select * from tyy;71800 rows created.SQL> /143600 rows created.SQL> commit;Commit complete.SQL> insert into tyy select * from tyy;287200 rows created.SQL> commit;Commit complete
浅谈Oracle的undo管理
1、什么是undo 当我们对数据执行修改操作时,数据库会生成undo 信息,这样一旦执行的事务或语句由于某种原因失败,或者发出一条ROLLBACK 语句请求回滚,就可以利用这些undo信息将数据放回到修改前的样子。undo 信息存储在一组特殊的段中,这称为undo 段(undo segment)。select segment_name,tablespa...
Redo Log之一:理解Oracle redo log
1. 什么是Redo logRedo log包含所有的数据库变化历史,数据库的所有操作变化,均按照写入重做日志缓冲区先于数据块缓冲区、写入重做日志文件先于写入数据文件;当发生提交动作时,将重做日志缓冲区变化刷到重做日志文件。重做日志文件一般用于数据库恢复(实例恢复和介质恢复)、Log Min...
ORACLE 11g Result cache使用指南
何为result cache?result cache,结果缓存,当表的访问方式以读为主前提下,从一张大表中过滤出少量的记录作为结果集的查询语句适合把查询结果集放入result cache,后续相同的查询语句可以直接从result cache里获取想要的结果,省去了CPU、I/O上的开销,result cache位于shared pool里的某一块区域中,其大小可以通过resul...
Oracle官方文档下载与旧版本下载
非常著名的Oracle官方文档汇总的下载地址:http://tahiti.oracle.com/另外,对于10g以前的若干安装版本当前官网已经没有提供下载地址了,但可以通过提交一个SR来寻求帮助。...
相同更改数据量的前提下,单次COMMIT和多次COMMIT对日志空间浪费的影响对比
LGWR进程按照顺序写在线日志,中间不会跳跃,而且LGWR进程不会在同一个日志快写2次,即使一次写入的日志快只占几个字节,下次不会再用了,这就造成日志空间的浪费。Oracle做一次Commit,就会触发LGWR进程进行日志缓冲到日志文件的写入操作,因此可以说更改相同数据量的前提下,如果提交过于频繁,产生的日志可能就会越多...
alter table新增字段操作究竟有何影响?(上篇)
很久以前就有个疑问,见过一些表设计时会留出几个reverse的字段,目的是为了以后扩展,但此时设计的字段类型、长度等都是预计的,未来是否可用,不好说,那为什么会这么做呢?可能的原因是:“我现在设定好字段,需要的时候直接用就行了,不需要新增字段的操作”。那么,问题就是,新增字段的操作究竟有什么影响...
记录Record、PL/SQL表和二维数组
一、什么是记录Record和PL/SQL表?记录Record:由单行多列的标量类型构成的临时记录对象类型。类似于多维数组。PL/SQL表:由多行单列的索引列和可用列构成的临时索引表对象类型。类似于一维数组和键值对。两者都属于用户自定义数据类型。二、Record + PL/SQL表 用途是什么?Record + PL/SQL表可以进行数据的多行多列存储。这样我们就可使用Record + PL/SQL表在需要时封装一个临时的表对象,进行传递和操作。通过Record自定义表结构,封装一条记录。PL/SQL表声明 可用列 类型为Record类型(将可用列指向Record类型变量),每个索引对应一个Re
Oracle PL/SQL 自治事务的说明
自治事务是PL/SQL静态SQL的一个特性,可声明于存储过程、函数或触发器中。它是和主事务分开的事务,可以独立执行事务,不与主事务共享锁、资源,不受主事务提交的影响。自治事务可以用来记录日志,记录计数值,而不受主事务回滚的影响。--创建自治事务的存储过程create or replace procedure proc2 is PRAGMA AUT...
Oracle中常见的33个等待事件小结
一. 等待事件的相关知识1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件。 1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。 2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务...
Oracle中的表结构导出到word
``` SELECT t1.Table_Name AS "表名称", t3.comments AS "表说明", t1.Column_Name AS "字段名称", t1.Data_Type AS "数据类型", t1.Data_Length AS "长度", t1.NullAble AS "是否为空", t2.Comments AS "字段说明", t1.Data_Default "默认值" FROM cols t1 left join user_col_comments t2 on t1.Table_name=t2...
buffer busy wait 解析
一:首先解释buffer busy wait等待事件出现的原因:进程获取SGA中的buffer会遵循以下步骤:1.获得cache buffers chains latch,遍历那条buffer chain直到找到需要的buffer header。 #块在缓存中的排列成的链 就是 cache buffers chains2.根据需要进行的操作类型(读或写),它需要在buffer header上获...