zoukankan      html  css  js  c++  java
  • oracle文件管理OMF

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

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


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

    SQL> show parameter db_create_file_dest
    
    NAME				     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_dest
    
    NAME				     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/datafile
    total 0



    for linux and python
  • 相关阅读:
    2018.4.23 深入理解java虚拟机(转)
    2018.4.23 git常用操作命令收集(转)
    2018.4.23 设计模式的一些总结
    2018.4.23 pip使用
    2018.4.23 git命令总结
    2018.4.23 git删除已经add的文件
    2018.4.17 VFS
    记北京第一次跳槽
    RocketMQ存储机制01-存储文件组织与内存映射
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/kellyseeme/p/5525158.html
Copyright © 2011-2022 走看看