如何把dmp文件导入数据库中?
2023-06-06 · 百度认证:重庆猪八戒网络有限公司官方账号
假设你的数据库是tg(这个库最好不要是生产库),上面有个用户a有imp的权限,你的dmp文件是d.dmp,为减少版本不一致的麻烦,建议最好在tg服务器上倒入,倒入要在操作系统提示符下操作(要注意可执行文件的搜索路径),用下面命令可以先生成一个日志文件imp.log,看一下dmp文件的字符集、有哪些表空间、数据文件的位置
impa/a用户的登录口令file=d.dmpshow=yfull=ylog=imp.log
1.日志文件里会有dmp数据的字符集,如果与你现有数据库字符集不同,最好分析一下,建议不要倒入了,重新建个库,字符集与dmp的相同
2.如果这个dmp是用full=y生成的,日志文件里会有表空间数据文件的路径,从它你大概可以猜到他是windows还是unix,如果与tg服务器操作系统不一样,因为路径问题,必需先建好表空间;如果操作系统一样,那你必需在相应的盘符(win)下,建好相应的路径,到时候会自动建立好表空间
3.如果这个dmp是用owner参数生成的,日志文件会告诉你他的owner是什么,那你必需先建好这些用户,并赋予一定的权限
4.前面工作做完后就可以用下面命令倒入
impa/a用户的登录口令file=d.dmpfull=ylog=imp_1.logresumable=yresumable_timeout=86400
因为你不知道这个dmp倒入后会使用多少表空间,因此加了个resumable=y参数,这个参数表示当你倒入时,如果表空间不足以放下dmp中的数据,他会等待你86400秒去解决空间问题,如果在这个时间内解决了空间问题,倒入继续,如果没解决,则报错