zoukankan      html  css  js  c++  java
  • Locally managed (LMT) vs. Dictionary managed (DMT) tablespace

    The LMT is implemented by adding the extent management local clause to the tablespace definition syntax. Unlike the older dictionary managed tablespaces (DMTs), LMTs automate extent management and keep the Oracle DBA from being able to specify the next storage parameter to govern extent sizes. The only exception to this rule is when NEXT is used with minextents at table creation time.

     

    In a dictionary managed tablespace (DMT), the data dictionary stores the free space details.  While the free blocks list is managed in the segment heard of each table, inside the tablespace), the Free space is recorded in the sys.uet$ table, while used space in the sys.uet$ table. 

     

    But with high DML-rate busy tablespaces the data dictionary became a I/O bottleneck and the movement of the space management out of the data dictionary and into the tablespace have two benefits.  First, the tablespace become independent and can be transportable (transportable tablespaces).  Second, locally managed tablespaces remove the O/O contention away from the SYS tablespace.

    Segment size management manual vs segment size management auto.

     

    Here is how to migrate the SYSTEM tablespace from dictionary managed to local managed.

     

    < Code   2.20 ? dbms_space_admin_mig_to_local.sql


    conn pkg/pkg#123

    --How to migrate SYSTEM tablespace from dictionary managed to locally managed

    --Check if you have temporary tablespace other than SYSTEM

    col file_name for a40

    select

       file_name,

       tablespace_name

    from

       dba_temp_files;

    col tablespace_name for a30

    select

       tablespace_name,

       contents

    from

       dba_tablespaces

     where

        contents = 'temporary';

    --Check if undo tablespace is online (if you are using automatic undo management)

    select

     tablespace_name,contents

      from

     dba_tablespaces

     where

     contents = 'undo';

    --Put all tablespace in read only mode (do not include temporary tablespace or tablespaces that has rollback segments)

    select

       ?alter tablespace '||tablespace_name||' read only;'

    from

       dba_tablespaces

    where

       contents <> 'temporary'

    and

       contents <> 'undo'

    and

       tablespace_name not in ('SYSTEM','SYSAUX');

     

    'ALTER TABLESPACE'||TABLESPACE_

    -----------------------------------------------------------

    alter tablespace  users read only;

    alter tablespace  example read only;

    alter tablespace  apps_ts_tx_data read only;

    alter tablespace  pkg_data read only;

    alter tablespace  pkg_idx read only;

    alter tablespace  pkg_data_32M read only;

    alter tablespace  pkg_idx_32M read only;

    alter tablespace  pkg_data_32M_manual read only;

     

     

    --Put the database in restricted mode

    alter system enable restricted session;

     

    System altered

     

    col host_name for a20

    select

       instance_name,

       host_name,

       logins

    from

       v$instance;

     

    INSTANCE_NAME    HOST_NAME            LOGINS

    ---------------- -------------------- ----------

    ora11g           dbms.f2c.com.br      restricted

     

    --Change the SYSTEM tablespace

    exec dbms_space_admin.tablespace_migrate_to_local('SYSTEM');

     

     

     

    --Verify the tablespace extent management

    select

       tablespace_name,

       extent_management

    from

       dba_tablespaces

    where

       tablespace_name = 'SYSTEM';

     

    TABLESPACE_NAME                EXTENT_MANAGEMENT

    ------------------------------ -----------------

    SYSTEM                         local

     

    --Disable restricted mode

    alter system disable restricted session;

     

    System altered

     

    --Put tablespaces in reead write mode

    select

       'alter  tablespace ' || tablespace_name || ' read write;'
    from

       dba_tablespaces
    where

       contents <> 'temporary'
    and

       contents <> 'undo'
    and

       tablespace_name not in ('SYSTEM', 'SYSAUX');

     

    'ALTERTABLESPACE'||TABLESPACE_

    ------------------------------------------------------------

    alter  tablespace users read write;

    alter  tablespace example read write;

    alter  tablespace apps_ts_tx_data read write;

    alter  tablespace pkg_data read write;

    alter  tablespace pkg_idx read write;

    alter  tablespace pkg_data_32M read write;

    alter  tablespace pkg_idx_32M read write;

    alter  tablespace pkg_data_32M_manual read write;

     

    http://www.dba-oracle.com/t_packages_dbms_lmt_vs_dmt.htm

  • 相关阅读:
    javaweb学习总结(二十四)——jsp传统标签开发
    javaweb学习总结(二十三)——jsp自定义标签开发入门
    javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
    javaweb学习总结(二十一)——JavaWeb的两种开发模式
    javaweb学习总结(二十)——JavaBean总结
    javaweb学习总结(十九)——JSP标签
    javaweb学习总结(十八)——JSP属性范围
    JavaWeb学习总结(十七)——JSP中的九个内置对象
    javaweb学习总结(十六)——JSP指令
    javaweb学习总结(十五)——JSP基础语法
  • 原文地址:https://www.cnblogs.com/seasonzone/p/4875051.html
Copyright © 2011-2022 走看看