摘要: 在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。在线重定义表具有以下功能:修改表的存储参数;可以将表转移到其他表空间;增加并行查询选项;增加或删除分区;重建表以减少碎片;将堆表改为索引组织表或相反的操作;增加或删除一个列。调用DBMS_REDEF 阅读全文
posted @ 2013-05-20 17:10 fxiaoshan 阅读(128) 评论(0) 推荐(0)
摘要: 在做数据库设计过程中必须要进行多个方面的计划,其中空间估算尤其是一个DBA所不能回避的问题。空间估算的准确与否决定了 1。系统对资源的需求--投资问题 2。数据分布是否合理--数据结构设计问题 3。应用设计,特别是数据存取方面的设计--系统运行性能问题等。同时,由于ORACLE数据类型的多样,数据模型的复杂,空间估算也代表了相当大的工作量。通常的空间估算包括了对TABLE,INDEX,CLUSTER,ROLLBACK SEGMENT,TEMPORARY SEGMENT以及REDO LOG方面等的计算。在本文中重点给出了对TABLE,INDEX的估算。应该强调的是估算工作主要针对数据库中比较大的 阅读全文
posted @ 2013-05-18 10:44 fxiaoshan 阅读(488) 评论(0) 推荐(0)
摘要: 本文内容全表扫描(Full Table Scans)物理 ID 扫描(Rowid Scans)索引扫描(Index Scans)聚簇访问(Cluster Access)哈希访问(Hash Access)采样表扫描(Sample Table Scans)查询优化器如何选择访问路径备注访问路径(Access paths)是从数据库检索数据的方式。一般地,索引访问路径(index access paths)用于检索表数据行一个小的子集语句,而当访问表的一个大部分时,全表扫描(full scans)更有效率。在线事务处理(Online transaction processing,OLTP)应用程序, 阅读全文
posted @ 2013-05-18 10:42 fxiaoshan 阅读(181) 评论(0) 推荐(0)
摘要: 本文内容测试数据演示执行计划修改记录本文简单介绍如何读一个 SQL 语句的执行计划。我们觉得 SQL 语句执行得有点慢总是不够的,关键是知道为什么慢,在哪里慢。那么,执行计划会给出很多直观的数据。测试数据SCOTT 用户的表查看 SCOTT 用户下所有的表。SQL> select object_name from all_objects 2 where owner='SCOTT' 3 and object_type='TABLE' 4 /OBJECT_NAME------------------------------SALGRADEEMPDEPTBONU 阅读全文
posted @ 2013-05-18 10:21 fxiaoshan 阅读(160) 评论(0) 推荐(0)
摘要: 并发事务带来的问题1)脏读第一个事务尚未commit的内容已经被第二个事务读到2)不可重复读第一个事务执行更新操作,第二个事务内部在第一个事务更新前后两次读到数据不一样3)幻读例如:第一个事务更新所有行,第二个事务新插入一行数据,通常会出现第一个事务执行完成后仍然会出现“未更新成功的行”4)第一类丢失更新(回滚丢失)例如:两个事务更新同一行,其中一个回滚导致前一个更新也丢失5)第二类丢失更新(覆盖丢失)例如:两个事务更新同一行,后一个事务更新覆盖前一个事务更新的结果事务的隔离级别1)READ_UNCOMMITTED隔离级别最低,并发性能最好,但是会出现脏读、不可重复读、幻读、丢失更新等问题2) 阅读全文
posted @ 2013-05-18 08:48 fxiaoshan 阅读(125) 评论(0) 推荐(0)
摘要: 今天是oracle 培训开班的第二节课,经过折腾,越来越喜欢上oracle了、、、 阅读全文
posted @ 2012-06-28 00:40 fxiaoshan 阅读(94) 评论(0) 推荐(0)