给你一个dmp文件,怎么正确快速的导入到指定的新库新用户下?

dba必备技能:

给你一个dmp文件,怎么正确快速的导入到指定的新库新用户下?

比如目标库给你了:要求将提供的dmp,导入到新库的test用户和testtbs表空间下。

你需要了解的信息:

1.源端字符集和目标字符集是否匹配?–否则导入也可能是乱码。
2.dmp是expdp还是exp的?–才知道导入该用impdp还是imp
3.源dmp是按库,按用户,按表导出的?–源端一般导出的时候有dmp和log一起的,可以要一下,要不到再说。假设知道按某个用户u1吧,为了和上面的题目匹配要求导入新用户test下。
4.源数据占用表空间多大?–如果不知道,就参考dmp大小评估,比如dmp为50G,那表空间一般在2-5倍左右,可以考虑加8个10G的文件,最大可达256G,所以预先加几个数据文件,并保证自动扩展是更安全的。

如果一上来就导入的,就踩坑处理,比如https://blog.csdn.net/Aaron_ch/article/details/113007263,测试库随意,但在生产库可能就容易事故,慎行。

测试过程:

1.准备dmp目录:

SQL> select * from dba_directories;

OWNER DIRECTORY_NAME DIRECTORY_PATH

SYS ORADMP /oracle/dmp

2.准备dmp文件

我找了一个已有的测试随便导出一个dmp,我这里按表导。

如果自己建的用户,建表,就改成
[oracle@lnkf ~]$ expdp ‘/ as sysdba’ directory=oradmp schemas=GISTAR dumpfile=a1.dmp logfile=a1.log

[oracle@lnkf ~]$ expdp \'/ as sysdba\' directory=oradmp tables=gistar.an_odn dumpfile=a.dmp logfile=a.log Export: Release 11.2.0.4.0 - Production on Wed Oct 25 14:53:39 2023 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Starting "SYS"."SYS_EXPORT_TABLE_01": "/******** AS SYSDBA" directory=oradmp tables=gistar.an_odn dumpfile=a.dmp logfile=a.log Estimate in progress using BLOCKS method... Processing object type TABLE_EXPORT/TABLE/TABLE_DATA Total estimation using BLOCKS method: 715 MB Processing object type TABLE_EXPORT/TABLE/TABLE Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT Processing object type TABLE_EXPORT/TABLE/COMMENT Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS Processing object type TABLE_EXPORT/TABLE/TRIGGER Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . exported "GISTAR"."AN_ODN" 633.1 MB 2547167 rows Master table "SYS"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded ****************************************************************************** Dump file set for SYS.SYS_EXPORT_TABLE_01 is: /oracle/dmp/a.dmp Job "SYS"."SYS_EXPORT_TABLE_01" successfully completed at Wed Oct 25 14:54:13 2023 elapsed 0 00:00:33