Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • grep multuple patterns Linux/Unix
  • to see when crontab is changed. Linux/Unix
  • database trigger failing Oracle
  • Committing distributed transaction using commit force Oracle
  • block_ident.sql Oracle
  • Oracle vs MYSQL Architecture differences (For DBAs) MYSQL
  • To see only files and/or folders using LS command Linux/Unix
  • tblwopk.sql /* Find Tables Without PK */ Oracle
  • db_status.sql Oracle
  • currwait.sql Oracle
  • More info about /proc folder and its relation with processes. Linux/Unix
  • Unix command for system configuration Linux/Unix
  • executing Function from SQLPLUS prompt Oracle
  • Good notes for shared pool Oracle
  • pvm_pre_change.sql Oracle

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

  • cur_sql.sql Oracle
  • sid_wise_cursor.sql find open cursor basis on username or SID Oracle
  • V$CONTROLFILE_RECORD_SECTION reference notes. Oracle
  • How can I tell if ASO is installed ? Oracle
  • Check Oracle installed products using one command Oracle
  • New OFA for 11g 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 (403)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (350)
  • SQL Server (6)
  • Uncategorized (5)
  • Videos (0)

Recent Posts

  • Key Management in Oracle: The Core Issue: Missing Master Key12-May-2026
  • SAT Mathematics 10 questions and answer at the end.30-Apr-2026
  • top 10 AI news today30-Apr-2026
  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sql23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • exp syntax in oracle 10g Oracle
  • Rename Tablespace Oracle
  • Removing Blank lines from file using grep Linux/Unix
  • Find nth max and min. Oracle
  • Implementing Listener Security Oracle
  • shutdown linux Linux/Unix
  • Gathering statistics with DBMS_STATS Oracle
  • How to change hostname in Linux Linux/Unix

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme