(一)描述
我们搭建好asm环境后,配置了asm磁盘组,那么怎么去使用asm磁盘组呢?
什么是asm?asm又是如何去管理数据文件的呢?
(二)omf管理数据文件
1.简单介绍omf
Oracle managed file的缩写,简单的理解,就是oracle自己管理自己的文件,可以是dbf,redolog 等等,具体可以参考官方文档Adiministrator中的17.Using Oracle Managed Files
asm环境默认使用omf来管理数据文件
omf 功能是一种自动化管理数据文件的方法,他可以使dba免于手动管理数据文件的创建和删除,而是由数据库自动完成这些操作
2.查看asm磁盘组信息
查看我们已经有的磁盘组,asmcmd lsdg 可以显示磁盘组状态,名称,可用大小等
在磁盘组里新建表空间就可以使用这个磁盘组了
3.查看当前有的数据文件信息
查看已有的数据文件信息,都是安装的时候默认的表空间,看数据文件名称,这些数据文件在asm磁盘组里
4.查看是否启用了omf管理数据文件
asm环境默认是使用omf管理的数据文件,数据文件命名就像上图+DGSYSTEM/omccdb/datafile/users.259.1148476969,而不是以.dbf结尾的数据文件
db_create_file_dest有值,说明是开起了omf自动管理
show parameter db_create
(三)如何使用asm磁盘组
1.创建表空间,指定磁盘组
用户可以使用已有的,修改用户默认表空间即可
------表空间创建
create TABLESPACE oatest datafile '+DGDATA1' size 20m autoextend on ;
------用户创建
create user oatuser IDENTIFIED by oatuser123 DEFAULT TABLESPACE oatest ;
------用户权限(为了方便给了dba)
grant connect,resource,dba to oatuser;
------查看刚创建的数据文件
select file_name,file_id,tablespace_name,autoextensible,online_status
from dba_data_files where tablespace_name='OATEST';
------查看新建用户的默认表空间
select username,default_tablespace from dba_users where username ='OATUSER';
这里我看还有人这样写datafile '+DGDATA1/ RACDB/DATAFILE/qiu02.dbf',自己命名数据文件,真多此一举,靠贝了,人家omf自动管理的,明明非要搞个独特的。
查看我们刚创建的表空间对应的数据文件
2.增加表空间数据文件
直接加磁盘组名称就可以,不用写后面的具体文件名oatest.258.1148550107,会自动生成
alter tablespace OATEST add datafile '+DGDATA1' SIZE 20m autoextend on ;
注意: db_create_file_dest这里的值是+DGSYSTEM,这个参数是数据文件和临时文件默认存放的地址,如果在增加数据文件的时候不指定磁盘组
例如 alter tablespace OATEST add datafile size 20m; 这样就会在+DGSYSTEM磁盘组下创建数据文件
3.删除表空间
同时删除表空间和对应的数据文件
drop tablespace oatest including contents and datafiles;
收藏吃灰灰!!