ORA-01480(转载)
转载自:http://blog.csdn.net/annicybc/article/details/1495493ORA-01480trailing null missing from STR bind valueCauseA bind variable of type 5 (null-terminated string) does not contain the terminating null in its buffer.ActionTerminate the string with a null character原因分析: 导致出现该问题的可能是由于寄主程序的变量设定的太短,导致SQL(PRO*C)取出的字段被截断,最后该字段对应的变量在赋值的时候无法找到结束字符。解决方法:找出太短字段的设置,将变量设长。[@more@]
SQL--了解DUMP函數(转载)
转载:http://vongates.itpub.net/post/2553/17275作者:vongates我們知道可能用dump這個函數來查看表中某列在datafile中的存儲內容,它的標准格式為:DUMP(expr[,number_format[,start_position][,length]]) 它將返回一個包含expr內部表示信息的varchar2值 我們常用的函數格式為:dump(col_name,8|10|16|17)其中的8|10|16|17為number_formant的取值,分別指八進制|十進制|十六進制|單字符 其中10為default的值,實例編碼 數據類型 oracle版本 1 varchar2 72 number 78 long 712 date 723 raw 724 long raw 769 rowid
How Oracle Store Number internal?(转载)
作者:eygle出处:http://www.eygle.com/blog [Life]日期:2005-12-11 13:54本文链接:http://www.eygle.com/archives/2005/12/how_oracle_stor.htmlOracle在数据库内部通过相应的算法转换来进行数据存储,本文简单介绍Oracle的Number型数值存储及转换.这个内容是为了回答留言板上的2119号问题.我们可以通过DUMP函数来转换数字的存储形式,一个简单的输出类似如下格式:SQL> select dump(1) from dual;DUMP(1)------------------Typ=2 Len=2: 193,2DUMP函数的输出格式类似:类型 <[长度]>,符号/指数位 [数字1,数字2,数字3,......,数
oracle 高级复制
(转载自 http://viewtoo.sharera.com/blog/BlogTopic/31079.htm)日益增长的分布式应用需求要求实现更好分布式的软件环境,不断推动着分布式技术的进步。Oracle数据复制是实现分布式数据环境的一种技术,通过在不同的物理站点拷贝数据来建立分布式数据环境。它与分布式数据库不同,在分布式数据库中,虽然每个数据对象也对所有的站点可用,但是特定的数据对象只存在于一个特定的站点中。而数据复制实现所有的站点都有相同数据对象的可用拷贝。 在一个典型的分布式商业应用中经常需要把个地区的数据备份到总部的数据库中,一方面可以作为一种
Flashback [Oracle SQL] 使用方法
三种方法使用SCNflashback table my_table to scn 699310;Timestampflashback table my_table to timestamp '2008-03-03 10:08:31';Before dropflashback table "BIN$ewhgTFxaSyuts++4swyE3Q==$0" to before drop rename to test_objects;举例:--首先使用flashback 恢复已经drop的对象,必须在10g以上的版本SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionC
x$ksppi
通过x$ksppi 可以查看oracle系统参数的解释SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%pga%';KSPPINM--------------------------------------------------------------------------------KSPPDESC--------------------------------------------------------------------------------_pga_large_extent_sizePGA large extent size_use_ism_for_pgaUse ISM for allocating large extents_kdli_sio_pgause PGA allocations for direct IOKSPPINM-----------------------------------------------------------------
收缩表空间
1.首先导出表空间C:Documents and Settingsgyj>exp userid='/ as sysdba' tablespaces =users file=gao.dmp;2.接着drop tablespace,但是发现不能drop默认表空间,Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as SYSSQL> drop tablespace users including contents;drop tablespace users including contentsORA-12919: 不能删除默认永久表空间SQL> alter tablespace users offline;Tablespace alteredSQL> alter database datafile 'D:ORACLEPRODUCT10.2.0ORADATAWANGDBUSERS01.DBF' r
SQL*Net more data from client
步骤:1.select sid,event,p1,p1text from v$session_wait where event like 'SQL*Net more data from client%';找到sid;2.通过以下sql找到具体的sql脚本SELECT sql_text FROM v$sqltext a WHERE a.hash_value = (SELECT sql_hash_value FROM v$session b WHERE b.SID = '&sid') ORDER BY piece ASC3.分析你找到的sql,看看是不是做了全表扫描;set autotrace trace explainselect count(*) from all_objects;[@more@]
oracle 9i 闪回
今天一个同事错误删除了一些记录,已经有15分钟了,我们只能尝试着使用9i的闪回功能,看看能否将记录"拿回来":首先将删除的记录存放在一个临时表中create table tm_gaogao as select * from tf_r_simcard as of timestamp(systimestamp - interval'1200' second);然后挑出错误删除的记录,插回原表insert into tf_r_simcard select * from tm_gaogao where simcardid like '5555%' ;搞定。以下是oracle文档中其他闪回sql:INSERT INTO employee (SELECT * FROM employee AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '
ORA-00984 错误
今天在调试一个入库程序是将使用数组里的值,直接拼出sql,但是放在sqlplus 里执行时报ORA-00984: column not allowed here看了看values里的值,好像没有什么问题再仔细看发现大部分字段值都是数字,唯独有一个字段是 S001,这个字段是char(8)不会是这的问题吧,给它加了一个单引号 'S001'。再次执行好了。原来是没有办法转换了这里我还在考虑一个问题:oracle 数据库里的数据到底是以什么样的格式存储的? oerr ora 98400984, 00000, "column not allowed here"// *Cause:// *Action:[@more@]