随笔分类 -  Oracle

oracle related documents
oracle undo 解析
摘要:Undo是干嘛用的? 在介绍undo之前先说一下另外一个东西transaction,翻译成交易或事务。我们在进行一个事务的过程中需要申请许多资源,一个复杂的事务也需要很多步来完成。那么一个复杂的事务是只有两个结果,要么成功,要么失败(相当于从来没发生过)。 一个很典型的列子,银行转账,其实其需要两步操作,第一步先将你账户上的钱减去,第二步把被转账户的钱加上,(先减后 加,出了问题银行不吃亏。呵呵!)这样就是一个完整的事务。如果执行了一半,你的钱减了,被转账户的钱没加上,这个时候事务就要回滚,回滚到原始状态。也 就是在转账之前,需要先记录你和被转账户上... 阅读全文

posted @ 2013-03-04 15:06 Alice Sun 阅读(841) 评论(0) 推荐(0)

前滚和回滚
摘要:一. 什么时候需要实例恢复 在shutdown normal or shutdown immediate下,也就是所谓的clean shutdown,checkpoint也会自动触发,并且把SCN纪录写回。 当发生checkpoint时,会把SCN写到四个地方:三个地方于control file内:(1)SYSTEM CHECKPOINT SCN(2)Datafile checkpoint SCN(3)Stop SCN一个在datafile header内:Start SCN1.1 Clean shutdown 时 当clean shutdown 时,checkpoint会进行,并且此时dat 阅读全文

posted @ 2013-01-30 10:28 Alice Sun 阅读(1194) 评论(0) 推荐(0)

redo和undo的区别
摘要:edo--> undo-->datafileinsert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据.redo->每次操作都先记录到redo日志中,当出现实例故障(像断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件undo->记录更改前的一份copy,但你系统rollback时,把这份copy重新覆盖到原来的数据redo->记录所有操作,用于恢复(redo records all the datab 阅读全文

posted @ 2013-01-30 10:19 Alice Sun 阅读(402) 评论(0) 推荐(0)

Oracle装在VMWare上须知 --官方回答
摘要:Purpose---------Explain to customers how Oracle supports our products when running on VMwareScope & Application----------------------For Customers running Oracle products on VMware virtualized environments. No limitation on use or distribution. Support Status for VMware Virtualized Environments 阅读全文

posted @ 2013-01-29 09:47 Alice Sun 阅读(343) 评论(0) 推荐(0)

OCP SQL 课堂实验
摘要:273428389set long 10000set pagesize 100select dbms_metadata.get_ddl('TABLE','EMPLOYEES','HR') from dual;insert into t(id,name) values(null,'lcb');commit;select id+1 from t;set linesize 250set pagesize 200col last_name format a20SELECT last_name, job_id, salary, commis 阅读全文

posted @ 2013-01-15 15:22 Alice Sun 阅读(392) 评论(0) 推荐(0)

oracle 递归查询,向上和向下遍历
摘要:--查询全部资源信息select * from urm_class_info--向上遍历树,找到路径直到根节点,指定的是parentidselect distinct classid,parentid,namefrom urm_class_infostart with parentid = 'cmdb0000000000000017'connect by prior parentid = classid--向上遍历树,找到路径直到根节点,指定的是classid,和下面的主要区别就是parentid和classid的位置select classid,parentid,namefr 阅读全文

posted @ 2013-01-15 15:09 Alice Sun 阅读(671) 评论(0) 推荐(1)

Oracle 10g正则表达式的使用总结
摘要:Oracle 10g数据库内建了符合IEEE POSIX (Portable Operating System for Unix)标准的正则表达式。熟练使用正则表达式,可以写出简洁,强大的SQL语句。ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与INSTR的功能相似 3,REGEXP_SUBSTR :与SUBSTR的功能相似 4,REGEXP_REPLACE :与REPLACE的功能相似 这四个函数在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和REPLACE 用法... 阅读全文

posted @ 2013-01-15 15:09 Alice Sun 阅读(510) 评论(0) 推荐(0)

PLSQL解析XML类型字段
摘要:xmltype: Oracle9i支持一种新的系统定义数据类型,名为XMLType。XMLType提供了多种内建的成员函数,为创建、提取和索引存储在Oracle9i中的XML数据提供了一种强有力的机制。作为一种新的数据类型,XMLType可用作表格和视图中的各个列的数据类型,并可在PL/SQL存储过程中作为参数、返回值和变量使用。 利用XMLType和这些功能,SQL开发者既可利用关系型数据库的强大能力,也可在XML的环境下工作。与此类似,XML开发者一方面可利用XML标准的强大能力,另一方面又能在关系型数据库的环境下工作。 1.建立含有xmltype数据类型的表createtable... 阅读全文

posted @ 2013-01-15 15:08 Alice Sun 阅读(4022) 评论(0) 推荐(0)

Oracle中exists与in的效率探讨
摘要:in 与 exist 的语法比较: select × from 数据表 t where t.x in (...) 括号内可以是符合t.x字段类型的值集合,如('1','2','3'),但如果t.x是number类型的时候,似乎这样的写法会出问题;也可以是通过另外的select语句查询出来的值集合,如(select y from 数据表2 where ...)。 select * from 数据表 t where [...] and exist (...) 方括号内为其它的查询条件,可以没有。exist后面的括号内可以是任意的条件,这个条 阅读全文

posted @ 2013-01-15 15:03 Alice Sun 阅读(308) 评论(0) 推荐(0)

Oracle delete truncate drop 的区别
摘要:1. delete/truncate 只删除数据不删除表,索引的结构。 drop 将删除表的结构及依赖的 index/constrain/trigger,依赖于该表的 procedure/function 将保留,但是变为 invalid 状态;2. delete 是 dml,写 rollback segement,可回滚,速度慢,事务提交之后才生效。在 9i 满足 undo_retention 条件下可使用 flashback。一次性大批量数据的 delete 可能导致回滚段急剧扩展从而影响到数据库,慎用,触发 trigger。 truncate/drop 是 ddl,隐式提交,不写 rol 阅读全文

posted @ 2013-01-15 14:40 Alice Sun 阅读(206) 评论(0) 推荐(0)

导航