oracle存储结构管理,管理ORACLE存储结构

  • Post author:
  • Post category:其他


物理存储结构:

数据文件

有3部分组成:头部、区间(已经分配的空间use_space)和空闲空间(free_space)

操作系统快(operating system block)

是文件系统使用的最小分配单元,每个文件系统都具有自己的最小容量和默认容量。

逻辑存储结构;

逻辑存储结构:

resserver.php?blogId=41801&resource=aaa.jpg

表空间:

system,sysaux,undo

systemb 表空间包括数据字典;数据字典描述数据库自身结构、数据库中所有对象、

用户以及角色的若干内部表。

system表空间是数据库中字典所处的位置。如果没有system表空间,那么数据库就无法运作。

分隔参与资源争用的数据:

在插入和更新操作期间,某个表及其索引通常能够被同时访问,因此为了不出现瓶颈现象,

最好将它们放置在不同的硬盘上。解决这个问题的一个方法是先创建两个不同的表空间(data与index)来保存数据,然后再将每个表空间的数据文件放在不同的硬盘上。通过上述方式,我们能够同时更新这个表及其索引,并且不会出现资源争用的情况。

分隔具有不同存储要求的对象

将较小的表与较大的表分别保存在不同的表空间内,这样能够提供更好的空间管理与性能。

将不同的分区存储在不同的表空间内

对数据进行分区的一个优点是能够改善查询的性能。将每个分区都放置在一个单独的表空间内,并且每个表空间的数据文件最好在一个单独的硬盘上。通过这种方式,ORALCE就能够在满足查询条件的情况下从多个硬盘中同时读取数据。

表空间的内容

permanent segment(如表和索引)

temporary segment(如排序操作)

undo segment(撤销段,保存数据被修改前的映象)

查找默认表空间和临时表空间

select user_name ,default_tablespace,temporary_tablespace

from dba_users;

segment

segment是数据库中要求存储的对象,如一个表或一个索引。view不是段,而是能够便于访问表中存储数据的预写查询。

数据库中要求存储的任何对象都被归类为段;

sql>select distinct segment_type from dba_segments;

表空间内的区管理

区间是为某个段分配的若干邻近数据块的集合,我们可以在表空间内地管理区(首先),也可以对区间进行字典管理;

extent management local segment space management auto;

将字典管理表空间迁移为本地区空间管理

dbms_space_admin.tablespace_migrate_to_local

如何重命名数据文件

1:当在一个盘符上的存储空间不够的时候,这个时候需要移动某一个或几个数据文件到另外一个盘符上;首先将数据库关闭,让后启动到MOUNT,在RENAME之前,要将需要移动的数据文件复制(host move)到需要移动的地方;最后启动数据库到OPEN;在打开数据库以后在验证数据文件的名字,状态。

sql> connect as sysdba;

sql>shutdown immediate;

sql> startup mount ;

sql> hots move c:oracleoradatapengpeng01.ora d:peng01.ora

sql>alter database rename file ‘c:oracleoradatapengpeng01.dbf ‘ TO ‘d:peng01.dbf ‘ ;

sql> alter database open;

sql>select name,status from dba_users;[@more@]