数据库
文章平均质量分 70
iteye_20137
这个作者很懒,什么都没留下…
展开
-
数据批量导入Oracle数据库
1、tr_copy.ctlload datainfile 'D:\tr_copy.txt'into table tr_copy APPEND( TROUBLE_CODE char terminated by '@', BRIEF_DESC char terminated by '@', DESCRIPTION c...原创 2010-07-02 15:46:34 · 104 阅读 · 0 评论 -
oracle中分析sql语句执行计划的方法
如何生成explain plan? 解答:运行utlxplan.sql. 建立plan 表 针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table for sql statement 运行utlxplp.sql 或 utlxpls.sql察看explain plan(select * from...原创 2011-01-14 15:36:31 · 272 阅读 · 0 评论 -
如何看Oracle执行计划
oracle执行计划解释 一.相关概念 1·rowid,伪列:就是系统自己给加上的,每个表都有一个伪列,并不是物理存在。它不能被修改,删除,和添加,rowid在该行的生命周期是唯一的,如果向数据库插入一列,只会引起行的变化,但是rowid并不会变。 2·recursive sql概念:当用户执行一些SQL语句时,会自...原创 2011-01-14 15:43:53 · 101 阅读 · 0 评论 -
创建存储过程(Oracle)
1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is b...原创 2010-07-21 11:27:49 · 162 阅读 · 0 评论 -
Oracle数据库备份(exp/imp命令)
http://dbajun.iteye.com/category/22375 dba-blog---------------------------------------------------------------------------------------Oracle数据库备份-------------------------------------------------...原创 2010-07-22 17:06:44 · 143 阅读 · 0 评论 -
v$sql中的executions以多长时间来计算的?
v$sql中的executions以多长时间来计算的?如题,执行次数(executions)是从数据库启动后就开始计算的,还是只是最近几个小时的执行次数?能清除v$sql里面的信息重新来过吗?http://www.itpub.net/thread-959103-1-1.htmlSQL> create table test as select * from dba_object...原创 2010-07-26 09:37:29 · 647 阅读 · 0 评论 -
学习动态性能表v$sql
V$SQL中存储具体的SQL语句。 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1)。如果有多个cursor(子游标)存在,在V$SQLAREA为所有cursor提供集合信息。 例1: 这里介绍以下child cursor user A: select * from tbl user B: select * from tbl 大家认为这两条语句是不是一样的啊...原创 2010-07-26 10:02:41 · 107 阅读 · 0 评论 -
基于成本的Oracle优化法则
当我们讨论SQL语句的成本时,需要倍加谨慎,这是因为“成本”一词同时存在两方面的含义。一方面,成本可以指由诸如解释计划(explain plan)等工具导致的大量的执行次数;另一方面,成本可以指执行SQL语句导致的实际资源消耗。当然,从理论上讲,这两方面含义之间的关系应该比较简单明了,因此也就不必过多地纠缠这两种含义。本书中的“成本”一词是指优化器执行的计算导致的消耗。本书的目的在于解释优化器...原创 2010-07-26 10:39:46 · 215 阅读 · 0 评论 -
散列连接,索引,嵌套循环
1 深入理解嵌套循环执行计划 为什么要引入散列连接呢?假设两张表t1(c1 int,c2 int),t2(d1 int,d2 int),查询语句为select c1,d1 from t1 inner join t2 on c1=d1。如果数据库没有实现散列连接、合并连接的话,只能选择使用嵌套循环。从上篇文章中我们可以得到,对于t1的每一条记录,都需要遍历t2的每一条记录。因此,当t...原创 2010-07-26 10:58:05 · 771 阅读 · 1 评论 -
Oracle内连接、左外连接、右外连接、全外连接小总结
转载自:http://www.itwis.com/html/database/oracle/20080115/847.html数据库版本:Oracle 9i连接n个表,至少需要n-1个连接条件。例如:连接三个表,至少需要两个连接条件。表TESTA,TESTB,TESTC,各有A, B两列AB00110A...原创 2010-07-15 09:38:38 · 123 阅读 · 0 评论 -
Oracle_Database10g性能调整与优化-阅读笔记
1、储存过程:有了条件编译,就能进入只有在编译期间才会执行的if-then 控制结构,它的目的是使用if-then 控制结构来控制程序编译时所包含的文本语句(从THEN 或ELSE 子句中)。条件编译控制结构通过标准if-then块的关键字(IF, THEN, ELSE, ELSEIF, END)前的条件编译触发器字符($)来进行标识(除了END 代替END IF作为块的结束符的情况以外)。O...原创 2010-07-14 10:12:16 · 94 阅读 · 0 评论 -
数据库性能优化措施
1、1、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。 2、2、调整应用程序结构设计。这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用...原创 2010-07-12 15:14:51 · 76 阅读 · 0 评论 -
探索数据字典,提高自学习Oracle能力
我们知道Oracle通过数据字典来管理和展现数据库信息,这些信息至关重要。正确理解这部分内容有助于加强我们的oracle学习能力。接下来我们介绍一下怎样通过数据库本身来学习研究数据库。首先,Oracle的字典表和视图基本上可以分为三个层次。1.X$表这一部分表是Oracle数据库的运行基础,在数据库启动时由Oracle应用程序动态创建。2.GV$和V$视图从Oracle8开...原创 2010-07-05 11:44:13 · 52 阅读 · 0 评论 -
数据库连接池
目录概述 作用 影响因素 1) 最小连接数 2) 最大连接数 3) 如果最小连接数与最大连接数相差太大,Java中开源的数据库连接池概述 作用 影响因素 1) 最小连接数 2) 最大连接数 3) 如果最小连接数与最大连接数相差太大,Java中开源的数据库连接池 <script type="text/javascript"></script> 概述 ...原创 2010-07-05 14:18:07 · 88 阅读 · 0 评论 -
DBCP连接池参数
dbcp提供了数据库连接池;可以在spring,iBatis,hibernate中调用dbcp完成数据库连接,框架一般都提供了dbcp连接的方法;tomcat中也提供了dbcp的jndi设置方法;也可以不在框架中使用dbcp,单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar 在连接池中,这...原创 2010-07-05 15:01:34 · 110 阅读 · 0 评论 -
NoSQL
百科名片NoSQL家族新成员MemBaseNoSQL,指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。 <script type="text/javasc...原创 2010-07-09 13:42:10 · 117 阅读 · 0 评论 -
全面剖析Oracle数据库中的分区功能
摘要:具有Oracle分区功能的Oracle 10g可以显著增强几乎任何数据库应用程序的可管理性、性能和可用性。分区功能可用于前沿应用程序,分区功能确实能够成为保障这些应用程序成功的关键技术成分。同时,分区功能也可用于较为普通的数据库应用,来简化这些应用的管理工作,降低管理成本。标签:分区 功能 OracleOracle帮您准确洞察各个物流环节Oracle 分区功能可以提高许多应用程序的可...原创 2010-07-12 11:24:43 · 97 阅读 · 0 评论 -
oracle分区表
oracle分区表 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 分区提供...原创 2010-07-12 13:36:42 · 89 阅读 · 0 评论 -
oracle性能优化心得
很多的时侯, 做Oracle DBA的我们,当应用治理员向我们通告现在应用很慢、数据库很慢的时侯,我们到数据库时做几个示例的Select也发现同样的问题时,有些时侯我们会无从下手,因为我们认为数据库的各种命种率都是满足Oracle文档的建议。实际上如今的优化己经向优化等待(waits)转型了,实际中性能优化最根本的出现点也都集中在IO,这是影响性能最主要的方面,由系统中的等待去发现Oracle库中...原创 2010-07-12 14:01:44 · 77 阅读 · 0 评论 -
oracle相关blog链接
http://dbua.iteye.com/category/72554 http://www.blogjava.net/sxyx2008/archive/2009/10/22.html 老方块培训试听原创 2010-07-12 14:12:24 · 104 阅读 · 0 评论 -
oracle hints常用
1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. ...原创 2010-07-26 11:02:21 · 200 阅读 · 0 评论 -
学习v$librarycache视图
通过查看v$librarycache视图,可以监控library cache的活动情况,进一步衡量share pool设置是否合理。其中RELOADS列,表示对象被重新加载的次数,在一个设置合理的系统里,这个数值应该接近于0,另外,INVALIDATIONS列表示对象失效的次数,对象失效后,这意味着sql必须要被重新解析。 下述sql查询librarycache的性能状况: SELECT ...原创 2010-07-26 11:11:53 · 174 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(五)
要为一个语句生成执行计划,可以有3种方法: 1).最简单的办法 Sql> set autotrace on Sql> select * from dual;执行完语句后,会显示explain plan 与统计信息。这个语句的优点就是它的缺点,这样在用该方法查看执行时间较长的sql语句时,需要等待该语句执行成功后,才返回执行计划,使优化的周期大大增长。 如果不想执行语句而只是...原创 2010-08-05 11:06:42 · 84 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(六)
例1: 假设LARGE_TABLE是一个较大的表,且username列上没有索引,则运行下面的语句:SQL> SELECT * FROM LARGE_TABLE where USERNAME = ‘TEST'; Query Plan ----------------------------------------- SELECT STATEMENT Optimizer=CHOOSE (C...原创 2010-08-05 11:07:29 · 115 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(七)
如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则...原创 2010-08-05 11:08:42 · 103 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(七)_2
创建索引: create index inx_col12A on a(col1,col2); select A.col4 from C , A , B where C.col3 = 5 and A.col1 = B.col1 and A.col2 = C.col2 and B.col3 = 10; Execution Plan -----------------------------------...原创 2010-08-05 11:09:17 · 111 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(八)
环境:oracle 817 + linux + 阵列柜 swd_billdetail 表5000万条数据 SUPER_USER 表2800条数据 连接列上都有索引,而且super_user中的一条对应于swd_billdetail表中的很多条记录表与索引都做了分析。 实际应用的查询为: select a.CHANNEL, B.user_class from swd_billdetail B...原创 2010-08-05 11:09:49 · 92 阅读 · 0 评论 -
oracle dba 部分经验总结分享
http://www.cnblogs.com/caibird2005/archive/2009/01/07/1370923.html原创 2010-08-06 09:17:23 · 120 阅读 · 0 评论 -
函数 & 存储过程
创建函数:create or replace function get_hello_msgreturn varchar2 asbegin return 'hello world';end get_hello_msg; 查询输出:select get_hello_msg from dual ; 或:declare msg varchar2(20);begin ...原创 2010-08-10 09:36:37 · 98 阅读 · 0 评论 -
Oracle 数据类型
数据类型名称说明BFILE放置指向存在数据库以外、但出现在本地服务器上的BLOB的指针,最大可达4GB。数据库将输入(而非输出)传送至外部BLOB。若删除包含BFILE值的数据行,只会删除指针值,并不会删除实际的文件结构。BINARY_FLOAT放置32位浮点数BINARY_DOUBLE放置64...原创 2010-08-11 17:55:05 · 80 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(三)
第4章 ORACLE的优化器 优化器有时也被称为查询优化器,这是因为查询是影响数据库性能最主要的部分,不要以为只有SELECT语句是查询。实际上,带有任何WHERE条件的DML(INSERT、UPDATE、DELETE)语句中都包含查询要求,在后面的文章中,当说到查询时,不一定只是指SELECT语句,也有可能指DML语句中的查询部分。优化器是所有关系数据库引擎中的最神秘、最富挑战性的部件之一,...原创 2010-08-05 11:06:06 · 104 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(二)
第3章 SQL语句处理的过程 在调整之前我们需要了解一些背景知识,只有知道这些背景知识,我们才能更好的去调整sql语句。 本节介绍了SQL语句处理的基本过程,主要包括: · 查询语句处理 · DML语句处理(insert, update, delete) · DDL 语句处理(create .. , drop .. , alter .. , ) · 事务控制(com...原创 2010-08-05 11:05:30 · 112 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(一)
第1章 性能调整综述 Oracle数据库是高度可调的数据库产品。本章描述调整的过程和那些人员应与Oracle服务器的调整有关,以及与调整相关联的操作系统硬件和软件。本章包括以下方面: *谁来调整系统? *什么时候调整? *建立有效调整的目标 *在设计和开发时的调整 *调整产品系统 *监控产品系统 谁来调整系统: 为了有效地调整系统,若干类人员必须交换信息并牵涉到...原创 2010-08-05 11:05:01 · 79 阅读 · 0 评论 -
Oracle中的游标操作
游标是Oracle系统在内存中开辟的一个工作区,在其中存放SELECT语句返回的查询结果 <1>游标操作的过程 (1) 定义游标 (2)打开游标 (3)游标的操作(移动,读取数据) (4)关闭游标 注释:-- 游标的定义格式:cursor cusor_name is select语句 -- 游标的打开: open 游标名 -- 游标读取数据: fet...原创 2010-07-26 14:02:22 · 122 阅读 · 0 评论 -
Oracle创建序列号
Oracle中的序列号顾名思义就是创建一个序列号,可以在插入或者更新的时候调用,相当于是一个生成器 创建语法: create sequence myse increment by 1 --增长度 start with 1 --从哪里增加,就是说下一个获取的值从这个值开始 nomaxvalue --不设置最大值 对应的:maxvalue 30、 ...原创 2010-07-28 15:26:12 · 195 阅读 · 0 评论 -
oracle中性能视图V$SYSSTAT小结
V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序: 数据库使用状态的一些关键指标:l CPU used by this session:所有session的cpu占用量,不包括后台进程。这项统计的单位是百分之x秒.完全调用一次不超过10msl db block changes...原创 2010-07-29 10:06:51 · 98 阅读 · 0 评论 -
SGA
百科名片系统全局区又称SGA (System Global Area)是Oracle Instance的 基本组成部分,在实例启动时分配。是一组包含一个Oracle实例的数据和控制信息的共享内存结构。主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存...原创 2010-07-29 10:11:57 · 283 阅读 · 0 评论 -
Statspack 使用指南
Oracle Statspack 从 Oracle8.1.6 开始被引入 Oracle,并马上成为 DBA 和 Oracle 专家用来诊断数据库性能的 强有力的工具.通过 Statspack 我们可以很容易的确定 Oracle 数据库的瓶颈所在,记录数据库性能状态,也可以 使远程技术支持人员迅速了解你的数据库运行状况.因此了解和使用 Statspack 对于 DBA 来说至关重要. 在数据库中 S...原创 2010-07-30 08:52:26 · 92 阅读 · 0 评论 -
认识优化查询中的Merge Join、Nested Loops和Hash Match
1.基本概念: Merge Join([排序]合并联接)、Nested Loops(嵌套循环联接)、Hash Match都是物理运算符。 Merge Join常执行Inner Join(内部联接)、Left Outer Join(左外部联接)、Left Semi Join(左半部联接)、Left Anti Semi Join(左反半部联接)、Right Outer Join(右外部...原创 2010-08-05 10:58:32 · 126 阅读 · 0 评论 -
分析SQL语句的执行计划优化SQL(四)
http://www.examda.com/oracle/zhonghe/20070317/100405552.html第5章 ORACLE的执行计划 背景知识: 为了更好的进行下面的内容我们必须了解一些概念性的术语: 共享sql语句 为了不重复解析相同的SQL语句(因为解析操作比较费资源,会导致性能下降),在第一次解析之后,ORACLE将SQL语句及解析后得到的执行计划存放在...原创 2010-08-05 11:02:35 · 147 阅读 · 0 评论