![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
[分类11]oracle
terryhuang
这个作者很懒,什么都没留下…
展开
-
查询sql字符串中包含某字符的个数
1.select length('ab,c,d,efg')-length(replace('ab,c,d,efg',',',''))from dual;2.select lengthb(regexp_replace('ab,c,d,efg','[^,]',null)) from dual;原创 2013-11-26 11:37:59 · 16938 阅读 · 0 评论 -
用表连接取代not in查询
用表连接取代not in查询 写了好几个页面,速度都上不去,瓶颈在于SQL查询。太多的表,太多的not in,总是从一大推表和数据中筛选出一点数据。看了很多关于SQL优化的文章,都强烈要求不要太多使用not in查询,最好用表连接来取代它。如:select ID,name from Table_A where ID not in (select ID from Table_B)呵呵,这句是最经原创 2008-06-06 15:03:00 · 1979 阅读 · 0 评论 -
ORA-00031: session marked for kill 处理Oracle中杀不掉的锁
ORA-00031: session marked for kill 处理Oracle中杀不掉的锁2008-01-04 11:19 一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。但是shutdown immediate又怕可能进转载 2008-07-07 20:02:00 · 37191 阅读 · 0 评论 -
Oracle 常用SQL查询列表
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace转载 2008-04-24 15:12:00 · 602 阅读 · 0 评论 -
oracle中对clob字段的操作
1.clob字段插入值create or replace procedure updateclob(table_name in varchar2,field_id in varchar2,field_name in varchar2,v_id in number,v_pos in number,v_clob in varchar2)is---------------------/**//*原创 2008-04-24 14:30:00 · 1946 阅读 · 0 评论 -
oracle触发器
create or replace trigger tg_definition_myself_accessory-------------------------------------------------------------------------- 模块名称: --触发器处理自定义信息,对应附件表插入数据-- 模块编号:-------------------------------原创 2008-04-24 15:21:00 · 714 阅读 · 0 评论 -
oracle中对clob字段的操作(二)
--写blobDECLARElobloc BLOB;buffer VARCHAR2(2000);amount NUMBER := 20;offset NUMBER := 1;BEGIN --初始化要写入的数据 buffer := aaaaaaaaa;amount := length(buffer); SELECT content INTO lobloc -- 获取定位器并锁定行 FRO原创 2008-04-24 15:04:00 · 677 阅读 · 0 评论 -
查询oracle版本
select * from v$version; --查询oracle版本select * from nls_database_parameters;原创 2008-04-24 15:16:00 · 8509 阅读 · 0 评论 -
ORA-01747: user.table.column, table.column 或列说明无效
原因1表,或者表中的列无效,检查下表,列是否存在2与ORACLE保留字有关 ,建表不能用oracle保留字原创 2007-09-24 19:30:00 · 10303 阅读 · 3 评论 -
ORACLE to_char函数详解
Oracle函数to_char转化数字型指定小数点位数的用法to_char,函数功能,就是将数值型或者日期型转化为字符型。对long型好像会报错比如最简单的应用:/*1.0123--->1.0123*/ Select TO_CHAR(1.0123) FROM DUAL /*123--->123*/ Select TO_CHAR(123) FROM DUAL 接下来再看看转载 2007-06-15 11:19:00 · 3519 阅读 · 0 评论 -
关于oracle存储过程的若干问题备忘
1.在oracle中,数据表别名不能加as,如:select a.appname from appinfo a;-- 正确select a.appname from appinfo as a;-- 错误 也许,是怕和oracle中的存储过程中的关键字as冲突的问题吧2.在存储过程中,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别转载 2007-06-14 17:02:00 · 604 阅读 · 0 评论 -
not in 查询无记录问题的解决
not in 查询无记录问题的解决 在sql server 中使用not in 查询时,常常会出现没有任何结果返回的情况,如 select * from employee where cname not in (select name from temp_emp where sign=1) 而使用 select * from employee where cname not i转载 2008-06-06 14:01:00 · 2088 阅读 · 0 评论 -
oracle表空间的创建
ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额. 因此,在创建对象之前,首先要分配存储空间. 分配存储,就要创建表空间: 创建表空间示例如下:CREATE TABLESPACE "SAMPLE"转载 2008-10-17 15:51:00 · 914 阅读 · 0 评论 -
Oracle-Bigfile and Smallfile
Oracle-Bigfile and Smallfile在创建tablespace的时候,有BigFile和SmallFile两种方式:BigFile创建的TableSpace可以达到2的32次方个blocks,只能创建一个Datafile。 而SmallFile最大到2的22次方,SmallFile最多可以创建1022个Datafile,总和稍少于BigFile。两者在性能方面有什么区别?因为转载 2008-10-17 15:57:00 · 4750 阅读 · 0 评论 -
PL/SQL 怎么判断两个结果集是否相等
数据库服务器:Oracle现在有两个结果集:A1:Cause Rate UEG 2000GYU 1900NBU 2900CET 3000A2:Cause Rate UEG 2000GYU转载 2013-02-28 11:01:19 · 10040 阅读 · 0 评论 -
oracle行转列组合成字符串函数
oracle10g以上版本提供行转列组合成字符串函数wm_concat例如有个users表如下:id yhm xm1 001 小唐2 002转载 2011-09-06 16:36:21 · 1463 阅读 · 0 评论 -
查询oracle 中逗号分隔字符串中所有值
<br />select regexp_substr('a,b,c,','[^,]+',1,rownum) from dual connect by rownum<=length(regexp_replace('a,b,c,', '[^,]', null))原创 2010-11-12 10:44:00 · 7519 阅读 · 0 评论 -
ORA-01006: 赋值变量不存在
<br />callState=connection.prepareCall("{ call kmms.pr_sp(?,?,?)}")<br /> <br />callState.setString(1,id);<br />callState.setString(2,name);<br />callState.setString(3,begindate<br />callState.setString(4,enddate);<br />--------------------<br />ORA-01006:原创 2010-11-10 12:39:00 · 2535 阅读 · 0 评论 -
ora-14452 试图创建,更改或删除正在使用的临时表中的索引
<br />-- 查看与此临时表相关的会话,并Kill掉!20101015测试通过<br />-- 操作如下 :<br /><br />--查询所有的死锁: <br />SELECT * FROM V$LOCK; <br /><br />--查询所有的会话: <br />SELECT * FROM V$SESSION; <br /><br />--查询所有的死锁的会话: <br />SELECT SN.SID, <br /> SN.SERIAL#, <br /> SN.USERNAM原创 2010-10-15 11:19:00 · 4449 阅读 · 0 评论 -
重装操作系统后的oracle实例恢复
重装操作系统后,如果数据文件,控制文件,日志文件都完好的话(在itpub看过很多人提过这个话题,多数人都是将这3个文件放在同一目录oradata),只需重新安装oracle(跟重装操作系统前同版本)到原目录后,重建实例服务和密码文件,配置一下listener和tns即可正常启动数据库.过程如下(假设原实例名为orcl,版本为9i):1.将原来的oracle文件夹重命名,比如oracle转载 2010-05-07 21:14:00 · 2004 阅读 · 0 评论 -
ORA-39776: fatal Direct Path API error loading table AB.PL_SCHED
数据采集入库的时候出现这个问题,后来把表删除重建就好了,不知啥原因?原创 2009-12-25 10:47:00 · 5047 阅读 · 0 评论 -
Oracle PGA参数
Oracle PGA参数 PGA: 程序全局区,服务器进程使用的内存区域,包括特定服务器进程的数据和控制信息,例如使用的操作系统资源等。UGA: 用户全局区,特定Session使用的内存区域,例如Session的SQL工作区、登陆认证信息等。Session的SQL工作区大小对查询性能的影响比较关键,shared server模式时UGA从SGA的large pool(如果有设置)或者shared转载 2009-12-25 10:47:00 · 573 阅读 · 0 评论 -
ORA-01144: File size (string blocks) exceeds maximum of string blocks
今天公司的ORACLE服务器突然停止工作在一个裸设备上扩展一个表空间的时候遭遇了这个错误,想知道具体原因是什么。SQL> alter database datafile 5 resize 33G;alter database datafile 5 resize 33G*ERROR at line 1:ORA-01144: File size (4325376 blocks) exceeds m转载 2009-09-22 09:29:00 · 1504 阅读 · 0 评论 -
oracle分区表学习及应用
-- Create table(创建分区表)create table BILL_MONTHFEE_ZERO(SERV_ID NUMBER(20) not null,BILLING_CYCLE_MONTH NUMBER(6) not null,DATE_TYPE NUMBER(1),ACC_NBR VARCHAR2(80)原创 2008-10-17 15:54:00 · 697 阅读 · 0 评论 -
oracle 存储过程的基本语法(1)
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(原创 2007-06-14 16:55:00 · 895 阅读 · 1 评论 -
pl/sql developer 中文字段显示乱码问题
创 建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。其它字符集设置同上。NLS转载 2007-06-14 16:42:00 · 6874 阅读 · 1 评论 -
如何手动建立Oracle监听器
兄弟的Oracle出了问题,Oracle自带的工具都不能用了。Enterprise Manager Console 工具打不开。Net Configuration Assistant工具也不能用。不能建立监听器。不过还好自己的SQL&plus能用,Toad也能用,但是这样不能用Toad打开别的数据库了,不能对别的数据库进行操作。太不爽了。昨天学了一招,不用工具,手动建立监听器,贴出来和大家分享一下转载 2007-05-17 16:01:00 · 4181 阅读 · 0 评论 -
什么是表空间
ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的.............这里讨论表空间........就只谈相关的数据文件吧..............控制文件和LOGFILE的具体用途有空了再说吧..................首先明确概念:表空间是ORACLE内部定义的一个概念,是为了统一ORACLE物理和逻辑上的结构而专门建立的,从物理上来说,一原创 2007-05-17 16:37:00 · 6635 阅读 · 1 评论 -
Oracle 主要配置文件介绍- -
Oracle 主要配置文件介绍- - Oracle 主要配置文件介绍:profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora 文件,tnsnames.ora 文件1.2 Oracle 主要配置文件介绍 1.2.1 /etc/p转载 2007-05-17 16:07:00 · 801 阅读 · 0 评论 -
空间的作用和用法
对于一个用户系统默认的会建立。TEMP UNDOTABS USER SYSTEM这几个表空间。那请问这几个表空间各有什么 作用呢? 当学了ORACLE的人都会说。TEMP表空间是放处理的临时数据的,比如排序操作。UNDOTABS表空间是数据恢复时用到。 USER表空间是存班实数据的。 但是大家有谁能真正说明清楚各个表空间,在使用那些SQL语句是,会对那一个表空间消耗磁盘空间呢? 比转载 2007-05-17 16:59:00 · 1035 阅读 · 0 评论 -
oracle的net configure assistant的使用过程
如何设置监听程序配置? 如何设置本地网络服务名配置?1.在数据库安装建立完成后, ORACLE SERVER自己已经建立了一个监听程序LSNRCTL 一般只要在学会启动就可以了,C:/>LSNRCTL START; 2.本地网络服务名配置 你可以按照它的提示来做,第一次用的话,就添加(ADD)一个吧。转载 2007-05-17 15:56:00 · 836 阅读 · 0 评论 -
Oracle数据库监听配置
Oracle数据库监听配置 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。 一、监听器(LISTENER)监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务转载 2007-05-17 10:59:00 · 940 阅读 · 0 评论 -
oracle建表过程的一些脚本步骤
一,创建自己的用户文件(表的拥有者)。PROMPT -------------------------------------;PROMPT This part is to setup object creator.;PROMPT -------------------------------------;PROMPT;DROP USER 你要建立的用户名 CASCADE;CREATE原创 2007-05-16 16:45:00 · 1981 阅读 · 0 评论 -
Oracle的左连接和右连接
在Oracle PL-SQL中,左连接和右连接以如下方式来实现查看如下语句:SELECT emp_name, dept_name FORM Employee, DepartmentWHERE Employee.emp_deptid(+) = Department.deptid此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无转载 2007-05-16 16:27:00 · 565 阅读 · 0 评论 -
Oracle学习笔记001 - IF语句
Oracle的条件语句IF THENPL/SQL 和 SQL语句END IF;IF THENPL/SQL 和 SQL语句ELSE其它语句END IF;IF THENPL/SQL 和 SQL语句ELSIF THEN其它语句END IF; 值得强调的是ELSIF 而不是ELSEIF或是ELSE IF,这点是比较特别的,害的我这个fresher折腾了半天才找到问题所在原创 2007-07-13 10:22:00 · 5352 阅读 · 1 评论 -
sqlserver 数据导出到oracle
sql企业管理器 右键--任务--导出,在目的地中选择Microsoft OLE DB Provider for Oracle,并在属性中配置oracle数据库连接,原创 2007-07-04 17:43:00 · 1405 阅读 · 0 评论 -
使用sqlplus 执行*.sql文件
利用 sqlplus 登录数据库之后 键入: @文件名 全路径 即可执行*.sql 文 件 例 假设有一个 test.sql 文件 所在路径是/home/oracle/ 现在要执行它 1 登录数据库 sqlplus system/manager 2 在提示符 SQL> 之后键入转载 2007-05-17 16:25:00 · 3168 阅读 · 0 评论 -
Oracle临时表
CREATE GLOBAL TEMPORARY TABLE GT_ONE ( SN NUMBER, QTY NUMBER ) ON COMMIT DELETE ROWS; “ON COMMIT DELETE ROWS ” 意思是提交当前事务时删除临时表中的数据。 CREATE GLOBAL TEMPORARY TABLE GT_ONE ( SN NUMBER,转载 2007-05-23 15:32:00 · 627 阅读 · 0 评论 -
ORACLE的客户端如何连接到数据库
如何连接oracle数据库及故障解决办法 如何配置才能使客户端连到数据库: 要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是java连接数据库的时候,可以用jdbc thin模式,不用装oracle的客户端软件。加入你在机器上装了oracle数据库,就不需要在单独在该机器上安装oracle客户端了,因为装oracle数据库的时候会自动安装o转载 2007-05-24 15:28:00 · 1064 阅读 · 0 评论 -
在oracle中实现自动增长的列号(例子
这是一个简单的例子,不过已经能够表示如何实现这类功能了。 1、在scott用户下建立表dept(其实oracle缺省安装就已经生成了) create table DEPT ( DEPTNO NUMBER(2) not null, DNAME VARCHAR2(14), LOC VARCHAR2(13) ) 2、建立一个sequence create sequence seq_dept转载 2007-06-01 18:04:00 · 1308 阅读 · 0 评论