admin管理员组

文章数量:1642448

--在数据库迁移过程中,担心新库中担心存储不够,统计下数据量大小。

缺发现有空间需要shrink,  但是报错了, 表示默认表空间不允许shink.


SQL> select 6, tablespace_name,bytes/1024/1024/1024 from dba_data_files
  2  where tablespace_name='TBDATA_DEFAULT'
  3  union all
  4  select 6, tablespace_name,sum(bytes)/1024/1024/1024 from user_segments
  5  where tablespace_name='TBDATA_DEFAULT'
  6  group by tablespace_name
  7  ;
 
         6 TABLESPACE_NAME                BYTES/1024/1024/1024
---------- ------------------------------ --------------------
         6 TBDATA_DEFAULT                             2361.125
         6 TBDATA_DEFAULT                                   90
 
SQL> alter tablespace TBDATA_DEFAULT shrink space;
 
alter tablespace TBDATA_DEFAULT shrink space
 
ORA-12916: cannot shrink permanent or dictionary managed tablespace
 
SQL> 


--那么我们改变默认表空间

SQL> col file_name format a50;
SQL> select * from dba_data_files;
 
FILE_NAME                                             FILE_ID TABLESPACE_NAME                     BYTES     BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE   MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS
-------------------------------------------------- ---------- ------------------------------ ---------- ---------- --------- ------------ -------------- ---------- ---------- ------------ ---------- ----------- -------------
+DG01DATA/unicom/datafile/system.263.889796403              1 SYSTEM                         1555038208     474560 AVAILABLE         1024 YES            1407374882 4294967293          320 1554933350      474528 SYSTEM
+DG01DATA/unicom/datafile/sysaux.264.889796407              2 SYSAUX                         2967470080      90560 AVAILABLE         1024 YES            1407374882 4294967293          320 2966421504       90528 ONLINE
+DG01DATA/unicom/datafile/undotbs1.265.889796409            3 UNDOTBS1                       1974992896     602720 AVAILABLE         1024 YES            1407374882 4294967293          160 1974888038      602688 ONLINE
+DG01DATA/unicom/datafile/undotbs2.267.889796431            4 UNDOTBS2                       4482662400     136800 AVAILABLE         1024 YES            1407374882 4294967293          160 4481613824      136768 ONLINE
+DG01DATA/unicom/datafile/users.268.889796431               5 USERS                          1938554880      59160 AVAILABLE         1024 YES            1407374882 4294967293           40 1937506304       59128 ONLINE
+DG01DATA/unicom/datafile/tbdata_default.272.88985          6 TBDATA_DEFAULT                 2535238664   77369344 AVAILABLE         1024 YES            1407374882 4294967293         8192 2535234469    77369216 ONLINE
7763                                                                                                                                                                                                               
 
 
6 rows selected
 
SQL> 
SQL> select username,default_tablespace,temporary_tablespace
  2  from dba_users
  3  where username = 'UNICOMIDMP'
  4  ;
 
USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
UNICOMIDMP                     TBDATA_DEFAULT                 TEMP
 
SQL>  alter user unicomidmp default tablespace users;
 
User altered
 
SQL> 
SQL>  select username,default_tablespace,temporary_tablespace
  2  from dba_users
  3  where username = 'UNICOMIDMP'
  4  ;
 
USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
UNICOMIDMP                     USERS                          TEMP
 
SQL> 



--执行shrink

SQL> alter tablespace TBDATA_DEFAULT shrink space;
 
alter tablespace TBDATA_DEFAULT shrink space
 
ORA-12916: cannot shrink permanent or dictionary managed tablespace


--还是报错。


说明不是默认表空间的问题。

而是字典表空间无法shrink。,并且要求自动增长的。 system表空间也是无法shrink



本文标签: shrinkORApermanentTablespacemanaged