查询,创建,扩充表空间&&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