ORACLE10g学习笔记(三)

1. 数据库字符集

通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,一般情况下的做法是重建数据库。

 

查看方式
Show Parameters;
找到NLS_LANG参数

 

2. 存储单元简介

      Oracle表空间(tableSpace)、段 (segment)、盘区(extent)、块(block),这些都是Oracle用来保存数据库对象的分配单元。

段
    就是数据库对象,它消耗存储空间,如表、索引、回滚段等。当创建表的时候,将创建一个表段,当创建一个分区表时,即在每个分区上创建一个段,当创建索引 时,将创建一个索引段,每一个消耗存储空间的对象最终被存储在一个单一的段中,有回滚段,临时段,聚簇段、索引段等。一个段可以拥有来自许多不通数据文件 中的盘区。

    段本身由一个或多个盘区组成,盘区在文件中一个连续的分配空间,每个段至少开始于一个盘区,一些对象可能至少需要2个盘区(例如回滚段)。各个盘区之间并不要求正好相邻。

 

      盘区由块组成,一个块是在Oracle中空间分配的最小单元,是Oracle读写磁盘的对象,Oracle中的块通常有3个常见的大小 ,2K ,4K,8K。

一个段是由一个或多个盘区所组成,一个盘区是由一些连续分配的块。

 

      表空间是一个容器,它保存段,每一个段恰好属于一个表空间,一个表空间可以有多个段,给定段的所有盘区将在与该段相关的表空间中。

 

存储层次结构如下:
1)、数据库由一个或多个表空间组成。
2)、表空间由一个或多个数据文件组成,一个表空间包含段。
3)、段由一个或多个盘区组成,段存在于表空间中,但在表空间中可以有许多数据文件中的数据。
4)、盘区是在磁盘上连续的块的组,一个盘区在一个表空间中,而且总是在表空间中单一的文件中。
5)、块是数据库中最小的分配单元,块是数据库使用的最小的I/O单元。

 

3. UNDO表空间预热

自动管理模式(Automatic Undo Management)

undo_tablespace     指名系统使用哪一个重做表空间。
undo_suppress_errors  被设置成true时表示系统创建和使用回滚段时忽略错误。
undo_retention  系统提交后,回滚段的数据保留多长时间,单位是秒。
当系统被设置成menual后,这几个参数被忽略。

 

 manual管理模式
系统根据如下几个步骤确认online的rollback segment的数量:
初始化参数rollback_segments
初始化参数transactions、transactions_per_rollback_segment
与menual相关的初始化参数
rollback_segments 指定实例启动时所需要的回滚段
transactions 指定系统中最大的并发事务数
transactions_per_rollback_segment 指定每一个回滚段支持的并发数
max_rollback_segments 指明系统支持的最大的online的回滚段数目

 

Undo 表空间大小的设计规范的计算公式
Undospace = UR * UPS *db_block_size+ 冗余量
UR: 表示在undo中保持的最长时间数(秒),由数据库参数UNDO_RETENTION值决定。
UPS:表示在undo中,每秒产生的数据库块数量。

 

和undo有关的动态性能视图v$undostat 包含undo的统计信息。使用这张视图可以估计系统当前所需的undo大小。
v$rollstat 是undo模式的视图。是undo表空间的undo segments的统计信息
v$transaction 包含undo segments的信息。
dba_undo_extents 包含undo表空间中每一个范围的提交时间。

 

和回滚段相关的性能视图

DBA_ROLLBACK_GEGS 描述回滚段的信息,包含回滚段的名字和表空间;
DBA_SEGMENTS 描述回滚段的附加信息;
V$ROLLNAME 列出在线回滚段的名称
V$ROLLSTAT 包含回滚段的统计信息
V$TRANSACTION 包含撤销的统计信息

 

你可能感兴趣的:(设计模式,数据结构,oracle)