![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ORACLE
文章平均质量分 72
rockywu
好好学习,天天向上
展开
-
Oracle 索引的失效和重建
转载:http://www.cnblogs.com/zhenxing/p/5167776.html查询指定表的索引SELECT T1.TABLE_NAME,T1.INDEX_NAME,T1.INDEX_TYPE,T1.UNIQUENESS,T1.TABLE_OWNER,T1.STATUS,T1.FUNCIDX_STATUSFROM ALL_INDEXES T1WHERE...转载 2018-12-03 11:00:10 · 859 阅读 · 0 评论 -
ORA-03113: 通信通道的文件结尾 处理
近期BPM测试库突然无法登陆..startup出现ORA-03113: 通信通道的文件结尾..通过检查发现测试库处在归档模式,先将归档模式关闭,并作恢复Microsoft Windows [版本 6.1.7600]版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>set oracle_sid=bpmtes原创 2012-12-03 13:30:44 · 3771 阅读 · 0 评论 -
如何开启/关闭归档 .
1)单机模式下如果开启归档,请保证log_archive_start=true开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false.log_archive_dest =archivelog存放路径---归档日志存放路径log_archive_format =CX%TS%S.ARC ---归档日志文件名格式注意:如果是OPS/RAC环境,需要先把para转载 2012-12-03 13:36:52 · 643 阅读 · 0 评论 -
ORA-00020: maximum number of processes (500) exceeded
今天登陆BPM测试系统报ORA-00020: maximum number of processes (500) exceeded,检查系统pfile文件*.open_cursors=300,*.processes=500但查了网上资料说游标数小.但感觉是processes偏小.由于对oracle不是很熟悉,故先修改open_cursors=800进行测试操作如下:C:\Users原创 2012-11-29 11:16:42 · 2137 阅读 · 0 评论 -
pl/sql chr小应用
有时在PL /SQL 字符串中使用between and 的查询SQL时,如果用户没有输入任何值可以使用chr来代替,如: SELECT * FROM customer_order_tab co WHERE co.order_no BETWEEN nvl('',chr(1) )原创 2012-08-04 10:57:39 · 761 阅读 · 0 评论 -
ORCL 过程常用声明变量语句示例(动态)
ORACLE EXECUTE IMMEDIATE 用法EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使原创 2012-06-04 08:09:22 · 1177 阅读 · 0 评论 -
select for update nowait 与 select for update 区别
nowait的含义很多人都会误解为“不用等待,立即执行”。但实际上该关键字的含义是“不用等待,立即返回”如果当前请求的资源被其他会话锁定时,会发生阻塞,nowait可以避免这一阻塞,因为If another user is in the process of modifying that row, we will get an ORA‐00054Resource Busy error.转载 2011-11-08 12:49:51 · 515 阅读 · 0 评论 -
事务savepoint
在Oracle中使用事务的Savepoints进行保存事务点。Savepoint将一个长事务分隔为较小的部分。 使用savepoint,可以在长事务中任何点任意事务点标记操作。然后可以选择回滚在事务中当前点之前、声明的savepoint之后执行的操作。Savepoints也可应用于程序中,如果一个过程包含几个函数,那可以在每个函数前创建一个savepoint。如果一个函数失败,返回数据到函数开始前原创 2011-11-22 17:23:42 · 741 阅读 · 0 评论 -
savepoint 与raise_application_error结合应用
在IFS ERP中经常使用Error_SYS包进行处理异常,比如 IF front_mark_no_ IS NULL OR side_mark_no_ IS NULL THEN Error_Sys.Record_General( lu_name_, 'DJ_CUSTMARKNULL: Order No :P1 Front Mark Or Side Mark No Is Nul原创 2011-11-22 20:56:06 · 595 阅读 · 0 评论 -
Oracle内建函数(greatest, least, to_single_byte)
取一个一维数组中的最大值greatestSELECT Greatest('11','10','9','20') FROM dual;--显示为9SELECT Greatest(11,10,9,20) FROM dual;--显示为20SELECT Greatest('A','a','ab','AB') FROM dual;--显示为ab取一个一维数组中的最小值least原创 2011-11-16 16:44:19 · 926 阅读 · 0 评论 -
Oracle Split功能函数
在pl/sql时经常会碰到将某些特定的符号转换成行,这功能相当于split.以前在网上收集的split函数如下:CREATE OR REPLACE TYPE DJ_STR_SPLIT IS TABLE OF VARCHAR2 (4000);CREATE OR REPLACE PACKAGE Dj_Function_API ISmodule_ CONSTANT VARCHAR2(25) :转载 2009-12-31 15:07:00 · 782 阅读 · 0 评论 -
fetch bulk collect into 使用
在读取大量数据游标时,速度十分慢!然而使用fetch bulk collect into 批量效率能有效提高读取游标速度:例如:CREATE OR REPLACE PROCEDURE "WINBO_DELETE_PUR_REQ"Is Type winbo Is Table Of purchase_requisition_tab.REQUISITION_NO%Type; winbo_ wi原创 2009-12-31 14:41:00 · 1369 阅读 · 0 评论 -
oracle函数 exp()和ln()进行相乘
在SQL中每行数据相加十分简单,只需要使用SUM,但相乘得使用exp()和ln()例如:SELECT exp(sum(ln(col.buy_qty_due))) FROM customer_order_line col WHERE col.order_no = 'S1210080279'原创 2012-12-07 18:56:06 · 15642 阅读 · 0 评论 -
Oracle sql索引
ORACLE SQL TUNING一.优化器模式 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须定期更新统计信息,以保证数据库中的对象统计信息(object statistics)的准确性.转载 2012-12-27 14:02:06 · 774 阅读 · 0 评论 -
VS和psql在WIN7 64bit访问ORACLE
VS2010在WIN7 64bit访问SQL SERVER非常正常,但在调试访问oracle数据库经常报连接oracle数据库,考虑到以前安装oracle客户端为32bit且plsqldev正常访问数据库!由于操作系统以及oracle服务器均为64bit,故删除原32bit oracle客户端,直接安装oracle 11g 64bit客户端并将oracle 11g instantclient_11原创 2016-03-23 10:02:45 · 614 阅读 · 0 评论 -
oracle 内存分配和调优 总结
一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下。现在记录下来,做下备份。 一、概述: oracle 的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是 SGA和 PGA(process global area or private转载 2016-02-24 16:20:11 · 7187 阅读 · 1 评论 -
降低oracle高水位线方法总结(包括验证结果)
1. 执行表重建指令 alter table table_name move(验证不可行,不降低水位线,但可释放表空间)当你创建了一个对象如表以后,不管你有没有插入数据,它都会占用一些块,ORACLE也会给它分配必要的空间.同样,用ALTER TABLE MOVE释放自由空间后,还是保留了一些空间给这个表. ALTER TABLE ... MOVE 后面不跟参数也行,不跟参数表还是转载 2016-02-23 16:01:28 · 9761 阅读 · 0 评论 -
等待事件enq TX row lock contention分析
在Oracle数据库性能报告AWRRPT分析时,发现top 5等待事件第一位的是enq: TX - row lock contention。这个等待事件消耗了绝大多数的CPU资源,导致系统整理性能下降。有些查询以前只要几个毫秒,现在变成了数分钟。CPU使用率长时间维持在100%。声明一下,数据库版本是10g for linux x86 64bit。在AWRRPT中看到的top 5等待如下:转载 2015-09-14 16:41:26 · 658 阅读 · 0 评论 -
oracle的TM锁、TX锁
Oracle数据库的锁类型 oracle官方文档里面关于锁的定义:Locks are mechanisms that prevent destructive interaction between transactions accessing the same resource—either user objects such as tables and rows or转载 2015-09-10 10:54:45 · 986 阅读 · 0 评论 -
ORACLE编译失效对象小结
在日常数据库维护过程中,我们会发现数据库中一些对象(包Package、存储过程Procedure、函数Function、视图View、同义词.....)会失效,呈现无效状态(INVALID)。有时候需要定期检查数据库中存在哪些失效对象,对于存在异常的对象需要重新编译,有些自动失效的对象,一般会在下次调用的时候,会被重新编译,所以这些不需要人工干预。那么为什么对象突然会失效呢?又如何快速、高效的编译转载 2015-07-01 23:25:27 · 544 阅读 · 0 评论 -
ORA-06553: PLS-801: 内部错误 [56319]
在win2003 64bit还原一个旧的IFS ERP数据库,数据库版本为10.2.0.3.0,使用普通账号ifsapp账号登记,出现如下错误C:\Documents and Settings\Administrator>set oracle_sid=bjprodC:\Documents and Settings\Administrator>sqlplus /nologSQ原创 2015-07-01 21:42:18 · 5392 阅读 · 0 评论 -
oracle sql的执行计划如何查看
一、通过PL/SQL Dev工具 1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。 2、先执行 EXPLAIN PLAN FOR select * from tableA where paraA=1,再 select * fr转载 2015-03-03 11:30:40 · 869 阅读 · 0 评论 -
DBA常用检查SQL
检查占用资源等待SQL:SELECT p.START_TIME, s.MACHINE,s.PROGRAM,s.MODULE, s.ACTION, s.AUDSID, s.INST_ID,s.STATUS, w.*FROM gv$transaction p, gv$session s, v$session_wait wWHERE p.SES_ADDR = s.SADDRAND p.I原创 2015-02-12 16:23:19 · 877 阅读 · 0 评论 -
Oracle 表连接方式介绍(SML + NL + HJ)
Join是一种试图将两个表结合在一起的谓词,一次只能连接2个表,表连接也可以被称为表关联。在后面的叙述中,我们将会使用”row source”来代替”表”,因为使用row source更严谨一些,并且将参与连接的2个row source分别称为row source1和row source 2。Join过程的各个步骤经常是串行操作,即使相关的row source可以被并行访问,即可以并行的读取做jo转载 2015-02-12 16:04:24 · 465 阅读 · 0 评论 -
ORACLE 表函数
从oracle 9i 开始,提供了一个叫做“管道化表函数”的概念,可以利用管道化来返回表函数。但这种类型的函数,必须返回一个集合类型,且标明 pipelined以及不能返回具体变量,而是以一个空 return 返回!这个函数中,通过 pipe row () 语句来送出要返回的表中的每一行在调用这个函数的时候,通过 table() 关键字把管道流仿真为一个数据集!见下面示例:1、建立一个三列的对象:原创 2009-12-31 14:37:00 · 863 阅读 · 0 评论 -
ORACLE 冷备份与恢复
作为程序开发人员,对ORACLE 备份最常用是冷备分且也是最简单的备份。备份:现在将冷备简单描述如下。首先将ORACLE 关闭,即shutdown (immediate) ,然后COPY 数据库所在的裸文件(DBF文件和init_SID.ORA、bdump等文件,LOG文件和CTL文件不需要),即完成数据库的冷备份。恢复:现在简单描述一下数据恢复。1、 建立一目录以便存放备份的数据文原创 2009-10-17 10:37:00 · 840 阅读 · 0 评论 -
Oracle表空间操作详解
http://tech.sina.com.cn/s/2009-02-09/15292805705.shtml建立表空间CREATE TABLESPACE data01DATAFILE /oracle/oradata/db/DATA01.dbf SIZE 500MUNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k删除表空间DROP TABLESPAC转载 2009-02-18 21:45:00 · 557 阅读 · 0 评论 -
Oracle DataBase Link应用
公司有两个数据库,其中一个数据库A每天需要读取另一个库的数据库B,并更新数据库B的相关数据,现在利用B数据库建立DB Link读取数据A数据创建DBLINK方法如下:create public database link Bpublic connect to rocky identified by rocky using A;由于以SYS登陆可建立public ;另原创 2008-12-04 19:42:00 · 478 阅读 · 0 评论 -
Oracle rank() over 与 row_number() over
通常上top N 的实现应该采用row_number() over 而不是rank因为row_number 是给记录加一个序号标记,而rank是相当于进行排序后的排名,也就是如果排序列是相同的,那么他们的返回值也是相同的,但row_number则一个序号标记而不是返回相同值SQL> select a.* from a; ID ENTERDATE原创 2009-02-08 13:06:00 · 2166 阅读 · 0 评论 -
oracle over()函数技术详解
SQL> select deptno,ename,sal 2 from emp 3 order by deptno;DEPTNO ENAME SAL---------- ---------- ---------- 10 CLARK 2450 KING 5000 MILLER转载 2009-02-08 12:52:00 · 787 阅读 · 0 评论 -
ORACLE initialization or shutdown in process
Microsoft Windows [版本 5.2.3790](C) 版权所有 1985-2003 Microsoft Corp. C:/Documents and Settings/rocky>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 8月 21 13:52:22 Copyright (c) 1原创 2008-08-22 08:03:00 · 1145 阅读 · 0 评论 -
OEM地址查阅方法.....
set oracle_sid=数据库名 emctl start dbconsole原创 2008-07-12 13:55:00 · 744 阅读 · 0 评论 -
ORACLE 中文排序
Oracle9i之前,中文是按照二进制编码进行排序的。但oracle9以来,oracle的NLSSORT排序还是挻有意思的,它可以用来进行语言排序,不影响当前会话;例如按照拼音、部首、笔画排序功能只需设置NLS_SORT值 SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序 SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序 SCHINES原创 2008-04-17 13:15:00 · 1057 阅读 · 0 评论 -
Oracle登陆停顿处理
sqlplus /nolog connect rocky/rocky@demo登陆时,命令符界面停止不动........ pl/sql develpoer登陆也是在登陆界面不动..... 见下面信息Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:/Documents and Settings/rocky>原创 2008-03-26 13:12:00 · 718 阅读 · 0 评论 -
orcle方案创建
--创建用户1--第一步:创建用户 create user rocky identified by rocky default tablespace users ;--第二步:赋予用户相应的权限GRANT CONNECT,RESOURCE to rocky; --第三步:以该用户登录 connect 用户/密码@服务名;--第四步:创建sc原创 2007-12-19 11:08:00 · 597 阅读 · 0 评论 -
ORACLE常见错误操作及解决方案
1.安装Oracle后,更改Windows计算机名,导致部分Oracle第三方工具,如:PLSQL Developer无法登陆,并提示ORA-12541:TNS:no listener或ORA-12547:TNS:丢失联系等错误信息的解决方法。答:从Oracle的错误提示来看,是说TNS:no listener ,估计是某种服务没有启动,打开windows管理工具->服务,一看原创 2007-10-27 17:42:00 · 3568 阅读 · 2 评论 -
在ORACLE中创建自增字段,sequence应用
来源: 六库技术文档库通过创建序列来实现 ORACLE SEQUENCE的简单介绍 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT原创 2007-10-23 21:17:00 · 1293 阅读 · 1 评论 -
Oracle的物化视图
近期在做一些报表优化,特别是一些数据十分庞大表,且这些报表都是汇总、盘点等类型报表,于是想到我物化视图,以提高报表效率。 这也是我第一次使用物化视图。 那么物化视图是什么呢,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用原创 2008-12-09 20:17:00 · 717 阅读 · 0 评论 -
oracle spfile和pfile小结
简单的说:1、pfile 文本文件 client端参数文件;不能动态修改,可以用普通的编辑器修改,修改之后需要重启。pfile可能会导致服务器启动不一致,因为可以在客户端启动。2、spfile 二进制文件 服务器端参数文件,有了spfile,oracle可以实现动态参数在线修改,部分参数修改之后无需重启。但是,因为是二进制文件,所以不能用普通的编辑器修改,要用alter命令从sql里面来修改。转载 2009-10-17 10:53:00 · 1673 阅读 · 1 评论 -
Oracle数据库几种启动方式
1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount dbname 安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件 如:系统表空间或日志文件。 执行“nomount”,然后打开转载 2009-07-02 23:27:00 · 530 阅读 · 0 评论