使用dbms_lob.compare比对lob字段

以前写了一个通过dbms_lob.getlength来比对lob长度的脚本,后来通过实践发现有点问题,发现很多长度一样的lob但是内容可能不一样,oracle目前只有使用dbms_lob.compare来比对lob字段,但是这个有个局限就是不能使用dblink来比对两个库的lob,下面是一个举例脚本,通过两张表tb1和tb2通过主键id来进行lob的比对

如果发现lob不一致,则打印出id号

. /home/oracle/.bash_profile

sqlplus -silent test/test <<EOF
set serveroutput on
set pagesize 0 feedback off verify off heading off echo off

Declare
CURSOR c1 is select id from test.tb1;
varC1 blob;
varC2 blob;
ln number(4);
Begin
for v1 in c1 loop
select data into varC1 from test.tb1 where id = v1.id;
select data into varC2 from test.tb2 where id = v1.id;
ln := DBMS_LOB.Compare(varC1,varC2);
if ln <>0 then
DBMS_output.put_line(v1.id);
end if;
end loop;
End;
/
时间: 2024-10-20 00:03:19

使用dbms_lob.compare比对lob字段的相关文章

varchar2_to_blob,应用向数据库更新LOB字段时的超时问题

将字符串转换为BLOB类型数据,写入服务器. 1,首先利用to_clob函数把varchar2字段转成 clob字段. 2  利用c2b上面函数将clob转成blob. 即: c2b(to_clob(varchar2字段))   CREATE OR REPLACE FUNCTION C2B (b IN CLOB default empty_clob()) RETURN BLOB -- typecasts BLOB to CLOB (binary conversion) IS res BLOB;

jdbc执行预处理,批处理,LOB字段处理,调用存储过程

(1)jdbc执行预处理 PreparedStatment预备语句 eg:String sql="insert into user(id,name,birthday,money) values(5,'administrator',?,'1000000')"; PreparedStatement stmt=conn.prepareStatment(sql); stmt.setTimestamp(1,new Timestamp(System.currentTimeMillis())); s

查询Oracle 数据库中带有lob字段的某一个表的大小

注意:由于lob字段有独立的lob segment来存储,故对于带有lob字段的表,不能仅仅查询dba_segments. 以下脚本来自: How to Compute the Size of a Table containing Outline CLOBs and BLOBs[Article ID 118531.1] 经过修改:改为了NVL(SUM(S.BYTES),0) SQL> col "TOTAL TABLE SIZE" format 99999999999999 ---

【转载】JDBC操作LOB字段

转自:http://www.cnblogs.com/tengtao93/p/4984689.html 1.LOB(Large Objects)大对象,是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储多达4GB的数据) --LOB分类两种类型:1)内部LOB: 2)外部LOB: --内部LOB将数据以字节流的形式存储在数据库的内部.因而,内部LOB的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份和恢复操作: --Oracle支持三种类型的内部LOB:1)BLOB(

【LOB】使用USER_LOBS视图获得当前用户包含LOB字段的表

包含LOB类型字段的表往往需要特殊关照,如何快速的获得包含LOB对象的数据库表?使用DBA_LOBS.ALL_LOBS和USER_LOBS视图可以很方便地获得包含BLOB或CLOB字段的表. 简单看一下效果. 1.创建两个包含LOB类型字段的表T1和T2[email protected]> create table t1 (a clob); Table created. [email protected]> create table t2 (a blob); Table created. 2.

[下载]Oracle LOB字段编辑工具

OraLobEditor 是Oracle LOB (CLOB, BLOB) 字段编辑工具. 查看.编辑LOB (CLOB, BLOB)字段(plain text, RTF, image, hex, html, xml). 支持图片格式(JPEG, GIF, BMP, PNG, TIFF).在十六进制方式中编辑 LOB (CLOB, BLOB) 字段. 查看.在文本编辑器中编辑长字符串(Char, Varchar2)字段. 在十六进制方式中编辑字符串(Char,Varchar2)字段. 下载地址:

Oracle LOB字段判空

dbms_lob.getlength() = 0 dbms_lob.getlength(null) 会报错--- Oracle 默认为clob字段插入empty_clob()

创建表规范 lob 字段

ORAClce 11g 提供如下特性: BasicfileOracle10g 及之前版本被称为basicfile Securefile11g中新增securefile 优点:集中写入缓存(WGC),4m空间管理,需要ASSM减少碎片,chunk智能预提取无lob索引争用无hwm争用易于管理,参数简化 SecureFiles:存储选项 MAXSIZE:指定最大 LOB 段大小 RETENTION:指定要使用的保留策略 MAX:达到 MAXSIZE 之前保留旧版本. MIN:至少将旧版本保留 MIN

数据库使用数据泵迁移遇到LOB字段

impdp system/Clic1234 attach=SYS_IMPORT_ILEARN_TRA desc ILEARN_TRA.NOTIFI_TACTIC desc ILEARN_TRA.MSG_MAILdesc ILEARN_TRA.NT_HISTORYdesc ILEARN_TRA.ATTEMPTdesc ILEARN_TRA.NOTIFI_TACTICdesc ILEARN_TRA.USER_INIT_EXAM while truedoora tsfreesleep 600done;