oracle dmp文件与表空间大小的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle dmp文件与表空间大小的问题相关的知识,希望对你有一定的参考价值。

我拿到了一个200多兆大小的dmp文件,我导入到oracle数据库中后,表空间自增涨为26G,我看了一下用户下有600多张表,大部分都是空的,请问都有哪些原因会导致表空间这么大,怎么能把表空间弄小一些么?

1.你表空间原来就25g了吧,和你导入的表应该没什么关系,具体可以查dba_Extents表看看表占用的空间情况。
2.表空间大表示你数据存的比较多,或者是dml操作比较多。
3.表空间还是不要弄小的好,如果你可以保证以后表空间里面不会有数据进来了,不会有update操作了,那么可以尝试缩小以下,否则没有必要。追问

我就是想搭建一个环境,所以数据量不会很大了,想把表空间缩小。不知道需要怎么弄?

参考技术A 基本上没有压缩,与原数据大小差不多。 参考技术B 1、创建临时表空间
create temporary tablespace user_temp
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2、创建数据表空间
create tablespace user_data
logging
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
3、导入导出
imp username/passwd@orcl file=D:\oracle\oradata\bak.dmp full=y ignore=y
exp username/passwd@orcl file=D:\oracle\oradata\bak.dmp full=y
ip导出方式: exp username/passwd@ip:1521/orcl file=D:\oracle\oradata\bak.dmpfull=y
参考技术C 你原来的数据库就26G吧,用ue修改一下dmp文件 修改一下datafile大小就ok了追问

请问需要怎么处理?能具体详细点么?

参考技术D 高水位线的问题吧追问

额,能说详细点么?

oracle的dmp文件可以导入到别的表空间吗

参考技术A 1、可以用sed修改dmp文件,正常导入
sed -i 's/TEST_TS/USERS/g' a.dmp
2、dmp文件包含导出时候表空间的信息,导入时候如果没有创建相应的表空间会提示表空间不存在
3、如果几个表导出,导入时将错误忽略 ignore=y即可
4、用transport_tablespace参数
exp transport_tablespace=y tablespaces=(TEST_TS) file=b.dmp
imp transport_tablespace=y file=b.dmp datafiles=/data1/oracle/test.dbf本回答被提问者和网友采纳

以上是关于oracle dmp文件与表空间大小的问题的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库有dmp备份文件,怎么把备份的dmp文件恢复?

dmp文件大小数据文件大小

Oracle 导入DMP 出错

Oracle 导入DMP 出错

oracle dmp导入后还需要建立表空间吗?

oracle中用一个用户导出的dmp文件中含有多个表空间,怎么用该用户将这个文件再导入数据库