
Oracle
GAMELOFT9
读万卷书,行万里路,知行合一。
展开
-
oracle转义字符
当在pl/sql developer插入数据时,如果有特殊字符,是无法插入成功的,下面就对特殊字符进行一些说明: 在oracle中,某些字符表示的有特殊的含义的,比如说&符号,表示变量替换;%表示在查询过程中的通配符下面列出一些在ORACLE中有特殊含义的字符作以测试:符号功能类型%转载 2015-03-29 09:14:29 · 1839 阅读 · 0 评论 -
Stream 技术小结
原文地址:技术小结">Stream 技术小结作者:jobsstephenStream的主要环节分为捕获(capture),分发(propagation)和应用(apply)。如果从应用这些环节所处的地方,可以分为:UpStreams(capture和propagation在source数据库,apply在destination数据库)。DownStream(capture和propaga转载 2014-03-10 10:11:06 · 858 阅读 · 0 评论 -
CBO优化器可使用的三种表连接方式
NESTED LOOP 对于被连接的数据子集较小的情况,nestedloop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是nested loops。一般在nested loop中,驱动表满足条件结果集不大,被驱动表的连接字段要有索引,这样就走nstedloop。如果驱动表返回记录太多,就不适合neste原创 2014-03-10 10:10:33 · 920 阅读 · 0 评论 -
Oracle优化器介绍
本文整理自网络,原作者:DZQABCOracle优化器介绍本文讲述了Oracle优化器的概念、工作原理和使用方法,理解本文将有助于您更好的更有效的进行SQL优化工作。CBO优化器结构CBO是基于成本的优化器,它根据可用的访问路径、对象的统计信息、嵌入的Hints来选择一个成本最低的执行计划。CBO主要包含以下组件:l 查询转换器(QueryTransformer)原创 2014-03-10 10:10:31 · 815 阅读 · 0 评论 -
硬解析(hard parse)和软解析(…
本文整理自网络,感谢原作者【dave】 我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。还有一类就是DML语句(数据操纵语言),他们会根据情况选择要么进行硬解析,要么进行软解析。DML:INSERT,UP原创 2014-03-10 10:10:28 · 1666 阅读 · 0 评论 -
oracle执行计划
本文转自【David Dai】,一位很好的作者,在此表示感谢! 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。 这里的SQL优化指的是SQL性能问题的定位,定位原创 2014-03-10 10:10:26 · 905 阅读 · 0 评论 -
【原创】set autotrace …
一、问题描述: 今天想看一下SQL的执行计划,在PL/SQL的command窗口中输入set autotrace on时,报Cannot SETAUTOTRACE的错误。二、解决办法: 这个命令必须在sql*plus中运行,在PL/SQL中会报错:Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporati原创 2014-03-10 10:10:24 · 629 阅读 · 0 评论 -
job_queue_processes参数讲解
本文转自【乐沙弥的世界】,在此感谢原作者!Oraclejobs为Oracle开发人员和数据库管理员提供了数据库层面维护的极大便利性。对于Oracle jobs在Oracle9i之前,是由dbms_jobs来实现,而到了10g之后,多出了dbms_scheduler方式。两者同样可以添加Oraclejob,只不过dbms_scheduler的功能更为强大。在使用Oraclejobs时,我原创 2014-03-10 10:10:20 · 1317 阅读 · 0 评论 -
define,variable和declare的区别
--本文整理自网络。一、define(即host变量) Host变量主要作用是起到一个替代变量的作用,是主机环境可以和oracle进行交互的一个媒介。通过define定义host变量的时候必须指定变量名和变量的值,如果变量名已经存在于host变量中,则自动覆盖,这个值不可以指定类型,一律按char存储。1.定义的格式:define variable_name =value注意原创 2014-03-10 10:10:14 · 1473 阅读 · 0 评论 -
【原创】创建job实验
oracle job实验2013/11/18 一、概述 job的使用可以大大减少工作量。有时要定时执行任务,就要用到job。二、操作步骤--本次实验在SCOTT用户下操作,对scott赋予了DBA的权限!方便后续建表,建job等操作!1.定义一张表test_stucreate table test_Stu( stuno number p原创 2014-03-10 10:10:09 · 1385 阅读 · 0 评论 -
oracle服务简介
Oracle需要启动的服务总结本文转自http://blog.youkuaiyun.com/limin13215/article/details/78753981.在使用Oracle时候,一般启动OracleServiceORCL和OracleOraDb11g_home1TNSListener这两个服务Oracle就能正常运行;2.要让局域网上的机子访问你的oracle,必须启动oracleo原创 2014-03-10 10:09:55 · 554 阅读 · 0 评论 -
【转载】Oracle参数修改浅析
SCOPE =SPFILEThe change is applied in the server parameterfile only. The effect is as follows:For dynamic parameters, the change is effective at the next startupand is persistent.For static param原创 2014-03-10 10:09:46 · 741 阅读 · 0 评论 -
dba,user,v$等开头的常用表…
原文地址:转">dba,user,v$等开头的常用表和视图 转作者:Cowwwwwwwardly一.Oracle表明细及说明1.dba_开头表 dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 dba_ta转载 2014-03-10 10:09:42 · 1338 阅读 · 0 评论 -
【原创】spool方式导出表数据到文…
spool方式导出表数据到文本 2013/11//11一、介绍利用Oracle中的Spool缓冲池技术可以实现Oracle数据导出到文本文件。要注意是SPOOL是SQLPLUS的命令,不是SQL语法。二、操作步骤1、设置SET选项,这里进行一些环境的设置。一般设置:set colsep' ';原创 2014-03-10 10:09:29 · 1361 阅读 · 0 评论 -
【原创】oracle中CAST函数使用简介
CAST()函数可以进行数据类型的转换。CAST()函数的参数有两部分,源值和目标数据类型,中间用AS关键字分隔。以下例子均通过本人测试。一、转换列或值语法:cast( 列名/值 as 数据类型 )用例:1)、转换列--将empno的类型(number)转换为varchar2类型。select cast(empno as varchar2(10)) as empno from e原创 2014-03-10 10:09:21 · 2178 阅读 · 0 评论 -
Oracle常用函数介绍
这里列一下工作中经常会用到的一些函数,方便以后查询:1.trun(n,[m]) 该函数用于截取数字,不进行四舍五入。 省略M则截取到整数,M为正数则截取到小数点m位,M为负数则截取到小数点前m位。例子: selecttrunc(15.53),trunc(15.53,1),trunc(15.53,-1) from dual; TRUNC(15.53) TRUNC(15.53,原创 2014-03-10 10:09:12 · 724 阅读 · 0 评论 -
oracle流复制技术
本文整理自网络。 Stream是Oracle 的消息队列(也叫Oracle Advanced Queue)技术的一种扩展应用。 Oracle的消息队列是通过发布/订阅的方式来解决事件管理。流复制(Streamreplication)只是基于它的一个数据共享技术,也可以被用作一个可灵活定制的高可用性方案。它可以实现两个数据库之间数据库级,schema级,Table级的数据同步,并且这原创 2014-03-10 10:11:08 · 873 阅读 · 0 评论 -
Supplemental Logging介绍
本文整理自网络。感谢原作者:云卷云舒 一、什么是SupplementalLogging。 要回答这个问题,我们就必须先搞明白,为什么我们需要Supplemental Logging! 事实上,目前最有可能用到Supplemental Logging的也只有逻辑standby和streams这两项特性(10g以后如果希望logminer能够分析出所有操作,建议也要启用Supple原创 2014-03-10 10:11:15 · 1376 阅读 · 0 评论 -
oracle 将多行合并成一行
一、概述 参考如下表数据:用户ID用户名角色001admin管理员002betty教师001admin教师003cole学生 可以看到用户admin有两个角色-----管理员和教师(也就是用户和角色是多对多的关系),我们现在的需求是,将这两个合原创 2015-01-17 15:46:01 · 20089 阅读 · 1 评论 -
tns操作超时
一、问题描述 数据库架设在服务器上,开发机器上装了pl/sql developer进行远程连接,碰到 “TNS-12535: TNS: 操作超时”的问题。二、问题分析 1.首先重启服务和监听,发现问题仍然存在。 2.查看tnsnames.ora文件, 内容如下:ORCL = (DESCRIPTION = (ADD原创 2015-01-06 20:14:45 · 1585 阅读 · 0 评论 -
SYS_GUID和sequence的区别
序列生成器sequence所生成的数字只能保证在单个实例里是唯一的,这就不适合将它用作并行或者远程环境里的主关键字,因为各自环境里的序列可能会生成相同的数字,从而导致冲突的发生。SYS_GUID会保证它创建的标识符在每个数据库里都是唯一的。此外,序列必须是DML陈述式的一部分,因此它需要一个到数据库的往返过程(否则它就不能保证其值是唯一的)。SYS_GUID源自不需要对数据库进行访问的转载 2014-11-25 09:36:33 · 1038 阅读 · 0 评论 -
oracle raw类型
RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节建表操作:create table raw_test (id number, raw_date raw(10));插入raw数据操作:insert into r转载 2014-11-23 22:15:14 · 692 阅读 · 0 评论 -
PowerDesigner逆向工程(Oracle)
这次的实践内容是在PD中实现逆向工程,写的文档中有截图,上传截图不方便,就不传了。 以下是将Oracle中指定数据库结构导出到PowerDesigner(PD)中的方法,实践出真知:前提条件:1.现有Oracle数据库sun880,其中包含若干张数据表,连接sun880的用户名sgsj,密码为sgsj。2.PD版本为11。正式步骤:1.从菜单条中依次选择Fi原创 2014-11-12 15:00:14 · 1169 阅读 · 0 评论 -
《深度挖掘:Oracle RAC数据…
一、常用概念1、集群集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。集群配置是用于提高可用性和可缩放性。与单一实体相比较,集群主要提供了两个特性:高可用性,一个结点发生故障,其它结点自动接管。可扩展性,集群可以动态的扩展。2、结点集群中的每一个主机都称为结点。二、原创 2014-03-10 10:07:27 · 761 阅读 · 0 评论 -
ORA-12154: TNS: 无法解析指定的连接标识符
一、问题描述 本机客户端原创 2014-05-06 19:43:25 · 921 阅读 · 0 评论 -
如何创建一个定时任务,并…
有时候需要定时执行一个procedure,比如下班后,而且希望只执行一次,第二天后就能直接利用执行的结果。通过修改submit的参数即可办到,通过一个例子就可以说明:--创建jobvariable jobno number;beginsys.dbms_job.submit(job => :jobno,what => 'change_date;',next_date => to_date原创 2014-03-10 10:10:12 · 637 阅读 · 0 评论 -
【原创】安装ODAC后,PL/SQL连接提…
问题描述: 安装ODAC后,用PL/SQL登录测试原有的数据库,先是提示:access violation ataddress....,重启监听后又 提示“TNS:无法解析指定的连接标识符”错误。 原因分析: 因为同事也装过一次,说是不能与oracle客户端装在同一个目录下。但是自己装的时候,上面直接显示了oracle客户端的路径,就直接点击下一步了,结果原创 2014-03-10 10:09:01 · 1526 阅读 · 0 评论 -
层次化查询
层次化查询(START BY ... CONNECT BY PRIOR)注:本文整理自网络。一、概述层次化查询,即树型结构查询,是SQL中经常用到的功能之一,通常由根节点,父节点,子节点,叶节点组成。二、主要内容1.语法结构: SELECT[LEVEL] ,columnname... FROM table_name [WHERE wher原创 2014-03-10 10:12:22 · 723 阅读 · 0 评论 -
Lpad()函数与Rpad()函数简介
Lpad()函数与Rpad()函数简介一、Lpad()函数lpad函数将左边的字符串填充一些特定的字符1.语法格式如下: lpad(string,n,[pad_string])参数说明: string: 字符串或者列名。 n: 字符串总长度。如果这个值比原字符串的长度还要短,lpad函数将会把字符串截取成从左到右的n个字符;原创 2014-03-10 10:12:20 · 1432 阅读 · 0 评论 -
【原创】oracle sequence简介
sequence简介2013-12-26一、概述sequence是序列号的意思,每次取的时候它会自动增加。sequence与表没有从属关系,与表一样属于用户。二、主要内容1、Create Sequence语法--首先用户要有CREATE SEQUENCE或者CREATE ANY SEQUENCE的权限。CREATE SEQUENCE seqname [ INCREMENT incr原创 2014-03-10 10:12:05 · 854 阅读 · 0 评论 -
【原创】v$lockv和$locked_object…
v$lockv和$locked_object的区别 2013-12-24 v1.0一、引言 工作中有次修改表sj_affair中的数据,需要禁用该表上的触发器。结果无法禁用,报如下错误:ORA-00054: resource busy and acquire withNOWAIT specified很明显,是该表被锁定了,于是打算kill掉锁住该表的会话。步骤如下:1.查出锁住原创 2014-03-10 10:12:03 · 1029 阅读 · 0 评论 -
SQL基础——简洁版,供查阅用
注:本文整理自网络。一、关系数据库的一些概念 1、主键的值一般不可以改变 2、外键:指向另一个表或本表的主键或唯一键的字段。外键的值一定要和某一主键相同,或者为空。 3、数据库对像:表,视图,序列,索引,同义词,程序(进程,函数,sql和pl/sql数据) 4、sqlcommand 类别 data retrieval数据检索:select data mani原创 2014-03-10 10:11:52 · 736 阅读 · 0 评论 -
【原创】如何获取表的某个字段及其…
一、概述 如何查看表字段的类型呢?我们可以通过user_tab_columns(或者user_tab_cols)视图进行查看。此外还有dba_tab_columns/dba_tab_cols和all_tab_columns/all_tab_cols视图也可以进行查看,只是查看的对象范围不一样而已。先来看看user_tab_columns的结构。 主要的列属性有: TABLE_NAM原创 2014-03-10 10:11:47 · 1003 阅读 · 0 评论 -
Oracle数据库共享连接和专用连接方…
部分转自http://dev.yesky.com/257/8095257.shtml。 在专用连接方式中,每一个连接到数据库服务器的客户端请求,服务器会和客户端之间建立起连接,这个连接用于专门处理该客户端的所有请求,直到用户主动断开连接或网络出现中断。在连接处于空闲时,后台进程PMON会每隔一段时间,就会测试用户连接状况,如果连接已断开,PMON会清理现场,释放相关的资源。专用连原创 2014-03-10 10:09:10 · 822 阅读 · 0 评论 -
undo retention详解【转】
每一中数据库都需要有一种管理回滚或者撤销数据的方法。当一个DML发生以后,在用户还没有提交(COMMIT)改变,用户不希望这种改变继续保持,需要撤销所做的修改,将数据回退到没有发生改变以前,这时就需要使用一种被称为撤销记录的数据。 使用撤销记录,我们可以:1、 当使用ROLLBACK语句时回滚事务,撤销DML操作改变的数据2、 恢复数据库3、 提供读取的一致性4、原创 2014-03-10 10:08:45 · 1594 阅读 · 0 评论 -
【原创】EXPDP/IMPDP实验
备注:本次试验平台为windows 7操作系统,oracle11g数据库。本实验仅进行表数据的导出导入,其它模式请参考博客http://blog.sina.com.cn/s/blog_62defbef0101ny6t.html--导出工具expdp一、概述expdp工具支持将数据库中的数据静态导出到文件中。二、操作步骤--1至3步骤均在PL/SQL中执行。1、创建DIRECTORY原创 2014-03-10 10:12:01 · 985 阅读 · 0 评论 -
Oracle流复制基本原理
本文整理自网络。一、引言 Oracle流是为提高数据库的高可用性而设计的在Oracle9i及之前的版本这个功能被称为AdvanceReplication。Oracle流利用高级队列技术通过解析归档日志将归档日志解析成DDL 及DML语句从而实现数据库之间的同步。这种技术可以将整个数据库、数据库中的对象复制到另一数据库中通过使用流的技术对归档日志的挖掘可以在对主系统没有任何压力的情况下原创 2014-03-10 10:11:04 · 2002 阅读 · 0 评论 -
oracle单引号和双引号的区别
单引号和双引号oracle都支持,但是两者是有区别的。一、双引号的作用:关键字,对象名、字段名加双引号,则示意Oracle将严格区分大小写,否则Oracl都默认大写。1.双引号引住关键字select "sysdate" from dual;等同于select sysdate from dual; 如下则不会输出时间,只会输出sysdate这个字符串。 select 'sysdate'原创 2014-03-10 10:10:37 · 1361 阅读 · 0 评论 -
区分ORACLE的动态参数与静态…
原文地址:区分ORACLE的动态参数与静态参数作者:笨橙子参数我们可以在v$parameter中查到。select name,value,ISSES_MODIFIABLE,issys_modifiablefrom v$system_parameter;这里有两个列ISSES_MODIFIABLE和issys_modifiable分别对应的是session级别修改的参数和system级别修转载 2014-03-10 10:09:44 · 973 阅读 · 0 评论 -
【原创】oracle下decimal和number…
Oracle只是在语法上支持decimal类型,但是在底层实际上它就是number类型,支持decimal类型是为了能把数据从Oracle数据库移到其他数据库中(如DB2等)。 因为decimal在Oracle底层就是number类型,所以就当两者基本上可以互换。但是两者之间仍有一些区别:请看下例:--测试number的函数create or replace func原创 2014-03-10 10:09:23 · 1357 阅读 · 0 评论