存储结构 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
数据存储:
表空间和数据文件 :
逻辑 上是以 表空间 形式存在
物理 上 数据文件 形式存在
表空间和数据文件的关系: 一个表空间可以有多个数据文件,一个数据文件只能属于一个表空间 。 表空间由很多个逻辑数据块组成,参数为 db_block_size, 大小为 2-32K ,默认为 8k 。特定数目相邻数据块构成一个区 。
OMF ( oracle managed files 根据数据库对象而不是文件名指定文件操作)
1 、 db_create_file_dest: 定义数据文件和临时文件的默认文件系统目录的位置 。
2 、 DB_CREATE_ONLINE_LOG_DEST_n: 定义重做日志文件和控制文件的创建位置 。
3 、 DB_RECOVERY_FILE_DEST 定义 RMAN 备份位置 。
如不使用 OMF ,则操作都需要指明文件 如: create table test datafile='/home/oracle/01.dbf'
· 表空间的 管理方法: 1 、数据字典管理; 2 、本地管理(推荐)。
系统 预配置数据库中的表空间 :
system :管理 database 。需 dba 权限
sysaux:system 辅助表空间
temp :如果执行的 SQL 语句需要创建临时段(如大规模排序或创建索引),则可以使用临时表空间。默认且最好只有一个
undotabs1: 数据库服务器用于存储还原信息的还原表空间。在创建数据库时创建的
users: 用于存储永久用户对象和数据。在预配置数据库中, USERS 表空间是用于存储非系统用户创建的所有对象的默认表空间。对于 SYS 和 SYSTEM 用户(系统用户),默认的永久表空间依然是 SYSTEM 。
EXAMPLE: 包含创建数据库时可以安装的示例方案
创建表空间:( SQL )
CREATE BIGFILE TABLESPACE "T" DATAFILE '/u01/app/oracle/oradata/orcl/t01.dbf ' SIZE 10M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE 50M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO SEGMENT SPACE MANAGEMENT AUTO
注: SMALLFILE 小文件表空间(默认) , BIGFILE 大文件表空间
CREATE TEMPORARY TABLESPACE ,创建临时表空间
datafile 指定文件物理路径
size 表空间的大小
REUSE 该文件可以重用
AUTOEXTEND ON 开启自动扩展
NEXT 1M MAXSIZE 50M 下次增长 1M 最大 50M
LOGGING 记录日志 (默认) nologging 不记录日志
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M 区的管理是本地管理(默认是自动管理) ; 区空间不足的时候, 自动分配空间大小。
EGMENT SPACE MANAGEMENT AUTO 段 空间 的管理 manual 默认自动管理
表空间 管理
重命名 : rename
更改状态 :
Read Write (读写):表空间已联机,可进行读写。
Read Only (只读):可以完成(提交或回退)现有的事务处理,但是,不允许对表空间中的对象进一步执行数据操纵语言 (DML) 操作。
Offline (脱机): normal , immediate , temporary 三种
Eg : alter tablespace IT offline immediate ;
更改大小: add
通过向表空间添加数据文件 , 更改现有数据文件的大小
Eg : alter tablespace tt add datafile '/u01/tt02.dbf' size 10m;
删除表空间
1 、 表空间没有内容 : dorp tablespace 表空间名
2 、表 空间 有 内容 : 删除表空间和内容: dorp tablespace 表空间名 INCLUDING CONTENTS
如果数据文件没有启用 OMF ,则需要使用操作系统命令删除物理上的文件,如果使用 OMF ,会自动帮你 删除, 或者可以使用参数 including datafiles
存储选项
Thresholds (阈值)
默认阀值
指定阀值
禁用阀值
对表空间执行 其他 的操作
Add Datafile (添加数据文件)
Create Like (类似创建)
Generate DDL (生成 DDL ):生成用于创建表空间的数据定义语言 (DDL) 语句。
Make Locally Managed (设置为本地管理):单向,不可逆
Make Readonly (只读模式):停止对表空间的所有写操作。
Make Writable (可写模式):允许对表空间中的对象启动 DML 活动和其它写活动
Place Online (联机)
Reorganize (重组)
Run Segment Advisor (运行段指导)
Show Dependencies (显示相关性):显示此表空间依赖的对象,或依赖于此表空间的对象。
Show Tablespace Contents (显示表空间内容)
Take Offline (脱机):使当前联机的表空间不可用。
删除表空间
概述:必须具有 DROP TABLESPACE 系统权限才能删除表空间。删除表空间时,会删除关联数据库控制文件中的文件指针。如果使用 OMF ,删除数据文件
查看表空间信息
各个表空间对应的动态视图:
dba_tablespaces v$tablespace
dba_data_files v$datafile
dba_temp_files v$tempfile
Eg : desc tablespace; select * from v$tablespace
SELECT D.STATUS STATUS,
D.TABLESPACE_NAME NAME,
D.CONTENTS TYPE,
D.EXTENT_MANAGEMENT EXTENTMANAGEMENT,
TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99,999,990.900') TABLE_SIZE,
TO_CHAR(NVL(A.BYTES - NVL(F.BYTES, 0), 0) / 1024 / 1024,
'99999999.999') || '/' ||
TO_CHAR(NVL(A.BYTES / 1024 / 1024, 0), '99999999.999') USED,
TO_CHAR(NVL((A.BYTES - NVL(F.BYTES, 0)) / A.BYTES * 100, 0),
'990.00') RATE
FROM SYS.DBA_TABLESPACES D,
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, SUM(BYTES) BYTES
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME(+)
AND D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
AND NOT
(D.EXTENT_MANAGEMENT LIKE 'LOCAL' AND D.CONTENTS LIKE 'TEMPORARY');
ASM
概述
是 可移植的高性能集群文件系统
可管理 Oracle 数据库文件
可将数据分布到各个磁盘中以平衡负载
可镜像数据
功能和优点
对文件而不是逻辑卷进行条带化
提供联机重新配置磁盘和动态重新平衡功能
可用来调整重新平衡速度
为每个文件提供冗余
仅支持 Oracle 数据库文件
可识别集群
可自动安装