文件自动管理机制,DBA在创建、维护数据库时,不需要直接指定文件的信息,这些文件有ORACLE数据库服务器自动指定,这些文件称为OMF文件(ORACLE MANAGED FILE).
在ORACLE的自动文件管理时,需要设置以下三个初始化参数
DB_CREATE_FILE_DEST:指定一个文件系统的目录或者磁盘目录,作为表空间中数据文件的默认存储位置。
DB_CREATE_ONLINE_LOG_DEST_N:为重做日志文件和控制文件指定默认位置。N(1~5)
DB_RECOVERY_FILE_DEST:为RMAN备份文件指定存储位置
文件的命名规则:存储位置/数据库名称/DATAFILE/ol_mf_%t(表空间名)_%u(长度为8字符的唯一字符串)_.dbf
创建OMF表空间,如果设置了DB_CREATE_FILE_DEST参数可以不指定数据文件的位置和大小,
如果SIZE指定了数据文件的初始大小,则必须使用AUTOEXTEND关键字指定它的自动扩展属性。 AUTOEXTEND ON (NEXT 1024K MAXSIZE 200M)
创建OMF日志组:J假设设置了参数DB_CREATE_ONLINE_LOG_DEST_1,DB_CREATE_ONLINE_LOG_DEST_2,..
则执行ALTER DATABASE ADD LOGFILE SIZE 50M; 即创建新的一个日志组。
自动存储管理
自动存储管理提供了卷管理器功能,DBA可以创建磁盘组,把多个磁盘以磁盘组的形式组织在一起,数据库中的文件将存储在磁盘组中。
利用自动存储管理功能,还可以实现磁盘的镜像和条带状划分,提高数据库性能和数据安全
ORACLE 11G还提供了集群文件系统(ASM CLUSTER FILE SYSTEM,ACFS),所有能存储在ASM磁盘组中的文件都不能存储在ACFS中。
使用ASM需要使用GI软件,,然后创建一个ASM实例,并在 ASM实例下创建磁盘组。
ASM实例可以利用命令行、EM、ASMCA工具等来创建。
oracle 提供了SRVCTL 对实例进行控制
SRVCTL STATUS ASM: ASM实例的状态
SRVCTL START ASM:启动ASM实例
SRVCTL STOP ASM:关闭ASM实例
创建磁盘组
CREATE DISKGROUP 磁盘组名 NORMAL REDUNDANCY
FAILGROUP FG1 DISK '****','*****';
删除磁盘组
DROP DISKGROUP DG1 (including contents);
磁盘组中添加磁盘
ALTER DISKGROUP DG1 ADD DISK '******' NAME DISK1;
删除磁盘组中的磁盘
ALTER DISKGROUP DG1 DROP DISK DISK1;
失败组中删除磁盘
ALTER DISKGROUP DG1 DROP DISKS IN FAILGROUP FG1;
取消删除磁盘操作
ALTER DISKGROUP DG1 UNDROP DISKS;
磁盘信息的查询
v$ASM_DISKGROUP
磁盘组的重新平衡
磁盘组的平衡能力从0 到11 分为12级,0表示停止平衡操作,11表示速度最快的平衡操作。
初始化参数 DB_POWER_LIMIT限制了可以使用的最高平衡级别。
例如 ALTER DISKGROUP DG1 REBALANCE POWER 3;
磁盘组的加载和卸载
ALTER DISKGROUP DG1 MOUNT/DISMOUNT;
目录管理
ALTER DISKGROUP DG1 ADD/DROP DIRECTORY '+DG1/DIR1'
RENAME DIRECTORY '****' TO '****';
别名管理
ALTER DISKGROUP DG1 ADD/delete ALLAS '******' FOR '******';
如何使用ASM磁盘组
与自动文件管理差不多,需要制定参数DB_CREATE_FILE_DEST='+DG1'
重做日志文件 需要制定餐宿DB_CREATE_ONLINE_LOG_DEST_N----> ALTER DATABASE ADD LOGFILE
创建数据库也很简单
设置了参数DB_CREATE_FILE_DEST='+DG1',DB_RECOVERY_FILE_DEST='+DG2',DB_RECOVERY_FILE_DEST_SIZE=500M------>CREATE DATABASE ORCL;