oracle 11g的列转行函数介绍--listagg
在ORACLE 11G中新增一个函数:LISTAGG(),使用感觉不错.感觉效率要高于:sys_connect_by_path基本使用方法:LISTAGG(COL_NAME,',') WITHIN GROUP( ORDER BY COL_NAME)例子: with temp as( select 'China' nation ,'Guangzhou' city from dual union all &nbs...
ORA-01157 AND ORA-01110错误解决
事情发生原因:在RAC+RAW+ARCHIVE环境中,新增了几个RAW,但只在一边修改了宿主,结果就发生了如下错误:ORA-01157: cannot identify/lock data file 129 - see DBWR trace fileORA-01110: data file 129: '/dev/rora...
ORA-12545: 因目标主机或对象不存在, 连接失败的错误处理
我碰到的在oracle10g+rac+raw环境中,多次连接时常常出现的错误“ORA-12545: 因目标主机或对象不存在, 连接失败”的处理办法如下:分别在rac的两个结点上执行以下语句...
表间数据的update方法
方法一:update table2 set col=(select col from table1 where table1.id=table2.id) where id=(select table1.id from table1 where table1.id=table2.id);方法二: 与方法一道理相...
行列转换在重建主键索引时的应用
当我们对分区表的分区进行split等操作时,会造成主键索引状态的unusable,而这个操作又涉及很多分区表时,如何快速处理呢?显然,采用系统自动生成脚本的方法是必须的。...
ORA-26563错误.
如果在重命名表的时候出现ORA-26563: 不允许重命名此表错误,试着将表上的物化视图日志drop就可以了。sql>> create materialized view log on test_1;实体化视图日志已创建。sql>> alter table test_1 rename to ...
rman过期日志清理
rman备份后如果存在有过期备份没有被删除时,需要手工对过期备份删除,做法如下:rman target / catalog rman/rman@rman report obsolete; ---显示过期备份delete obsolete; ---删...
ORA-01110,ORA-01157错误处理
dataguard 备端由于数据文件没分配相关权限造成的错误处理.ORA-01111: name for data file 108 is unknown - rename to correct fileORA-01110: data file 108: '/oracle/product/9.2.0.5/dbs/UNNAMED00108'ORA-0115...
MOVE LOB COLUMN
移动LOB字段方法: ALTER TABLE TABLE_NAME MOVE TABLESPACE TABLESPACE_NAME LOB (LOB_COL) STORE AS (TABLESPACE TABLESPACE_NAME) ...
ora-00604,ora-02429:无法删除用于强制唯一/主键的索引。
今天删除数据库中的表空间时,发现始终删不掉,错误信息为:"ora-00604,ora-02429:无法删除用于强制唯一/主键的索引。"最终发现是其他某个用户在创建索引时没有注意到其中tablespace设置,直接把这个索引的表空间指定到...
重复数据清理
清理重复数据:(1).适用于有大量重复记录的情况(在C1,C10和C20列上建有索引的时候,用以下语句效率会很高):delete cz where (c1,c2,c3) in (select c1,c2,c3 from cz group by c1,c2,c3 having count(*)>1) and rowi...
关于insert的"新"用法
这个"新"并不是指才出现,而是对于我来说是第一次使用这个语法,下文为转载stephen yang的文章,在这里感谢他一下.下边是转载的地址:http://shihaiyang.广告.com/blog/437657内容:关于INSERT ALL和INSERT FIRST 一...
connect by 的使用
以前在做报表的时候需要使用日期序列时,通常的做法就是创建一张日期表,今天获得一个新方法:即使用connect by 来产生一个日期序列.这样就可以不用再去创建日期表了.具体...
清理除id列外的重复数据.
今天上午,在qq上碰到一朋友询问:如何清理掉除id 列外的所有列有重复的数据,思前想后,终于搞定.源表数据:SQL> select * from tab_test;C1 C2 C3-- --- ---1 aa aa2 bb aa3 cc...
copy的用法
今天在qq群里看见一个新(我暂时没接触过的)的数据复制命令:copy.自己试了一下,还真不错,以后测测它的效率,先把语法记下:COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|RE...
exp多台机器轮流备份.
N久以前,还没有使用灾备的时候,需要手工对生产数据库进行备份,而且还需要保留一段时间才能将以前的老的备份给删除掉.最关键的是数据库的数据量比较大,一台机器不能保留那么多...
关于客户端上配置tnsnames.ora上sid和SERVICE_NAME的区别
在手工配置客户端的文件tnsnames.ora时,sid和SERVICE_NAME通常被认为是一个意思,但是今天在新安装机器上做了测试发现这两个参数的微小差异. 如果您...
TRIM的用法新解
大家都知道trim函数是用来清除字符串的空格的.今天却发现它有新用途.1,清除首尾空格:SQL> select length(trim(' hello ')) from dual;LENGTH(TRIM('HELLO'))---------------------...
Oracle 高级查询之二 分析函数部分--first_value,last_value
ORACLE函数:LAST_VALUE,FIRST_VALUE的用法:1、初始化原始数据:create table test (id number(2), name varchar2(10), salary number(6,2));insert into test values (1,'Tom',120);insert into test values (2,'...
add_months函数之疑问
最近在使用ADD_MONTHS的时候发现存在以下问题:当执行:select add_months(add_months(to_date('20090330','yyyymmdd'),-1),1) from dual的时候结果值为:20090331。原因:在执行ADD_MONTHS在对每个月最后一天处理...