随笔分类 -  oracle中级系列教程

oracle常用的数据字典
摘要:一、oracle数据字典主要由以下几种视图构成:1.user视图以user_为前缀,用来记录用户对象的信息2.all视图以all_为前缀,用来记录用户对象的信息及被授权访问的对象信息3.dba视图以dba_为前缀,用来记录数据库实例的所有对象的信息4.v$视图以v$为前缀,用来记录与数据库活动相关的性能统计动态信息5.gv$视图以gv$为前缀,用来记录分布式环境下所有实例的动态信息二、oracle常用的数据字典1.基本数据字典字典名称 说明dba_tables 所有用户的所有表信息dba_tab_columns 所有用户的表的字段信息dba_views 所有用户的所有视图信息dba_synon 阅读全文
posted @ 2013-06-21 17:23 Ruthless 阅读(7326) 评论(0) 推荐(0) 编辑
oracle物化视图日志结构
摘要:物化视图的快速刷新要求基本必须建立物化视图日志,这篇文章简单描述一下物化视图日志中各个字段的含义和用途。 物化视图日志的名称为MLOG$_后面跟基表的名称,如果表名的长度超过20位,则只取前20位,当截短后出现名称重复时,Oracle会自动在物化视图日志名称后面加上数字作为序号。物化视图日志在建立时有多种选项:可以指定为ROWID、PRIMARY KEY和OBJECT ID几种类型,同时还可以指定SEQUENCE或明确指定列名。上面这些情况产生的物化视图日志的结构都不相同。任何物化视图都会包括的4列:SNAPTIME$$:用于表示刷新时间。DMLTYPE$$:用于表示DML操作类型,I表示I. 阅读全文
posted @ 2012-05-23 14:53 Ruthless 阅读(28028) 评论(0) 推荐(3) 编辑
Oracle如何根据物化视图日志快速刷新物化视图
摘要:Oracle物化视图的快速刷新机制是通过物化视图日志完成的。Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理。首先,看一下物化视图的结构:SQL> create table t(id number, name varchar2(30), num number);表已创建。 SQL> create materialized view log on t with rowid, sequence(id, name) including new values;实体化视图日志已创建。 SQL> desc mlog$_tID和NAME是 阅读全文
posted @ 2012-05-22 16:51 Ruthless 阅读(11101) 评论(0) 推荐(1) 编辑
Oracle物化视图语法
摘要:一、Oracle物化视图语法create materialized view [view_name]refresh [fast|complete|force][on [commit|demand] | start with (start_time) next (next_time)]as{创建物化视图用的查询语句} 以上是Oracle创建物化视图(Materialized View, 以下简称MV)时常用的语法,各参数的含义如下:1、refresh [fast|complete|force] 视图刷新的方式:fast: 增量刷新.假设前一次刷新的时间为t1,那么使用fast模式刷新物化视图时, 阅读全文
posted @ 2012-05-21 15:29 Ruthless 阅读(2842) 评论(0) 推荐(1) 编辑
常用的PL/SQL开发原则
摘要:(1)广泛使用绑定变量,特别是批量绑定,因为这可以有效的避免sql的硬解析和PL/SQL引擎和SQL引擎的上下文切换!(2)广泛使用UROWID来处理DML语句(UROWID是ROWID扩展,ORACLE推荐使用UROWID来替代ROWID)(3)在你的存储过程中谨慎使用DDL语句(create、alter、drop、truncate等),因为这可能会破坏你的transaction的连续性,更为严重的是可能会阻塞DML操作并可能会导致大量library cache latch争用并且有可能会导致某些sql执行计划的改变。(4)不要在存储过程里不应该commit的地方commit,特别是当你的存 阅读全文
posted @ 2012-04-25 09:24 Ruthless 阅读(1847) 评论(0) 推荐(2) 编辑
数据库设计三大范式
摘要:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分 阅读全文
posted @ 2012-04-01 14:17 Ruthless 阅读(396188) 评论(45) 推荐(140) 编辑
五、oracle 10g目录结构
摘要:一、Oracle_Home目录Oracle_Home主目录位于D:\dev\oracle\product\10.2.0(oracle安装路径)下,它包含Oracle软件运行有关的子目录和网络文件以及选定的组件等;若在主机上第一次且只安装了Oracle数据库,没有其他Oracle产品,则使用默认的主目录\db_1;如果在同一台主机的同一个根目录下安装多个产品或安装了第2次,则Oracle_Home主目录会以db_n的形式出现,即db_2、db_3等。这也是为什么Oracle_Base目录可以有多个Oracle_Home目录的缘故。Oracle_Home(D:\dev\oracle\product 阅读全文
posted @ 2012-03-05 16:23 Ruthless 阅读(4549) 评论(0) 推荐(1) 编辑
四、oracle基本sql语句和函数详解
摘要:一、oracle常用数据类型一、 数据定义语言(ddl)数据定义语言ddl(data definition language)用于改变数据库结构,包括创建、更改和删除数据库对象。用于操纵表结构的数据定义语言命令有:create tablealter tabletruncate tabledrop tableeg、--创建tb_stu表数据结构create table tb_stu( id number, name varchar2(20));--修改tb_stu表数据结构,新增一列alter table tb_stu add pwd varchar2(6);--修改字段alter table 阅读全文
posted @ 2012-03-05 09:38 Ruthless 阅读(7794) 评论(0) 推荐(1) 编辑
三、oracle 体系结构
摘要:1、oracle内存由SGA+PGA所构成2、oracle数据库体系结构数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。oracle工作原理:1)、在数据库服务器上启动Oracle实例;2)、应用程序在客户端的用户进程中运行,启用Oracle网络服务驱动器与服务器建立连接;3)、服务器运行Oracle网络服务驱动器,建立专用的服务器进程执行用户进程;4)、客户端提交事务;5)、服务器进程获取sql语句并检查共享池中是否有相似的sql语句,如果有,服务器进程再检查用户的访问权限;否则分配新的sql共享区分析并执行sql语句;6)、服务器从实际的数据文件或SG 阅读全文
posted @ 2012-03-02 09:55 Ruthless 阅读(24064) 评论(4) 推荐(8) 编辑
二、oracle pctfree和pctused详解
摘要:一、建立表时候,注意PCTFREE参数的作用 PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update;即:当使用一个block时,在达到pctfree之前,该block是一直可以被插入的,这个时候处在上升期。 PCTUSED:是指当块里的数据低于多少百分比时,又可以重新被insert,一般默认是40,即40%,即:当数据低于40%时,又可以写入新的数据,这个时候处在下降期。二、举例说明 假设你一个块可以存放100个数据,而且PCTFREE 是10,PCTUSED是40, 阅读全文
posted @ 2012-01-16 10:39 Ruthless 阅读(55686) 评论(1) 推荐(4) 编辑
一、oracle 高水位线详解
摘要:一、什么是水线(High Water Mark)?所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水位,这也就是HWM的原始含义,当然不能说一个水库没水了,就说该水库的历史最高水位为0。但是如果 阅读全文
posted @ 2012-01-15 19:16 Ruthless 阅读(64655) 评论(2) 推荐(5) 编辑