- 浏览: 129655 次
- 性别:
- 来自: 杭州
最新评论
文章列表
Oracle 分区表
- 博客分类:
- Oracle 开发
分区提供以下优点:
(1)由于将数据分散到各个分区中,减少了数据损坏的可能性; (2)可以对单独的分区进行备份和恢复; (3)可以将分区映射到不同的物理磁盘上,来分散IO; (4)提高可管理性、可用性和性能
Oracle 10g提供了以下几种分区类型: (1)范围分区(range); (2)哈希分区(hash); (3)列表分区(list); (4)范围-哈希复合分区(range-hash); (5)范围-列表复合分区(range-list)。
一。分区的类型及创建
建议使用 ...
Oracle管道函数(转)
- 博客分类:
- Oracle 开发
http://www.blogjava.net/hill/articles/oraclepipelined.html(转)
Typical Pipelined Example
This are the typical steps to perform when using PL/SQL Table Functions:
The producer function must use the PIPELINED keyword in its declaration. The producer function must use an OUT parameter that is a r ...
Oracle的在线重定义表功能 (转)
- 博客分类:
- Oracle 开发
http://blog.itpub.net/post/468/12855(转)
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24 系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表 ...
SQL> CREATE TABLE TT AS SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE IN ('TABLE','INDEX','FUNCTION');--创建原表表已创建。SQL> EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE('ADMIN', 'TT', DBMS_REDEFINITION.CONS_USE_PK);--检测是否可以进行重定义BEGIN DBMS_REDEFINITION.CAN_REDEF_TABLE('ADMIN', 'TT', DBMS_REDEFINITION.CONS_U ...
这两天发现开发用的数据库,在运行一些小的DML事务时,会经常出现log buffer space的事件,然后增大了redo log为300M 4组,调整了log buffer参数后仍然出现。问了下高手说,磁盘的I/O慢。
也没得出啥好的解决方案。
列下Oracle 对 redo log 相关等待事件的解释:
1.log buffer spaceWaiting for space in the log buffer because the session is writing data into the log buffer faster than LGWR can write it ...
Oracle 内存参数设置
- 博客分类:
- Oracle 管理
Oracle 在9i版本之前,需要对内存参数手动设置,由于系统的负载是动态变化的,很难设置一个合适的值。
在Oracle9i版本之后,有了自动内存管理的功能,大大方便了DBA的工作。只要对PGA,SGA,Log_buffer 三个参数值设置好,Oralce会根据系统的负载动态平衡各个参数的设置。
如何设置PGA的参数:
在Oracle EM 内存参数页面,可以查看Oracle 对于PGA的建议,这是Oracle对当前时间以来系统的负载预估出来相应的PGA及对当前系统的性能的提高比例。
也可以通过查询下面的表
SELECT PGA_TARGET_FOR_ESTIMATE / 1024 ...
Oralce 参数文件
- 博客分类:
- Oracle 管理
SQL> select * from v$version;--Oracle版本
BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE 10.2.0.1.0 ProductionTNS for 32-bit Windows: Version 10.2.0.1.0 - Prod ...
Oralce HWM的一点分析
- 博客分类:
- Oracle 优化
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Pro ...
Oracle 10.2 版本..
ALTER SYSTEM FLUSH BUFFER_CACHE
作用是清除数据库buffer cache中的数据,以下来自官方文档。
The FLUSH BUFFER_CACHE clause lets you clear all data from the buffer cache in the system global area (SGA).
Caution:
This clause is intended for use only on a test database. Do not use this clause on a produ ...
总结:
在测试结果来看,采用第一种写法能比较获得较好执行的效率。
以下是测试的结果:
DROP TABLE TT PURGE;
CREATE TABLE TT AS SELECT * FROM DBA_OBJECTS;--创建表DELETE TT WHERE OBJECT_ID IS NULL;SELECT COUNT(*) FROM TT;--51784
INSERT INTO TT SELECT * FROM TT;INSERT INTO TT SELECT * FROM TT;INSERT INTO TT SELECT * FROM TT;INSERT INTO TT ...
Oracle Append Hints
- 博客分类:
- Oracle 优化
APPEND HINTS 总结:
APPEND 属于direct insert。归档模式下append+table nologging会大量减少日志, 非归档模式append会大量减少日志,append方式插入只会产生很少的undo。
APPEND的优势:
一是减少对空间的搜索,直接在高水位之上插入。
二是NOLOGGING会大大减少redo log的产生。
缺点:
浪费空间,使表的空间占用量大大增加。除非表只增加不删除。
普通INSERT 默认会从delete掉的空块中插入数据。
--以下是是测试:
--O ...
--在archive log模式下,nologging针对以下操作可以有效减少redo size,但必须谨慎地使用这种模式
--因为操作不产生日志,若出现介质失败后,dba 无法完全地恢复数据库,必须谨慎小心使用nologging操作
--另外的测试,在NOARCHIVELOG 模式,nologging对create table是无效的,而对于create index还是能减少redo size
--NOLOGGING执行以下操作时可以执行
/*
*索引的创建和ALTER(重建)
*ISNERT APPEND,或者SQL*Loader直接路径加载。表数据不生成redo,但是表上的索 ...
Oracle 实时应用集群(RAC Oracle Real Application Clusters)可以使一个数据库运行在网格中多个集群节点上,即把多个计算机的处理能力作为池。
Oracle数据库10g的自动存储管理功能(ASM,Automatic Storage Management)在数据库与存储硬件之间建立了一个虚拟层,多个磁盘可以被视作一个磁盘组,
而且磁盘可以再保持数据库连接的状态下动态地添加或移除。现有的数据自动地在可用磁盘间分布,以便获得性能和利用效率的优化。
物理数据库结构概述
1.数据文件 数据文件包含所有的数据库数据。按表,索引等逻辑数据库结构组织的数据存储在数据库 ...