zoukankan      html  css  js  c++  java
  • 使用OMF特性

    Oracle 的OMF全称“Oracle managed file”,关于这个概念的参考请自行查阅Oracle官方文档“Using Oracle-Managed Files”(http://download.oracle.com/docs/cd/B19306_01/server.102/b14231 /omf.htm#ADMIN003)。关于这项体现Oracle自动化演进的特性的评价褒贬不一。咱不讨论是否推荐在生产系统中引入这项技术,我们一同看一下这个技术带给我们的乐趣。
    1.确认系统是否启用OMF特性
    Oracle数据库是否启用OMF特性可以通过查看DB_CREATE_FILE_DEST参数来获得。
    当DB_CREATE_FILE_DEST参数值为空时表示未启用OMF功能。

    sys@ora10g> show parameter db_create_file_dest
    NAME                 TYPE                 VALUE
    -------------------- -------------------- -------------------
    db_create_file_dest  string


    2.开启OMF特性
    通过修改数据库参数使其生效。方法很多,按照个人喜好进行调整(pfile调整方法,alter system调整参数)。

    sys@ora10g> alter system set db_create_file_dest='/oracle/oradata';
    System altered.
    sys@ora10g> show parameter db_create_file_dest
    NAME                  TYPE                 VALUE
    --------------------- -------------------- ------------------
    db_create_file_dest   string               /oracle/oradata


    3.使用OMF特性创建表空间

    sys@ora10g> create tablespace tbs_secooler;
    Tablespace created.


    4.数据文件存放位置
    此时Oracle会在/oracle/oradata目录下以数据库实例的大写名字(这里是ORA10G)创建一个目录,表空间对应的数据文件会存放在datafile目录下。

    sys@ora10g> !ls -l /oracle/oradata/ORA10G/datafile
    total 102512
    -rw-r----- 1 oracle oinstall 104865792 Jul 15 05:59 o1_mf_tbs_seco_63x8xzvw_.dbf


    5.表空间的默认属性

    sys@ora10g> select dbms_metadata.get_ddl('TABLESPACE','TBS_SECOOLER') from dual;
    DBMS_METADATA.GET_DDL('TABLESPACE','TBS_SECOOLER')
    ---------------------------------------------------------------------
      CREATE TABLESPACE "TBS_SECOOLER" DATAFILE
      '/oracle/oradata/ORA10G/datafile/o1_mf_tbs_seco_63x8xzvw_.dbf' SIZE 104857600
      AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
      LOGGING ONLINE PERMANENT BLOCKSIZE 8192
      EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO


    可见,通过OMF方式创建的表空间默认是100M大小,并且是自动扩展的。
    6.添加数据文件
    可以简单的通过下面的命令为表空间tbs_secooler添加一个数据文件

    sys@ora10g> alter tablespace tbs_secooler add datafile;
    Tablespace altered.
    sys@ora10g> select dbms_metadata.get_ddl('TABLESPACE','TBS_SECOOLER') from dual;
    DBMS_METADATA.GET_DDL('TABLESPACE','TBS_SECOOLER')
    ---------------------------------------------------------------------
      CREATE TABLESPACE "TBS_SECOOLER" DATAFILE
      '/oracle/oradata/ORA10G/datafile/o1_mf_tbs_seco_63x8xzvw_.dbf' SIZE 104857600
      AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M,
      '/oracle/oradata/ORA10G/datafile/o1_mf_tbs_seco_63x9scb5_.dbf' SIZE 104857600
      AUTOEXTEND ON NEXT 104857600 MAXSIZE 32767M
      LOGGING ONLINE PERMANENT BLOCKSIZE 8192
      EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO
    sys@ora10g> !ls -l /oracle/oradata/ORA10G/datafile
    total 205024
    -rw-r----- 1 oracle oinstall 104865792 Jul 15 05:59 o1_mf_tbs_seco_63x8xzvw_.dbf
    -rw-r----- 1 oracle oinstall 104865792 Jul 15 06:14 o1_mf_tbs_seco_63x9scb5_.dbf


    7.删除表空间数据文件会随之删除

    sys@ora10g> drop tablespace tbs_secooler;
    Tablespace dropped.
    sys@ora10g> !ls -l /oracle/oradata/ORA10G/datafile
    total 0

    这个特性曾经一度让人们欢呼雀跃。
    8.小结
    Oracle的OMF特性很少被大规模的应用。原因很多,个人认为OMF虽然带来了操作上的些许便利,但是它隐藏了一些必要细节,同时表空间名字与数据文件名字很难快速建立起对应关系,为后期的管理带来了极大的不便。大家可以在实际环境酌情使用这项技术。
    Good luck.
    -- The End --

  • 相关阅读:
    es6 javascript对象方法Object.assign()
    在vue中使用axios实现跨域请求并且设置返回的数据的格式是json格式,不是jsonp格式
    Vue中应用CORS实现AJAX跨域,及它在 form data 和 request payload 的小坑处理
    nvm、nzm、npm 安装和使用详解
    Win7系统出现提示: “Windows已遇到关键问题,将在一分钟后自动重新启动......
    npm安装/删除/发布/更新/撤销发布包
    web前端性能优化总结
    一道经典面试题-----setTimeout(function(){},0)和引发发的其它面试题
    渐进增强和优雅降级之间的区别在哪里?
    大学物理(上)期中考试参考答案
  • 原文地址:https://www.cnblogs.com/Kconnie/p/4679013.html
Copyright © 2011-2022 走看看