摘要: Rowid 与 Rownum 虽都被称为伪列,但它们的存在方式是不一样的,rowid 可以说是物理存在的,表示记录在表空间中的唯一位置ID,在DB中唯一。只要记录没被搬动过,rowid是不变的。rowid 相对于表来说又像表中的一般列,所以以 rowid 为条件就不会有 rownum那些情况发生。 rownum不能以任何基表的名称作为前缀。 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。 举例说明: 例如表:student(学生)表,表结构 阅读全文
posted @ 2009-12-09 11:33 hibernate例子 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT';2. /*+FIRST_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN F 阅读全文
posted @ 2009-12-09 10:18 hibernate例子 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 1. 采用高速的存储设备,提高读写能力,如:EMC 和NetApp,2. 假如tab1表中的没有数据的话DROP TABLE TAB1;CREATE TABLE TAB1 AS SELECT * FROM TAB2;然后在创建索引 3. 用Hint 提示减少操作时间 INSERT /*+Append*/ INTO tab1 SELECT * FROM tab2;4. 采用不写日志及使用Hint提示减少数据操作的时间。建议方案是先修改表为不写日志: sql> alter table table_name NOLOGGING; 插入数据:INSERT /*+Append*/ ... 阅读全文
posted @ 2009-12-09 10:17 hibernate例子 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Oracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元段 就是数据库对象,它消耗存储空间,如表、索引、回滚段等。当创建表的时候,将创建一个表段,当创建一个分区表时,即在每个分区上创建一个段,当创建索引 时,将创建一个索引段,每一个消耗存储空间的对象最终被存储在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段可以拥有来自许多不通数据文件 中的盘区。段本身由一个或多个盘区组成,盘区在文件中一个连续的分配空间,每个段至少开始于一个盘区,一些对象可能至少需要2个盘区(例如回滚段)。各个盘区之 阅读全文
posted @ 2009-12-08 11:13 hibernate例子 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 首先我们来看下alertSID.log日志:MonNov3017:31:542009Thread1advancedtologsequence14214(LGWRswitch)Currentlog#3seq#14214mem#0:/u03/oradata/newccs/redo03.logMonNov3017:34:292009Thread1advancedtologsequence14215(LGWRswitch)Currentlog#1seq#14215mem#0:/u03/oradata/newccs/redo01.logMonNov3017:35:542009Thread1cannota 阅读全文
posted @ 2009-11-30 19:39 hibernate例子 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 在开始之前,我们先来思考几个问题?1.ora-01555错误的是怎么产生的?有什么办法解决?该问题,参考我的Blog:OracleORA-01555快照过旧http://blog.csdn.net/tianlesoftware/archive/2009/10/31/4745898.aspx2.回滚段(回滚表空间)有什么作用?3.数据库启动的时候,如何加载回滚段(回滚段表空间)。4.回滚段的数量由什么公式来计算5.回滚表空间的大小如何确定?一.什么是undoOracle数据库在回退、撤销或者改变数据所需要的维护数据库信息的一种手段。这里的数据库信息是指在数据库提交之前的记录的改变等事务信息。Un 阅读全文
posted @ 2009-11-29 21:25 hibernate例子 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 将表空间和数据文件从一个位置移动到另一个位置的操作方法一.OFFLINEOFFLINE分为ALTERDATABASE与ALTERTABLESPACEOFFLINE,他们的区别参看blog:http://blog.csdn.net/tianlesoftware/archive/2009/11/29/4898800.aspx按数据文件来:1.先将相应的数据文件offlineALTERDATABASEDATAFILE'D:/ORACLE/ORADATA/DBA/TEST01.DBF'OFFLINE;2.把数据文件copy到新位置3.alterdatabaserenamefile 阅读全文
posted @ 2009-11-29 11:28 hibernate例子 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 一.DataFile脱机或联机的两种方法:①ALTERDATABASE语句修改单独的DataFile②ALTERTABLESPACE语句修改所有的DataFile1、在ARCHIVRLOG模式下的更改DataFile状态ALTERDATABASEDATAFILE'/u02/oracle/rbdb1/stuff01.dbf'ONLINE;ALTERDATABASEDATAFILE'/u02/oracle/rbdb1/stuff01.dbf'OFFLINE;或者用文件号来表示:SQL>selectfile#,name,checkpoint_change#fro 阅读全文
posted @ 2009-11-29 10:06 hibernate例子 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1. 先通过top命令查看产用资源较多的spid号2.查询当前耗时的会话ID,用户名,sqlID等:select sid,serial#,machine,username,program,sql_hash_value,sql_id, to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v$sessionwhere paddr in (select addr from v$process where spid in ('5648612','256523'));3. 如果上一步 阅读全文
posted @ 2009-11-29 09:02 hibernate例子 阅读(194) 评论(0) 推荐(0) 编辑
摘要: OCM考试全称为OracleCertifiedMaster(Oracle认证大师),是在OCA(Oracle认证专员OracleCertifiedAssociate)、OCP(Oracle认证专家OracleCertifiedProfessional)之后更高一级的Oracle技术认证,也是Oracle技术认证最高的一个级别。考试是两天的时间,全部为实际操作的考试,第一天是创建数据库和安装GridControl,第二天是创建RAC以及部署DataGuard,其中穿插着几乎所有Oracle数据库管理需要用到的常用知识。其实,技术上来说OCM的考试并不很难,考试涉及的内容也是很喜闻乐见的技术架构。 阅读全文
posted @ 2009-11-28 18:24 hibernate例子 阅读(172) 评论(0) 推荐(0) 编辑