1. 物理结构与逻辑结构
1)物理结构
oracle数据库的物理结构由控制文件、数据文件、联机redo日志文件、参数文件、归档日志文件和密码文件组成。
@1 控制文件夹:包含维护和验证数据库完整性的必要信息,其中记录了数据库的物理结构。例如:控制文件用于识别数据文件和redo日志文件。
每个oracle数据库都有相应的控制文件,一个数据库至少需要有一个控制文件,控制文件数据为二进制文件。控制文件的命名格式通常为ctl*.ctl
@2 数据文件:存储数据点的文件
@3 联机redo日志文件:包含对数据库所做的更改记录,一个数据库至少有两组联机redo日志文件。
联机redo日志文件也叫在线重做日志文件或联机重做日志文件。
@4 参数文件:定义oracle实例的特性,分为SPFILE和PFILE两种类型的文件。
@5 归档文件:归档文件是联机redo日志文件的脱机副本,这些归档文件对于介质恢复很重要。
@6 密码文件:认证那些用户有权限启动和关闭oracle的实例
2)逻辑结构
oracle数据库在逻辑结构上讲数据存储在表空间上,在物理上讲数据文件存储在数据文件中。
1.数据库:一个数据库由多个表空间组成,也可以说,多个不同类型的表空间组成一个数据库。
2.表空间:数据库中的基本逻辑结构,一系列的额数据文件的集合。
3.段:对象在数据库中占用的空间。
4.区:为数据一次性预留的一个较大的存储空间。
5.块:oracle最小的基本存储单位。
2. oracle系统和非系统表空间
1)系统表空间
随着数据库创建被创建
包含数据字典信息
包含系统回滚段
2)非系统表空间
不同的segments分开存放(如:回滚段、临时段、应用数据)
控制分配给用户对象的空间容量
3. 表空间
1)本地管理的表空间
自由扩展信息被记录在本身的位图中
位图中的每一位都对应一个数据块或一组数据块
位图中的标志位显示数据块使用或未使用状态信息
简化了数据字典中的内容,空间分配和回收不产生回滚信息,没有合邻接extents(区)的要求
本地管理的表空间的创建
create tablespace 名字
datafile '路径' size 大小
extent management local;
2)字典管理的表空间
缺省的表空间管理方式
自由扩展信息被记录在数据字典中
这个现在不用了已经
创建命令
create tablespace 名字
datafile '路径' size 大小
extent management dictionary
default storage ( initial 1M next 1M ); #初始化1M,下一个1M
3)UNDO回滚段表空间
用来回滚段信息,不能包含其他对象
extents本地管理
在创建时只能使用DATAFILE和EXTENT、MANAGEMENT条件
创建undo表空间的命令
create undo tablespace 名字
datafiles '路径' size 大小;
4)temp临时表空间
用来做排序操作,不能包含固定的对象,最好使用本地表空间管理
创建临时表空间的命令
create temporary tablespace 名字
tempfile '路径' size 大小
extent management local;
4. 删除表空间
从数据字典中删除表空间信息,通过and datafiles条件可以在操作系统上删除表空间的数据文件。
drop tablespace 名字
including contents and datafiles;
5. 改变表空间大小
增加一个数据文件或改变数据文件大小(自动、手动)。
1)手动改变数据文件大小
alter database datafile '路径' resize 大小;
2)在表空间中增加一个数据文件
alter tablespace 名字
add datafile '路径/新建的文件名' size 大小;
6. 移动数据文件(修改表空间)
表空间必须处于下线状态,目标数据文件必须存在
命令
alter tablespace 名字
rename
datafile '之前的路径'
to '新的路径';
7. 获取表空间的信息
表空间信息:dba_tablespaces、v$tablespace
数据文件信息:dba_data_files、v$datafile
临时文件信息:dba_temp_files、v$tempfile