包含标签 Internal 的文章

ROWID唯一性

在oracle数据库中rowid是唯一的吗,或许很多人第一反应都是这么认为。这种说法其实并不准确,应该说在oracle 8以前,在整个数据库层面rowid是唯一的,而从oracle 8开始,在数据库层面rowid并不是全局唯一的,针对表空间来说,存储在其中的数据的rowid则是相对唯一的。 我们知道在数据库中存放的每一条记录都有一个ROWID ,代表着这条记录在数据……

阅读全文

Automatic Memory Management简析

从11g开始引入了AMM(Automatic Memory Management)的概念,AMM管理了SGA+PGA的内存分配,它允许将内存在SGA和PGAs之间进行转移,你只需要指定MEMORY_TARGET一个参数即可,剩下的事情全部交给oracle自己来做。 这里首先解释几个名词: System global area (SGA) SGA是一组共享内存结构,作为SGA组件,包含了一个oracle实例中的数据和控……

阅读全文

Oracle Block Checksum

引入一段文档对于checksum的说明 A number calculated by the database from all the bytes stored in a data or redo block. If the DB_BLOCK_CHECKSUM initialization parameter is enabled, then the database calculates the checksum for every data file or online redo log block and stores it in the block header when writing to disk. The database can use the checksum value to check consistency. 数据块中的checksum值储存在每个块的第16个字节,可以通过bbed查看 BBED> set dba 5,131 DBA 0x01400083 (20971651 5,131) BBED> p kcbh struct kcbh, 20 bytes @0 ub1 type_kcbh @0 0x06 ub1 frmt_kcbh @1 0xa2 ub1 spare1_kcbh @2 0x00 ub1 spare2_kcbh @3 0x00 ub4 rdba_kcbh @4 0x01400083 ub4 bas_kcbh @8 0x0013f022 ub2 wrp_kcbh @12 0x0000 ub1 seq_kcbh @14 0x01 ub1 flg_kcbh @15 0x04 (KCBHFCKV) ub2 chkval_kcbh @16 0x2dd5 ub2 spare3_kcbh @18 0x0000 fl……

阅读全文