“只有DBA才能导入由其他DBA导出的文件”各种解决办法
当oracle导入的时候出现“只有 DBA 才能导入由其他 DBA 导出的文件”的时候通常有以下几种解决办法!
1:常见的是直接grant dba to youuser到导入用户即可
2:利用sysdba账户登录导入,但是要指定fromuser 和touser,因为默认是导入到登录用户中去(不可能导入的sysdba账户吧。。)
此处注意转换(\')的语法:imp \'sys/oracle11g as sysdba \' file=/home/oracle/20130906.dmp fromuser=yccw05 touser=yccwtest
3:利用date_only方式导入,进入oracle控制台(如果ssh登录数据库服务器的话 或者 本机cmd控制台)后依次输入命令来导入
1)imp (回车)
2)sys as sysdba (此时让你输入sysdba的用户名)
3)oracle11g (输入口令)
4)yes (仅导入数据 (yes/no): no > yes)
5)服务器:/home/oracle/20130906.dmp,本机:c:\20130906.dmp (导入文件expdat.dmp >)
6)20000 (输入插入缓冲区大小-最小为8192 ,任意输一个大于8192的数字即可)
5)no (只列出导入文件的内容 (yes/no): no ,如果输入yes后面可能会报“ 参数 "SHOW" 在 data_only 模式下无效”)
6)yes (由于对象已存在,忽略创建错误(yes/no): yes ,导入之前最好删掉用户然后重新分配表空间和权限这样是最好的也不会提示这项,我习惯直接删除view/seq/table/produre/indexes/function等。省的分配空间。。。 )