1.数据库由一个或多个表空间组成

2.表空间由一个或多个数据库文件组成,表空间中包含段

3.段(表、索引等)由一个或多个盘区组成。段存在于表空间中,但是表空间中可以有许多数据文件中的数据

4.块是数据库中最小的分配单位,最小的I/O单位

 

表空间

用户使用的最大逻辑存储结构

用户可以使用一个默认表空间和一个临时表空间

建表时若无指定表空间,则使用默认表空间存储表

建立表空间的命令:

CREATE TABLESPACE 表空间名 DATAFILE '数据文件(*.dbf)的绝对路径' SIZE 大小(如,100M)
 

段是用户建立的数据库对象的存储表示

用户建立的每个表都会有一个在表空间中存储的逻辑段

段有3个种类型:数据段、临时段 和 回滚段(也称为“撤销段”)

 

数据段:存放表示、索引、簇、表分区等常规应用数据

临时段:存放临时表、引起内存页交换的SQL语句等

回滚段:用于管理undo数据。

 

在表空间mytp1里面建立回滚段:

CREATE ROLLBACK SEGMENT tbs_rs01 TABLESPACE mytp1
STORAGE(INITIAL 100K NEXT 100K MINEXTENTS 10 OPTIMAL 1000K)

 

数据块

包括 数据标题块、表目录、行目录、自由空间 行数据

数据标题块 :存储数据类型(段类型)和块物理位置等信息
表目录 :在一个数据块中可以存储多个表中的数据。表目录告诉Oracke在数据块中存储了哪些表。
行目录 :告诉Oralce数据库中各行的物理位置
自由空间 :当第一次分配数据块时,该数据块只有自由空间,没有行数据。随着行被插入,自由空间就会变得越来越小,直到数据块被完全充满为止。
行数据 :这事数据块中实际存储数据行的地方。

重做日志文件

数据库的事物日志,仅用于恢复数据库
如果 关掉电源造成的实例失败, Oracle使用联机重做日志
如果 包含数据文件的磁盘发生永久性故障,使用归档的重做日志
如果 意外地丢失了一个表,或删除了一些关键信息,并且已提交了这些操作,可以通过联机重做日志和归档重做日志来恢复备份

每个数据库实例至少有2个重做日志文件组,每一个重做日志文件组,每个组都有一个单独的成员。
一般建议为每个实例创建至少4个重做日志文件组,每个组至少2个成员。将每个组成员物理地分开,确保每个组成员存储在不同的文件系统、不同的磁盘和不同的控制器等设备上
Oracle采用轮询方式写重做日志文件
每个日志组都会有一个唯一的序列号

当日志写满后,关闭日志文件,然后寻找另一个可用的日志文件,并对旧文件完成下面2项工作:
1、如果数据库处于archivelog模式,则通知ARCn进程将重做日志移动到所有已经定义并可使用的归档重做日志文件的位置
2、如果处于noarchivelog模式,则在重新使用重做日志前,DBWR进程需要将所有的数据改变写到数据文件中。该操作也需要在archivelog模式下进行。如果不在archivelog模式下,则直到DBWR进程处于归档模式之后,数据库才可以继续运行

使用alter database命令重做日志组的实例:

ALTER DATABASE ADD LOGFILE GROUP 日志组序号
('路径***_1.log',
'路径***_2.log',
'路径***_3.log') SIZE 100m;
 



删除日志组:
ALTER DATABASE DROP LOGFILE GROUP 日志组号;
但不允许对正在使用的日志组使用删除命令,之前需要强制切换日志组:
ALTER DATABASE SWITCH LOGFILE;

日志组相关视图:
v$logfile 重做日志文件状态
v$log 重做日志文件组的信息
v$log_history 重做日志的历史信息

 

 

 

 

 

 

评论
发表评论

您还没有登录,请登录后发表评论

crackcell
搜索本博客
存档
最新评论