表空间的本地管理(Local Management Tablespace)与字典管理(Dictionary Management TableSapce)的转化与常见错误

1.       如何改变表空间的区的管理方式

 

  把本地管理的表空间(Local Extent Management

改成字典管理的表空间(Dictionary Extent Management

需要使用过程

DBMS_SPACE_ADMIN.Tablespace_MIGRATE_FROM_LOCAL( tablespace_name IN VARCHAR2)

把要更改的表空间的名字输入就行了

 

  把字典管理的表空间(Dictionary Extent Management

改成本地管理的表空间(Local Extent Management

需要使用过程

DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(

Tablespace IN VARCHAR2,//表空间名

UNIT_SIZE IN POSITIVE DEFEALT NULL,//单位尺寸

        Rfno IN INTGER DEFAULT NULL);//表空间数据文件的文件编号

 

 

默认系统表空间是local管理,10g)

 

  1  create tablespace dic2

  2  datafile '/u02/app/oracle/oradata/ora10g/dic201.dbf'

  3  size 30m extent management dictionary;

 

ERROR at line 1:

ORA-12913: Cannot create dictionary managed tablespace

 

Oracle9.2.0起,默认系统表空间是local管理,因此不能在数据库中建立数据字典管理的表空间。
如果想要建立数据字典管理的表空间,必须在建立数据库时,将系统表空间改为数据字典管理才可以。

当然在系统表空间是Dictionary管理的,那却是可以在该数据库中创建Local表空间,也可以相互转化管理方式。

 

execute DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL('DIC');

 

ERROR at line 1:

ORA-10616: Operation not allowed on this tablespace

ORA-06512: at "SYS.DBMS_SPACE_ADMIN", line 216

ORA-06512: at line 1   

         

也是因为系统表空间的管理方式是Local Management Tablespace

所以不能执行上面的语句;

 

 

( 系统表空间是Dictionary管理)

 

execute dbms_space_admin.tablespace_migrate_to_local('SYSTEM');

 

ORA-10643: Database should be mounted in restricted mode and Exclusive mode

//提示数据库不在restricted模式下
ORA-06512: at "SYS.DBMS_SPACE_ADMIN", line 216
ORA-06512: at line 1

这个的系统表空间管理是Dictionary的,所以可以执行管理方式的更改

shutdown immediate
startup restrict

execute dbms_space_admin.tablespace_migrate_to_local('SYSTEM');

 

 

ORA-10647: Tablespace other than SYSTEM,UNDOTBS1, TEMP not found in read only mode

--除了SYSTEM,UNDOTBS1,TEMP外其它表空间必须readonly模式,这个也会检查.

--临时表空间没有办法readonlyoffline,如果不理会临时表空间的话,也会提示错误.所以只能删掉,在完成后再重建。
ORA-06512: at "SYS.DBMS_SPACE_ADMIN", line 216
ORA-06512: at line 1

 

一切完成后再执行

execute dbms_space_admin.tablespace_migrate_to_local('SYSTEM');

再将所有的表空间改为可读可写,最后重建临时表空间。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值