oracle文件管理OMF

来源:互联网 发布:兄弟连 云计算教程 编辑:程序博客网 时间:2024/05/16 03:23

OMF是为了简化对数据文件的管理,靠参数DB_CREATE_FILE_DEST实现:

如果定义了DB_CREATE_FILE_DEST,则创建表空间就不需要制定数据文件位置、文件名称,数据文件会按照固定创建到特定位置,在删除表空间的时候对应的数据文件也会删除。


在文件系统不使用OMF时候,那么参数DB_CREATE_FILE_DEST参数为空:

SQL> show parameter db_create_file_destNAME     TYPE VALUE------------------------------------ ----------- ------------------------------db_create_file_dest     string

在没有使用OMF的时候,创建表空间必须要制定数据文件的位置,否则会报错:

SQL> create tablespace kel;create tablespace kel                    *ERROR at line 1:ORA-02199: missing DATAFILE/TEMPFILE clause

如果此时制定数据文件位置,那么即可创建:

SQL> create tablespace kel datafile '/home/oracle/oradata/kel/kel.dat' size 10M;Tablespace created.

在没有使用OMF的时候,删除表空间,不会自动删除数据文件

SQL> drop tablespace kel;Tablespace dropped.
查看数据文件的时候,数据文件没有被删除,依然存在:

[oracle@kel kel]$ ls -l kel.dat -rw-r----- 1 oracle oinstall 10493952 Jun 29 19:33 kel.dat

要想同时删除掉数据文件,必须使用子句including contents and datafiles 或者使用操作系统的删除命令rm -rf datafilename

SQL> drop tablespace kel including contents and datafiles;Tablespace dropped.


文件系统使用OMF时候,必须启用参数DB_CREATE_FILE_DEST

启用OMF:

SQL> alter system set db_create_file_dest='/home/oracle/oradata/kel/';System altered.SQL> show parameter db_create_file_destNAME     TYPE VALUE------------------------------------ ----------- ------------------------------db_create_file_dest     string /home/oracle/oradata/kel/

创建表空间:

SQL> create tablespace kel;Tablespace created.

查看数据文件命名:

SQL> select name from v$datafile;NAME--------------------------------------------------------------------------------/home/oracle/oradata/kel/system01.dbf/home/oracle/oradata/kel/undotbs01.dbf/home/oracle/oradata/kel/sysaux01.dbf/home/oracle/oradata/kel/users01.dbf/home/oracle/oradata/kel/KEL/datafile/o1_mf_kel_9v1mj9rv_.dbf

删除表空间时,数据文件会自动删除:

SQL> drop tablespace kel;Tablespace dropped.SQL> !ls -l /home/oracle/oradata/kel/KEL/datafiletotal 0



0 0
原创粉丝点击