Oracle

oracle建立索引原则

索引需要平衡query和DML的需要,常用于(子)查询的表应建立索引;把索引建到不同的表空间中;用统一的extent大小:五个block的倍数或者tablespace指定的MINIMUMEXTENT的倍数;创建索引考虑用NOLOGGING参数,重建索引的时候也一样;创建索引时INITRANS值应该比相应的table的值高一些;对常用SQL语句的where条件中的列建立唯一索引或组合索引,组合条件查询中相应的组合索引更有效;对于组合索引,根据列的唯一值概率,

系统 2019-08-12 01:53:21 1910

Oracle

oracle合并语句

在sqlserver中的合并语句可以用xmlpath详见http://www.cnblogs.com/codeyu/archive/2010/05/25/1743474.html而oracle的合并可以用listagg配合withingroupselect*from(selectgroupvalue,max(sendtime)assendtime,listagg(content)withingroup(orderbysort)ascontentfromme

系统 2019-08-12 01:33:43 1910

Oracle

oracle之压缩表

oracle压缩数据的处理基于数据库块,本质是通过消除在数据库中的重复数据来实现空间节约。具体做法:比较数据块中包含的所有字段或记录,其中重复的数据只在位于数据块开始部分的记号表(SymbolTable)中存储一份,在其他行或字段出现同样的数据时,只记录一个指向记号表中相关数据的指针。性能分析:1、在批量装载或插入数据的过程中,由于压缩的同时进行,会引起CPU使用率提高,及导致装载时间明显增加2、对于普通的INSERT语句,由于没有执行压缩过程,性能几乎没

系统 2019-08-12 01:33:42 1910

Oracle

Oracle汇总笔记

http://gzf_PC:1158/em数据库配置文件已经安装到D:\WorkC,同时其他选定的安装组件也已经安装到D:\WorkC\oracle。iSQL*PlusURL为:http://gzf_PC:5560/isqlplusiSQL*PlusDBAURL为:http://gzf_PC:5560/isqlplus/dba--创建表droptabletest;createtabletest(Idint,UNamevarchar2(20),constra

系统 2019-08-12 01:33:39 1910

Oracle

Oracle分析函数六——数据分布函数及报表函数

原创于2009年08月02日,2009年10月22日迁移至此。Oracle分析函数——数据分布函数及报表函数CUME_DIST功能描述:计算一行在组中的相对位置,CUME_DIST总是返回大于0、小于或等于1的数,该数表示该行在N行中的位置。例如,在一个3行的组中,返回的累计分布值为1/3、2/3、3/3SAMPLE:下例中计算每个部门的员工按薪水排序依次累积出现的分布百分比SELECTdepartment_id,first_name||''||last_

系统 2019-08-29 23:27:42 1909

Oracle

oracle中实现分页的方法!

分页技术是在B/S应用系统中最常见的技术之一,下面就所参加的工作流项目中所用到的分页技术加以实例说明:CREATEORREPLACEprocedurepro_SYS_fetch_by_page(avc_tableINvarchar,--表名称avc_field_listINvarchar,--所要取的字段列表avc_condition_listINvarchar,--条件,如无条件,输入空字符串''ai_topnumINinteger,--前面多少条记录不

系统 2019-08-29 23:27:23 1909

Oracle

oracle Instant Client install

InstallationSeetheInstantClientHomePageformoreinformation.InstallationofZIPfiles:1.DownloadthedesiredInstantClientZIPfiles.AllinstallationsrequiretheBasicorBasicLitepackage.2.Unzipthepackagesintoasingledirectorysuchas"/opt/oracle/

系统 2019-08-12 09:26:40 1909

Oracle

Oracle:热备时,突然断电情况处理

我们在热备时,如果此时突然停电,再次启动时会发生什么情况呢?SQL>altertablespaceusersbeginbackup;Tablespacealtered.SQL>descv$backupNameNull?Type-----------------------------------------------------------------------------FILE#NUMBERSTATUSVARCHAR2(18)CHANGE#NUMB

系统 2019-08-12 01:55:01 1909

Oracle

oracle_深刻理解数据库的启动和关闭

Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能。一、启动和关闭Oracle数据库对于大多数OracleDBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行方式下的ServerManager。从Oracle8i以后,系统将ServerManager的所有功能都集中到了SQL*Plus中,也就是说从8i以后对于数据库的启动和关闭可以直接通过SQL*Plus来完成,而不再另外需

系统 2019-08-12 01:54:48 1909

Oracle

Oracle Sequence与Trigger的使用

一:建立sequence--CreatesequencecreatesequenceSEQ_PUSHminvalue1maxvalue9999999999startwith1incrementby1cache20;二:建立Trigger在向t_push表中插入一条数据时,ID自动赋值createorreplacetriggertr_id_insertbeforeinsertont_pushforeachrowdeclare--localvariablesh

系统 2019-08-12 01:54:18 1909

Oracle

Oracle trunc()函数的用法

--Oracletrunc()函数的用法/**************日期********************/1.selecttrunc(sysdate)fromdual--2011-3-18今天的日期为2011-3-182.selecttrunc(sysdate,'mm')fromdual--2011-3-1返回当月第一天.3.selecttrunc(sysdate,'yy')fromdual--2011-1-1返回当年第一天4.selecttru

系统 2019-08-12 01:54:14 1909

Oracle

oracle 获取系统时间

Oracle中如何获取系统当前时间selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')fromdual;ORACLE里获取一个时间的年、季、月、周、日的函数selectto_char(sysdate,'yyyy')fromdual;--年selectto_char(sysdate,'MM')fromdual;--月selectto_char(sysdate,'dd')fromdual;--日selectto_char(

系统 2019-08-12 01:53:54 1909

Oracle

oracle监听服务启动不了的解决办法

问题:---------------------------启动oracle监听服务时出现本地计算机上的OracleOraHome92TNSListener服务启动后又停止了,一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报服务"。-----------------------------------------解决办法:-=----------------------C:\DocumentsandSettings\AllUsers\「开始」

系统 2019-08-12 01:53:35 1909

Oracle

Oracle内置函数SQLCODE和SQLERRM

Oracle内置函数SQLCODE和SQLERRM是特别用在OTHERS处理器中,分别用来返回Oracle的错误代码和错误消息。OTHERS处理器应该是异常处理块中的最后的异常处理器,因为它是用来捕获除了别的异常处理器处理以外的所有的Oracle异常,所以在程序的最外层使用一个OTHERS处理器的话,将可以确保所有的错误都会被检测到。在一个内在的异常中,SQLCODE返回Oracle错误的序号,而SQLERRM返回的是相应的错误消息,错误消息首先显示的是错

系统 2019-08-12 01:53:33 1909

Oracle

oracle存储过程代码

刘贤同学写的一个例子,很不错,所以就收藏一下:)sql代码createorreplacePROCEDUREp_insert_t(v_xinNUMBER)IStemp_idnumber;BEGINFORiIN1..v_xLOOPselectSEQ_B_USER_ID.nextvalintotemp_idfromdual;insertintobuser(id,username,nickname,status,createdtime)values(temp_id

系统 2019-08-12 01:52:14 1909