错误提示"ORA-01722: 无效数字"一例
遇到用户反馈过来的一例错误提示: select dutycode,rpttype,rptid from vRptDuty where RptId=7 ; 这个语句提示 ORA-01722: 无效数字如果不加条件select dutycode,rpttype,rptid from vRptDuty ;则语句顺利执行.看vRptDuty是一个视图,其定义如下:create or replace view vrptduty asSelect a.RptType, a.Rp...
imp导入时遭遇IMP-00032,IMP-00008错误.
imp导入时遭遇IMP-00032,IMP-00008错误.最终是imp命令加buffer=100000000参数得以解决.下面是imp失败的日志文件内容连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options经由常规路径由 EXPORT:V11...
Windows环境下Oracle10g使用DBCA创建数据库时遇到ORA-12560协议适配器错误
Windows环境下Oracle10g使用DBCA创建数据库时遇到ORA-12560协议适配器错误看到这个错误,首先想Windows环境下,都有哪些情况会出现ORA-12560?1.注册表ORACLE_SID与实例名不一致2.关于Oracle的服务没有启动可是,现在是DBCA建库的过程,上述两项还没有就绪.所以,一筹莫展.按照界面上的关于日志保存路径的提示,查看日志D...
Oracle11g数据库exp产生的dmp文件,进行imp导入时,ORA-01400的处理
Oracle11g数据库exp产生的dmp文件,进行imp导入的时候,出现提示:IMP-00019: 由于 ORACLE 错误 1400 而拒绝行IMP-00003: 遇到 ORACLE 错误 1400ORA-01400: 无法将 NULL 插入 ("USER_1"."TBL_1"."COL_1")列: TESTDATA列: 1列: 2302而实际上,原始的表中数据,COL_1这列没有NULL的,字段定义也是NOT NULL的.原因是11g的一...
Oracle11g新特性影响EXP导出,ORA-01455的处理
数据库Oracle11g下,EXP逻辑导出时,遇到如下错误:EXP-00056: 遇到 ORACLE 错误 1455ORA-01455: 转换列溢出整数数据类型EXP-00000: 导出终止失败据现象观察,出现此错误之前,大多数记录数为0的正式表(不是临时表)没有被导出.查阅资料,得到原因是Oracle11g增加了参数deferred_segment_creation,参数默认值是TRUE,这...
关于一个"恒真(恒假)条件"与"NULL参与比较判断"共同作用引发的语句结果异常
看标题,自己也觉得有些拗口.主要是两方面:(1)恒真(恒假)条件:不少开发人员,为了拼接语句的便利,采用恒真(比如1=1)条件为基础,拼接若干个and条件,这样就可以不做判断条件之前应该是where还是and,同样道理,采用恒假(比如1<>1)条件为稽查,拼接若干个or条件,这样就可以不做判断条件前面应该是where还是or.这种做法,在逻辑...
两个exists子句,使用同表同字段作判断的异常现象
数据库:11.2.0.1 64bit for Windows环境Select OrgCode, YsOrgCode From (Select A.OrgCode, A.YsOrgCode, A.PluID, A.SupCode, C.CntID From (Select OrgCode, YsOrgCode, PluID, SupCode &...
无法完成游标操作,因为在声明该游标后,所设置的选项发生了更改
近日,一个应用的SQL Server数据库由SQL2000移植到SQL2008环境下.原本正常的一个功能,移植后却提示:"无法完成游标操作,因为在声明该游标后,所设置的选项发生了更改"经查找原因,是对应的一个存储过程中,因为需要进行星期几的判断,所以用了SET DATEFIRST 1语句.而这个set语句位置写在了定义游标(declare)与打开游标(ope...
Windows32位系统下Oracle内存突破1.7G的设置
系统设置1、修改C:\boot.ini(隐藏文件,系统文件),增加 /3GB /PAE,增加之后,Windows2003下boot.ini内容如下:[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /3GB /PAE /noexecu...
关于汉字编码
一次偶然的机会,使用PL/SQL Developer将编辑区的语句全选,粘贴到Word中保存后,当时没注意,后来发现,中文都变成乱码了比如:出现了????????,搞不清楚当时是哪四个汉字了.所以,对汉字编码进行了点探索.以便将汉字还原出来.学生时代,在考试前填写一些报名表时,往往需要将姓名以区位码的方式铅笔填涂.当时由于好...
EXP遭遇EXP-00056,ORA-04021
在对Windows平台的Oracle10g(10.2.0.1)做逻辑导出时,遇到下列错误:EXP-00056: 遇到 ORACLE 错误 4021ORA-04021: 等待锁定对象 时发生超时EXP-00000: 导出终止失败查看:alert_SID.log :Memory Notification: Library Cache Object loaded into SGAHeap size 2071K exceeds notification threshold (2048...
四舍五入之银行家算法
对于“四舍五入”的概念,相信大家都熟悉,因为小学三四年级就已经接触过了,常规算法这儿从略。但对于银行家算法,也许有不少人比较生疏。此前,曾经听说过银行家算法,也知道算法“四舍六入五取偶”的具体实现方法,那就是:(假设对小数部分进行舍入的话),待舍入的部分恰好为0.5000,则需要看前面一位数的奇偶性,...
Oracle使用DBMS_JOB创建的数据库作业,遇到数据库关闭状态的调度
对SQL Server熟悉的朋友,应该都知道,SQL Server的作业是按照固定时刻来设置调度的,比如设置为每日23:00运行,如果此时,恰逢服务器关机,或者SQLServerAgent服务不在运行,则本次作业将不会执行,直到下次满足调度条件再执行.而Oracle的JOB是按照调度公式来设置下次执行时刻的.让我们来测试一下Oracle的JOB遇到关机或者数据库...
Oracle11g的SQL支持代码中全角字符代替半角字符
最近,公司开发部门数据库迁移到新服务器上面,数据库原来使用Oracle10g,新服务器上面装的是Oracle11g,具体版本11.2.0.1结果,开发同事不经意间发现,SQL语句中使用全角的括号竟然语法检查也是可以通过的.比如:select (col_Total1+col_Total2) from t_Test where rownum<10;select (col_Total1+col_Total2) from t_Test...
Unix/Linux下,Oracle备份策略一例
1.crontab 建操作系统下的调度10 2 * * */rman/scripts/bak_full.sh表示每天2:10调度,五个参数分别是 分钟 小时 日 月 周(0-6,0表示周日)2.bak_full.sh的内容:#!/bin/shsu - oracle -c "sh /arch/scripts/full.sh"3.full.sh的内容:DATE='date+%Y-%m-%d'export ORACLE_SID=ORCLrman target / cmdfile=/r...
关于优化器提示使用逗号的语法
一直以来,看关于优化方面的材料,对强制使用索引的优化器提示写法/*+INDEX (TABLE, INDEX) */中,是否需要写逗号没有弄明白.因为有的材料上面使用了逗号,有的则不使用逗号.所以,探究了一下,找到官方文档:http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements006.htm#autoId24其中写道:When tablespec is...
主键对应的约束名称
如果使用alter table tbl_1 add primary key (col_1);这样创建的主键,其一对应的主键名/索引名不容易知道(是系统产生的名字: SYS_C0010004 类似这样),其二索引和表放在一个表空间里面,对性能不利. 使用ALTER TABLE tbl_1 ADD CONSTRAINT pk_tbl_1 PRIMARY KEY (col_1) USING INDEX TABLESPACE t...
Excel密码忘记了,遍历法找回密码
一个朋友自己对EXCEL的一个文档设置了密码,结果搞忘了.但是提供的线索是: 密码是由123456后面加ABCD四个大写字母组合的四位字母组合,密码长度10位.所以使用Sub crack()Dim i0 As LongDim i1 As LongDim i2 As LongDim i3 As LongDim i4 As LongDim s0 As StringDim FileName As StringApplication.ScreenUp...
关于RAC环境下的序列不能保证后使用的一定大于先使用的问题
客户有一个应用系统,单据号尾号原本每天是按照流水码从0001递增产生的.最近客户数据库迁移至RAC环境下,结果发现偶尔会出现单据号尾号会出现负号(-)查看了一下其产生原理,使用了序列seq_billno(cache 20),另外使用了一个表tBillNoSeq(date,maxseq)记录昨天最后一个单据号对应的序列值.伪代码如下:获得sql_billno.next...
一个update语句引起的性能下降问题
接到客户反馈,最近应用系统性能有所下降.另外客户已经通过AWR报告得知,最近oracle数据库重做日志切换较以前频繁,部分时间段大约每30秒切换一次.通过对日志文件使用LogMiner进行分析得知,充斥着大量的下列形式的语句(不同的是RowID)update "HSCMP"."TCVSTHBODY" set "YWTYPE" = '4' where "YWTYPE" = '4' and ROWID ...