
ORACLE
文章平均质量分 56
xiadongxilou
这个作者很懒,什么都没留下…
展开
-
两个数据库字符集不一样,如何快速增量同步数据.
环境: DB-A 字符集:US7ASCII DB-B 字符集:ZHS16GBK需求: 从DB-A中将一个表的中文数据通过JAVA定时任务同步到DB-B. DB-A库中表的信息如下: CREATE TABLE USER_INFO (USER_ID number, USER_NAME varchar2(50));如果用一般的方式来SELECT,和INSERT,不...原创 2011-09-23 15:00:02 · 551 阅读 · 0 评论 -
oracle全文索引的简单配置
1.创建数据存储定义(Datastore),使用多列数据存储在多列上创建全文索引BEGIN CTX_DDL.CREATE_PREFERENCE('INFOGRID_COM_DATASTORE','MULTI_COLUMN_DATASTORE');CTX_DDL.SET_ATTRIBUTE('INFOGRID_COM_DATASTORE','columns','NAME,ADDRE...原创 2011-08-04 23:49:42 · 94 阅读 · 0 评论 -
利用 rowid 提升update性能 .
能不能想办法 提升一下如下update语句的性能UPDATE OPT_ACCT_FDIM A SET ACCT_SKID = (SELECT ACCT_SKID FROM OPT_ACCT_FDIM_BKP B WHERE A.ACCT_ID = B.ACCT_ID); ...原创 2011-08-04 23:52:18 · 438 阅读 · 0 评论 -
Oracle分区表详解 .
一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 二、Oracle分区优...原创 2011-08-06 10:42:03 · 124 阅读 · 0 评论 -
Oracle中decode的使简单例子
decode(字段,表达式1,表达式2,表达式。。。)当,字段的值为 表达式1时返回表达式2,以此类推。例子1:select decode(opertype,1,'A',2,'B',3,'C','hh') from zm_corp_recordopertype等于1时 返回A。。不等于1、2、3时 ,返回hh例子2:SELECT ename,comm, DE...原创 2012-06-04 17:06:09 · 579 阅读 · 0 评论 -
函数的使用
create or replace function Fun_getinvclPK( cinvclasscode varchar2,cinvclasslev number) return varchar2 is fpk_invcl varchar(200) := ''; invclass_code varchar(20):=''; invclass_lev numbe...原创 2012-06-04 17:09:40 · 195 阅读 · 0 评论 -
以字符串数组为输入参数的存储过程
今天项目中需要用到存储过程,使用的是字符串数组作为参数,经过不断尝试,终于搞定了下面简单的记录下:1、创建自定义数据类型--自定义数据类型(可做数组用)[code="java"]create or replace type jqjk_array AS VARRAY(50) of varchar(50); [/code]2、创建遍历数组循环的存储过程 [cod...原创 2012-06-19 14:27:10 · 417 阅读 · 0 评论 -
使用DBLINK为远程数据库的用户表创建同义词
1、创建db_link[code="java"]create database link jqdb_link connect to jqcs1 identified by jqcs2 using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521)))(CONNECT...原创 2012-06-19 14:39:07 · 321 阅读 · 0 评论 -
ora-00031:session marked for kill处理oracle中杀不掉的锁
转:一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。1.下面的语句用来查询哪些对象被锁:select object_name,machine,s.sid,s.serial# from v$locked_ob...原创 2012-06-19 16:36:59 · 132 阅读 · 0 评论 -
动态sql拼接单引号与 变量赋值
[code="java"]if (lower(s_table)='gl_detail') then ms := 'select max(ts) from ' || t_table; --给变量赋值 execute immediate ms into max_ts; --添加单引号 max_ts := ''''||max_ts|...原创 2012-06-21 10:09:12 · 800 阅读 · 0 评论 -
Oracle的left join中on和where的区别
Oracle的left join中on和where的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进...原创 2012-10-26 15:43:18 · 148 阅读 · 0 评论 -
oracle的全文索引
已有几个项目组开始使用oracle的全文索引。Oracle的词法分析器针对ZHS16GBK字符集的词法分析尚不够智能,只能机械地以字为单元进行匹配。对于utf8字符集的数据库有一个新的汉语分析器chinese_lexer,效率有了很大改善。现将验证并整理过的如何进行oracle全文索引设置的文档发给大家,适用于8i、9i各平台版本。对于DB2,有一个叫做TIE(Text Information...原创 2012-04-16 14:29:29 · 256 阅读 · 0 评论 -
用java调用oracle存储过程总结
1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。2、什么时候需要用存储过程 如果服务器定义了存储过程,应当根据需要决定是否要用存储过程。存储过程通常是...原创 2011-08-04 23:45:52 · 92 阅读 · 0 评论 -
Oracle SCN详解
pre.Oracle中的SCN(system change number)和我们的北京时间的意义是相同的,SCN是Oracle中的时间号。 为什么Oracle不用时间来界定呢?我在北京时间8:00的时候执行一条DML语句,然后修改机器上的时间为7:00,再执行一条DML语句。如果用机器上的时间区分的话,那Oracle根本区分不出来这两条DML语句的执行顺序——而这一点对于Ora...原创 2011-08-04 23:38:55 · 87 阅读 · 0 评论 -
oracle 数据库里查看表空间使用状况
oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下SQL:方法一:select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs....原创 2011-08-04 23:34:07 · 82 阅读 · 0 评论 -
Oracle经验集锦
1.删除表空间 DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]] 2.删除用户 DROP USER User_Name CASCADE 3.删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE...原创 2011-09-24 13:32:23 · 109 阅读 · 0 评论 -
单独的plsql链接数据库
转的:plsql 可不可以直接远程连接服务器?都说要安装客户端,记得以前用过个什么sql deveplore 什么的工具,不用安装客户端的,而且是绿色软件来的,我就想,一定就办法,不用这么麻烦安装客户端的。上网找了找,下面把我的实践详细过程记录下来,希望对大家有帮助,有什么不对的,请大家多多评论,指出来。1、在安装ORACLE服务器的机器上搜索下列文件,oci.dlloci...原创 2011-10-14 16:03:54 · 121 阅读 · 0 评论 -
sql中join的各种用法
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID aNum1 ...原创 2011-07-28 09:25:49 · 281 阅读 · 0 评论 -
oracle存储过程详解--游标 实现增、删、改、查的
注:以下是转来的内容,但是设计PLSQL代码,原文有问题,所以PLSQL代码我都验证修改了。测试需要在scott/tiger下进行,对于没有的表,需要自行创建,表复制的语句为 CREATE TABLE former_emp AS SELECT * FROM EMP; 游标(CURSOR)是ORACLE系统在内存中开辟的一个工作区,在其中存放SELECT语句返回的查询结果...原创 2011-08-03 18:53:34 · 164 阅读 · 0 评论 -
oracle中的sql%rowcount
sql%rowcount中的sql是oracle的内部游标,rowcount的意思是之前的dml sql语句影响的多少行数据。如果是delete操作rowcount就是delete的数据,如果是insert,就是插入的数量...原创 2011-08-04 22:53:18 · 209 阅读 · 0 评论 -
oracle的正则表达式(regular expression)简单介绍
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境。Oracle 10g正则表达式提高了SQL灵活性。有效的解决了数据有效性, 重复词的辨认, 无关的空白检测,或者分解多个正则组成的字符串等问题。Oracle 10g支持正则表达式的四个新函数分别是:REGEXP_LIKE、REGEXP_IN...原创 2011-08-04 23:16:37 · 86 阅读 · 0 评论 -
Oracle 一段批量提交的代码
CREATE OR REPLACE PROCEDURE test(p_array_size IN PLS_INTEGER DEFAULT 10000)ISTYPE ARRAY IS TABLE OF a%ROWTYPE;l_data ARRAY;CURSOR c ISSELECT *FROM a;BEGIN OPEN c; LOOP ...原创 2011-08-04 23:18:00 · 102 阅读 · 0 评论 -
with as 用法
查看( 15 ) / 评论( 0 ) / 评分( 0 / 0 ) withsql1 as (select to_char(a) s_name from test_tempa),sql2 as (select to_char(b) s_name from test_tempb where not exists (select s_name from sql1 where rownum=1...原创 2011-08-04 23:19:48 · 286 阅读 · 0 评论 -
Rman duplicate数据库复制(单系统)
一、实验环境:1. 虚拟机:VMware Server Console 1.0.7 build-1082312. 数据库:oracle10g R23. 操作系统:windows2003Enterprise32bit4. 数据库环境:主数据库—ORCL、复制数据库----TEST 二、创建并启动辅助(复制)数据库...原创 2011-08-04 23:22:04 · 102 阅读 · 0 评论 -
oracle9i在windows上的dataguard配置
主库:win2003 server ora9i(9.2.0.1.0) 192.168.3.135主机名:data580 SID:PRIMARY从库:win2003 server ora9i(9.2.0.1.0) 192.168.3.136主机名:data380 SID:STANDBY1、主库和从库的Oracle 安装的时候都选择相同的安装路径 D:\oracle\ora92 ;并且...原创 2011-08-04 23:23:59 · 170 阅读 · 0 评论 -
采用全文索引解决模糊查询速度慢的问题
众所周知,使用 like 进行模糊查询速度极差,包括 like 'AAA%' ,like '%AAA',like '%AAA%',like '%A%A%'以及采用“_”进行单字符匹配的那些模糊查询。网上有很多文章讲到如何提高like查询,提到 like 'AAA%'能够使用到索引,而like '%AAA' ,使用创建反向函数的索引来提高查询效率。但一般情况下,是无法约定客户端采用哪种like查询,...原创 2011-08-04 23:31:24 · 284 阅读 · 0 评论 -
oracle触发器
表: A字段:a, b, c当修改a字段的值时触发c字段的值设置为a字段修改前的值;create or replace trigger testBEFORE update on A for each rowbegin if :NEW.a :OLD.a then :new.c :=:OLD.a; end if;end tes...原创 2012-04-20 09:11:40 · 103 阅读 · 0 评论