oracle学习笔记

 
oracle企业管理器: http://localost:1518/em
1.数据块是Oracle逻辑存储结构中最小的逻辑单位,也是执行 数据库输入输出操作的最小存储单位,通常oracle数据块是 操作系统块的整数倍,如操作系统是2048B,oracle数据块的大小为8192B,则表示oracle数据块由4个操作系统块构成,其大小呗写入到初始化参数DB_BLOCK_SIZE中,oracle支持使用多种大小的块,与标准块大小不同的块就是非标准块。
SQL> col name format a30;
SQL> col value format a20;
SQL> select name,value from v$parameter where name = 'db_block_size';
首先格式化name和value列的大小,以方便在同一行显示,然后使用select获得db_block_size的值,该值就是标准数据块的大小。

块中存放表的数据和索引的数据,无论存放哪种类型的数据,块的格式都是相同的,块由块头(header/Common and Variable),表目录(Table Directory),行目录(Row Directory),空余空间(Free Space)和行数据(Row Data)五部分组成,
如下图所示。 

165826302.jpg

块头(header/Common and Variable):存放块的基本信息,如:块的物理地址,块所属的段的类型(是数据段还是索引段)。 表目录(Table Directory):存放表的信息,即:如果一些表的数据被存放在这个块中,那么,这些表的相关信息将被存放在“表目录”中。

行目录(Row Directory):如果块中有行数据存在,则,这些行的信息将被记录在行目录中。这些信息包括行的地址等。

行数据(Row Data):是真正存放表数据和索引数据的地方。这部分空间是已被数据行占用的空间。

空余空间(Free Space):空余空间是一个块中未使用的区域,这片区域用于新行的插入和已经存在的行的更新。

头部信息区(Overhead):我们把块头(header/Common and Variable),表目录(Table Directory),行目录(Row Directory)这三部分合称为头部信息区(Overhead)。头部信息区不存放数据,它存放的整个块的信息。头部信息区的大小是可变的。一般来说,头部信息区的大小介于84字节(bytes)到107字节(bytes)之间。

数据区是由一组连续的oracle数据库所构成的oracle存储结果,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个段,当一个段的中的所有空间被使用完后,oracle系统自动为该段分配一个新的数据区,具有扩展功能,段是一个独立的逻辑存储结构,由数据段、索引段、回滚段、临时段等组成,在执行CREATE INDEX、SELECT ORDER BY、SELECT DISTINCT、SELECT GROUP BY等几种类型的SQL语句时,oracle系统会在临时表空间中为这些语句的从左分配一个临时段,在数据库管理过程中,若经常需要执行这类SQL语句,最好调整SORT_AREA_SIZE的初始化参数来增大排序区,从而使排序操作尽量在内存中完成,以获得更好的执行效率,但同时这对数据库服务器的内存提出了更大的要求。

oracle表空间将相关的逻辑结构(如段、数据区等)组合在一起,表空间是数据库的最大逻辑划分区域,通常用来存放数据表,索引,回滚段等数据对象,一个表空间由一个或多个数据文件组成,一个数据文件只属于一个表空间,oracle在逻辑上表现为表空间,而在物理上表现为物理文件。

1.system 表空间

system表--系统表空间,用于存放oracle系统内部表和数据字典的数据,如表名,列名,用户名等

SQL> col table_name format a30;
SQL> col comments format a30;
SQL> select * from dict; --通过dict查看数据库中数据字典的信息
通过v$fixed_view_definition 查看数据库中内部系统表的信息
SQL> col view_name format a30;
SQL> col view_definition format a30;
SQL> select * from v$fixed_view_definition;
2.sysaux 表空间
辅助system表空间的使用
3. uodo表空间
4.users表空间:用户表空间

 

你可能感兴趣的:(oracle,企业管理)