表碎片起因及解决办法
跟表碎片有关的基础知识:什么是水线(High Water Mark)? ---------------------------- 所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high water mark"或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水位,这也就是HWM的原始含义,当然不能说一
用OMF来简化数据库管理
Oracle9i带来了许多令人兴奋的新特性,操作系统级别上的Oracle的自动管理文件——即Oracle Managed Files(OMF)——就是其中之一。在Oracle9i出现之前,DBA必须在卸载表空间时手工移除数据文件(datafile)并在创建新的表空间之前仔细检查文件的位置。[@more@]Oracle9i带来了许多令人兴奋的新特性,操作系统级别上的Oracle的自动管理文件——即Oracle Managed Files(OMF)——就是其中之一。在Oracle9i出现之前,DBA必须在卸载表空间时手工移除数据文件(datafile)并在创建新的表空间之前仔细检查文件的位置。为了理解OMF是如何工作的,
隐含参数_allow_resetlogs_corruption
环境是:win98+orawin95;某天死机后,数据库打不开,现象如下:Oracle Server Manager Release 3.0.4.0.0 - Production(c) Copyright 1997, Oracle Corporation. All Rights Reserved.Oracle8 Personal Edition Release 8.0.4.0.0 - ProductionPL/SQL Release 8.0.4.0.0 - ProductionSVRMGR> connect internal已连接SVRMGR> startup;已起动 ORACLE 事例全部系统全局区域 22993044 字节Fixed Size 47252 字节Variable Size 6488064 字节Database Buffers 16384000 字节Redo Buffers 73728 字节已装入数据库ORA-01589: ??????????RESE
基于等待事件的性能诊断
等待事件(wait event)是oracle核心代码的一个命名部分,有两种类型的等待事件:空闲事件(idle event)与非空闲事件(non-idle event),空闲事件指oracle正在等待某种工作,常见的空闲等待事件:client message、null event、pipe get、pmon/smon timer、rdbms rpc message及sql*net等;非空闲等待事件:buffer busy waits、db file scattered read、db file sequential read、enqueue、free buffer waits、latch free、log file sync、log file paralle write等。[@more@]等待事件(wait event)是oracle核心代码的一个命名部分,有两种
oracle tune
(1) 调整的先后次序 1. Tune the design. -- Application designers 2. Tune the application. -- Application developers 3. Tune memory. --| 4. Tune I/O. |-- DBA 5. Tune contention. | 6. Tune the operating system. --| [@more@]1. Course Intraduction 0 2. Tuning overview 1 (1) 调整的先后次序 1. Tune the design. -- Application designers 2. Tune the application. -- Application developers 3. Tune memory. --| 4. Tune I/O. |-- DBA 5. Tune contention. | 6. Tune the operating system. --| (2) 调整的基点和主要的
Oracle数据库联机日志文件丢失处理方法
试验一:用命令清空日志组方法 1、查看原来表中数据SQL>; conn test/test Connected. SQL>; select * from test;[@more@]试验一:用命令清空日志组方法 1、查看原来表中数据SQL>; conn test/test Connected. SQL>; select * from test; TEL----------1 2 3 2、插入新数据SQL>; insert into test values(4);1 row created. SQL>; commit;Commit complete. SQL>3、 正常关闭数据库4、 利用os command删除所有redo文件5、 启动数据库SQL>; startup ORACLE instance started. Total System Global Are
监控数据库性能的SQL汇总
监控数据库性能的SQL汇总 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait group by event order by 4; 2. 回滚段的争用情况 select name, waits, gets, waits/gets "Ratio" from v$rollstat a, v$rollname b where a.usn = b.usn; [@more@]监控数据库性能的SQL汇总 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr&qu
Oracle 10g大文件表空间(转)
Oracle 10g 的存储能力有了显著的增强。这表现在很多方面,下面介绍 10g 新增的表空间类型:大文件 (Bigfile) 表空间。 大文件表空间从某种角度来说提高了 Oracle 在 VLDB 上的管理能力。 只有自动段空间管理的 LMT (Locally Managed Tablespaces ) 支持 BIGFILE 表空间。 大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。(以下用 BFT 指代 BIGFILE Tablespace。)[@more@]作者:Fenng 日期:27-Nov-2004 出处:http://www.dbanotes.net版本:0.1简单介绍Oracle 10g 的存储能力有了显著的增强。这表现在很多方面,下面介
redo buffer
~~~~~~~~~~~~~~~~~~~~~~~~ 发生写日志文件的条件~~~~~~~~~~~~~~~~~~~~~~~~1.Commit2.log Buffer is 1/3 full3.Checkpoint4.1 Meg of data in log buffer5.DBWR writes6.3秒钟[@more@]~~~~~~~~~~~~~~~~~~~~~~~~ 发生写日志文件的条件~~~~~~~~~~~~~~~~~~~~~~~~1.Commit2.log Buffer is 1/3 full3.Checkpoint4.1 Meg of data in log buffer5.DBWR writes6.3秒钟跟你redo生成的频率,和redo相关的latch相关可以查看latch命中率看是不是分配latch有瓶径redo entries --在log buffer中总的请求次数redo log space requests --在log buffer中的所
oracle联机热备份的原理
要求归档模式 SQL>; archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 14 Next log sequence to archive 16 Current log sequence 16[@more@]要求归档模式 SQL>; archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 14 Next log sequence to archive 16 Current log sequence 16 ------------- 先看用户管理的热备份
低级别的序列化的内存锁latch
什么是latch?latch是一种低级别的序列化的内存锁,用于保护SGA中的共享内存结构.(1)确保内核代码序列执行;(2)防止因缓存区崩溃导致的物理块的坏块任何内核代码在执行前,必须获取latch,执行完后释放latch.latch通常通过两种方式来获取:immediate和willing to wait.当进程以immeidate方式请求latch失败时,控制权将转会到进程并产生一次immediate miss;当进程以willing to wait方式请求latch时将以”spinning and sleeping”的循环方式重复请求获取latch,spin一次如果仍然不能得到latch则sleep一定间隔(间隔时间成指数级增长)直至获得latch或达
Oracle Advanced Performance Tuning Scripts
keeper.sqlMarking objects for keeping in the library cache is vital to library cache and shared pool performance. This script is intended to be run regularly from cron to automate keeping. It follows our "keep everything that moves" philosophy. It keeps all in-use keep-able database objects. It also keeps some often reused cursors early in the life of the instance, while more than 20% of the shared pool body is still reserved in permanent memory. It is smart enough to avoid keeping cur
Oracle Tables
Oracle Tables[@more@]GeneralTable Related Data Dictionary Objectstab$col$ DBAALLUSERdba_col_commentsall_col_commentsuser_col_commentsdba_external_tablesall_external_tablesuser_external_tablesdba_external_locationsall_external_locationsuser_external_locationsdba_partial_drop_tabsall_partial_drop_tabsuser_partial_drop_tabsdba_tablesall_tablesuser_tablesdba_tab_colsall_tab_colsuser_tab_colsdba_tab_columnsall_tab_columnsuser_tab_columnsdba_tab_col_statisticsall_tab_col_statisticsuser_tab_col_statist
Oracle10g释放flash_recovery_area
ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.[@more@]ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.*************************************************************You have the following choices to free up space fromflash recovery area:1. Consider changing your RMAN retention policy.If you are using dataguard, then consider changing yourRMAN archivelog
监控索引的使用
如何监控索引的使用? 研究发现,oracle数据库使用的索引不会超过总数的25%,或者不易他们期望被使用的方式使用。通过 监控数据库索引的使用,释放那些未被使用的索引,从而节省维护索引的开销,优化性能。[@more@]如何监控索引的使用? 研究发现,oracle数据库使用的索引不会超过总数的25%,或者不易他们期望被使用的方式使用。通过 监控数据库索引的使用,释放那些未被使用的索引,从而节省维护索引的开销,优化性能。 1、在oracle8i中,确定使用了那个索引的方法意味着要对存在语共享SQL区中的所有语句运行EXPLIAN PALN,
Oracle 锁简单介绍
ORACLE数据库是现今数据库领域应用最广泛的,同时它也是一个庞大的系统,全面了解它、玩转它不但需要一定的理论知识,更需要开发经验与工程经验。本人是ORACLE一爱好者,以下是本人对ORACLE锁的一些经验,希望能与大家共同分享。[@more@]ORACLE数据库是现今数据库领域应用最广泛的,同时它也是一个庞大的系统,全面了解它、玩转它不但需要一定的理论知识,更需要开发经验与工程经验。本人是ORACLE一爱好者,以下是本人对ORACLE锁的一些经验,希望能与大家共同分享。 预备知识: DDL(DATABASE DEFINITION LANGUAGE):数据库定义语言,
技术专题总结:standby Database (三)
在通常的情形下,standby database是处于 recovery状态的。但是在 opened read-only 或者 activeated 之后可以 access standby database 中的 data。 [@more@]四、Opening/Activating a standby database 在通常的情形下,standby database是处于 recovery状态的。但是在 opened read-only 或者 activeated 之后可以 access standby database 中的 data。 1. opening standby database read-only: 当 standby database 被 opened read-only 时,数据只能处于读取状态。 因为 standby database被opened 成为 read-only mod
技术专题总结:standby Database (二)
Oracle Standby Database 的建立过程并不复杂,但建立过程的相关设置取决于建立standby database 的目的。例如,如果建立standby database 是为了 disaster protection,standby database 就不能建立在与 primary database 相同服务器上面。如果是为了 protection against data corruption,在standby database 接收到 primary database 送来的 archived log files 时,apply 需要晚上一段,比如三个小时,或是六个小时。这样当 primary database出现错误的时候,standby database 不会与primary database 同步。[@more@] 二、Standby da
技术专题总结:standby Database (一)
当chao_ping提议我开一个STANDBY DATABASE技术专题讨论的时候,我本来是想专门就STANDBY DATABASE的技术方面进行讨论的。看罢三十余篇的跟贴,实在感到有必要在深入技术问题之前,先说一些题外的话,虽然这些是与技术无关的话题,但对于从业IT界的打工者来说,却是一个首先应该考虑的问题。[@more@]前言 当chao_ping提议我开一个STANDBY DATABASE技术专题讨论的时候,我本来是想专门就STANDBY DATABASE的技术方面进行讨论的。看罢三十余篇的跟贴,实在感到有必要在深入技术问题之前,先说一些题外的话,虽然这些是与技术无关的话题,但
ORACLE 乱码问题的解决
使用sqlplus连接oracle数据库的时候,老是出现????一类的字符,主要是因为 服务器和客户端语言设置不相同。日文环境下 服务器端的设置为 JA16SJIS,客户端没有作设置就出现了上述现象。请将环境变量设值为[csh]setenv NLS_LANG American_Japan.JA16SJIS[bash]export NLS_LANG=American_Japan.JA16SJIS对应的中文代码可以在上一篇东亚语言列表里面找。oracle 10g[csh]setenv RA_NLS10 $ORACLE_HOME/nls/data[bash]export ORA_NLS10=$ORACLE_HOME/nls/dataoracle 9i[csh]setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/data[bash]export ORA_NL