给你一个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