Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • When error comes for temporary tablespace with version <= 9i Oracle
  • Small sample shell program Linux/Unix
  • grep multuple patterns Linux/Unix
  • Move WordPress site from one hosting service to other. PHP/MYSQL/Wordpress
  • get_vmstat_linux Oracle
  • Renaming the column name Oracle
  • Flowers Resize datafiles Oracle
  • Mutating Table Error while using database trigger Oracle
  • SQL_PROFILE – I explaination Oracle
  • Vivek’s egrep commands to trace problem. (on linux x86-64) Linux/Unix
  • Rename Oracle Instance Name Oracle
  • Standby Database File Management in 10g with STANDBY_FILE_MANAGEMENT Oracle
  • New OFA for 11g Oracle
  • Drop tempfiles from database Oracle
  • how to find VIP from ifconfig Linux/Unix

Locally Managed Tablespace and Dictionary managed tablespace (LMT-DMT)

Posted on 19-Aug-2005 By Admin No Comments on Locally Managed Tablespace and Dictionary managed tablespace (LMT-DMT)

BENEFITS of Locally Managed Tablespaces

—————————————

Locally managed tablespaces track all extent information in the tablespace

itself, using bitmaps, resulting in the following benefits:

* Improved concurrency and speed of space operations, because space allocations

and deallocations predominantly modify locally managed resources (bitmaps

stored in header files) rather than requiring centrally managed resources

such as enqueues

* Improved performance, because recursive operations that are sometimes

required during dictionary-managed space allocation are eliminated

* Readable standby databases are allowed, because locally managed temporary

tablespaces (used, for example, for sorts) are locally managed and thus do

not generate any undo or redo.

* Simplified space allocation when the AUTOALLOCATE clause is specified,

appropriate extent size is automatically selected

* Reduced user reliance on the data dictionary because necessary information

is stored in file headers and bitmap blocks

RESTRICTIONS of Having a Locally Managed SYSTEM Tablespace

———————————————————-

After the SYSTEM tablespace is created/migrated to locally managed:

1/ ANY dictionary-managed tablespaces in the database CANNOT be made READ WRITE.

If you want to be able to use the dictionary-managed tablespaces in

READ-WRITE mode, Oracle recommends that you first migrate these tablespaces

to locally managed before migrating the SYSTEM tablespace.

Example of an inescapable situation :

SQL> select t.tablespace_name, EXTENT_MANAGEMENT, ENABLED

2 from dba_tablespaces t, v$datafile d, dba_data_files f

3 where t.tablespace_name = f.tablespace_name

4 and f.file_id = d.file#;

TABLESPACE_NAME EXTENT_MAN ENABLED

—————————— ———- ———-

SYSTEM LOCAL READ WRITE

UNDOTBS1 LOCAL READ WRITE

USERS DICTIONARY READ ONLY

SQL> alter tablespace users read write;

alter tablespace users read write

*

ERROR at line 1:

ORA-12915: Cannot alter dictionary managed tablespace to read write

Now if you want to migrate the USERS tablespace to local management to

switch it to READ WRITE afterwards, it becomes impossible:

SQL> execute sys.DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(‘USERS’);

BEGIN sys.DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(‘USERS’); END;

*

ERROR at line 1:

ORA-03245: Tablespace has to be dictionary managed, online and permanent

to be able to migrate

ORA-06512: at “SYS.DBMS_SPACE_ADMIN”, line 0

ORA-06512: at line 1

SQL> select tablespace_name, extent_management, allocation_type

2 from dba_tablespaces;

TABLESPACE_NAME EXTENT_MAN ALLOCATIO

—————————— ———- ———

SYSTEM LOCAL USER

UNDOTBS1 LOCAL SYSTEM

TEMP LOCAL UNIFORM

USERS DICTIONARY USER

We should have migrated the USERS tablespace to LOCAL before the SYSTEM

tablespace.

2/ You cannot create new DICTIONARY managed tablespaces :

SQL> create tablespace USERS

2 datafile ‘/filer/9.0.2/djeunot/DB1/users01.dbf’ size 2M

3 extent management dictionary;

create tablespace USERS

*

ERROR at line 1:

ORA-12913: Cannot create dictionary managed tablespace

3/ You cannot migrate a LOCALLY managed SYSTEM tablespace back to DICTIONARY:

SQL> execute sys.DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL(‘SYSTEM’);

BEGIN sys.DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL(‘SYSTEM’); END;

*

ERROR at line 1:

ORA-03251: Cannot issue this command on SYSTEM tablespace

ORA-06512: at “SYS.DBMS_SPACE_ADMIN”, line 0

ORA-06512: at line 1

Oracle, SQL scripts

Post navigation

Previous Post: True Session Wait Activity in Oracle 10g Verygood
Next Post: Good Link from metalink 1

Related Posts

  • SQL_PLAN.sql for checking real execution plan Oracle
  • How to find the real execution plan and binds used in that explain plan in Oracle 10g?? Oracle
  • SYSOPER Mystery Oracle
  • executing Function from SQLPLUS prompt Oracle
  • TRUNCATE Privs Oracle
  • UTL_FILE test program Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (395)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (343)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • prepfiles.sh for step by step generating pending statistics files10-Mar-2026
  • tracksqltime.sql05-Mar-2026
  • Complete Git Tutorial for Beginners25-Dec-2025
  • Postgres DB user and OS user.25-Dec-2025
  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • RMAN : Consistent Backup, Restore and Recovery using RMAN Oracle
  • find_string_in_database.sql Oracle
  • chk_space_SID.ksh Linux/Unix
  • Add new columns in dataframe Python/PySpark
  • How to remove blank lines using vi editor command Linux/Unix
  • Removing Ctrl-M from end of line using vi Linux/Unix
  • Find All internal Parameters Oracle
  • findobj.sql Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme