oracle导入导出常见问题及解决方案

一、导出

1.导出命令     exp 用户名/密码@实例名 file=路径

2.出现问题:空表不能导出,

  解决方案:
 
--查找空表
SELECT TABLE_NAME FROM USER_TABLES WHERE NUM_ROWS=0
--批量生成“构建针对空表分配空间的命令语句”
SELECT 'ALTER TABLE '||TABLE_NAME||' ALLOCATE EXTENT;' FROM USER_TABLES WHERE NUM_ROWS=0 OR NUM_ROWS IS NULL;

 

批量执行完上面生成的语句后重新导出便可以。

二、导入

1、

前期条件:用system 新建一个用户,赋予 connect dba权限。

遇见的问题:用这个用户在ob11 中已normal的权限可以登录成功,但是用pl/sql中用normal权限无法登录 提示“ora 01017 用户名 口令无效 登录被拒绝” 但是可以用dba的权限登录,

问题原因:解除了用户的锁定,

解决方案: 使用 system 重置改用过的密码(密码可以也修改前一直)

修改密码:alter user  用户名 identified by 新密码;

扩展:不知是不是pl/sql的bug???

2、

今天要导入一个人有别人发过来的数据库备份,结果出现如下问题:

百度了一下原因,主要是一个DBA用户权限问题,导出数据的用户拥有DBA权限,而我要导入的用户没有这个权限而已

解决的办法由两个,一个是把导出的用户DBA权限去掉,重新导出,另一个就是给要导入的用户加上DBA权限啊。我们在这边当然是要解决第二种了

方法如下:

         先用 sqlplus,填写用户和密码,然后 grant dba  to username;(username是用户名)

这样授权成功,在重新导入,即可

导入DMP步骤

cmd下  imp 用户名/密码@orcl file=路径\文件名.DMP  full=y

 

posted on 2017-09-15 22:35  小呀么小二郎  阅读(556)  评论(0编辑  收藏  举报

导航