当前位置:操作系统 > Unix/Linux >>

查询,创建,扩充表空间&&impdp----表空间大全

查询,创建,扩充表空间&&impdp----表空间大全
 
按schemas导入成功的关键是:导入的环境和源数据环境里面的表空间大小,表空间名字,需要一模一样
 
(当然,表空间大小创建到和源数据环境里面ues_size大小就可以了)
 
查询表空间总的大小、使用量,未使用量:
 
SELECT A.TABLESPACE_NAME,

       A.FILENUMBER,

       ROUND(A.TBSCURRENTSIZEINMB/1024, 2) TOTAL_SIZE_G,

       ROUND(B.SEGMENTSIZEINMB/1024, 2) USED_SIZE_G,

       ROUND((A.TBSCURRENTSIZEINMB-B.SEGMENTSIZEINMB)/1024, 2) FREE_SIZE_G,

       ROUND(NVL(B.SEGMENTSIZEINMB, 0) / A.TBSCURRENTSIZEINMB, 4) * 100 CAPACITYUSED

  FROM (SELECT TABLESPACE_NAME,

               COUNT(1) FILENUMBER,

               SUM(BYTES) / 1024 / 1024 TBSCURRENTSIZEINMB

          FROM DBA_DATA_FILES

         GROUP BY TABLESPACE_NAME) A,

       (SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024 SEGMENTSIZEINMB

          FROM DBA_SEGMENTS

         GROUP BY TABLESPACE_NAME) B

WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)

    --AND (A.TABLESPACE_NAME LIKE '%ODSREP%' OR  A.TABLESPACE_NAME LIKE '%DMREP%' OR A.TABLESPACE_NAME LIKE '%BLREP%')

   --AND B.SEGMENTSIZEINMB / A.TBSCURRENTSIZEINMB < 0.5

   --AND A.TBSCURRENTSIZEINMB > 10 * 1024

   --AND a.tablespace_name LIKE 'BLAP%'

  AND A.TABLESPACE_NAME NOT LIKE '%UNDO%'

ORDER BY CAPACITYUSED

;

 

 
源数据环境和导入环境的表空间不一致,则需要创建,或者扩充。
 
创建表空间:
 
CREATE  TABLESPACE test_data
LOGGING
DATAFILE  ' /opt/oracle/OraBase/oradata/bean/TEST_DATA.dbf '  
SIZE 20480M 
AUTOEXTEND  OFF;

 

 
注:关闭自动增长,datafile是系统按照你给的路径自动创建的,(最大为32000M-----这点不正确,但是我不知道怎么查询允许的最大数据文件的大小????????)
 
查询数据文件属于哪个表空间:
 
select file_name,file_id,tablespace_name,bytes/1024/1024 from dba_data_files order by file_name

 

 
扩充表空间:
 
1.改变数据文件大小
 
  SQL> alter database datafile '/home/oracle/oradata/gldb/users01.dbf' resize 32000m;

  Database altered.

 

 
2.添加数据文件到表空间
 
  SQL> alter tablespace users add datafile '/home/oracle/oradata/gldb/users02.dbf' size 10000m;

  Tablespace altered.

 

 
缩小表空间:
 
1.改变数据文件大小
 
2.删除表空间里面的数据文件
 
alter tablespace test drop datafile 'E:\oracle\product\10.2.0\oradata\orcl\test02.dbf' ;
(这里就需要用到:查询数据文件属于哪个表空间)
 
两边的表空间环境调整为一致,接下来就可以impdp了!!
 
impdp '"/ as sysdba"' directory=dump_dir dumpfile=wtadmin_tcfg_20121123.dmp JOB_NAME=asu1 logfile=imp_wtadmin.log schemas=wtadmin parallel=1;

 

注意:查看日志文件! tail -f logfile
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,