新建了一个表空间KK,指定文件名为KK.DBF,大小为1024M
用户UTC的默认表空间为KK.DBF
现在在dos下用imp导入数据,为什么导进去的数据不是在KK.DBF里而是在USERS01.DBF里?
问题1:如果把导入USERS01.DBF里的数据删除,我用drop tablespace KK including contents and datafils ,只删除了KK.dbf,再导的时候就提示违反唯一性了。
问题2: 怎样才能把数据导在KK.DBF里?
问题3:如果不能把数据导在KK。DBF里,那建表空间的意义何在呢?
刚入门,菜菜,谢谢先。
用户UTC的默认表空间为KK.DBF
现在在dos下用imp导入数据,为什么导进去的数据不是在KK.DBF里而是在USERS01.DBF里?
问题1:如果把导入USERS01.DBF里的数据删除,我用drop tablespace KK including contents and datafils ,只删除了KK.dbf,再导的时候就提示违反唯一性了。
问题2: 怎样才能把数据导在KK.DBF里?
问题3:如果不能把数据导在KK。DBF里,那建表空间的意义何在呢?
刚入门,菜菜,谢谢先。
用户UTC的默认表空间为KK.DBF
现在在dos下用imp导入数据,为什么导进去的数据不是在KK.DBF里而是在USERS01.DBF里?
可能原因:导出的数据的表空间为users,且用户UTC是否拥有unlimited tablespace权限,revoke unlimited tablespace from utc;
收回权限再尝试问题1:如果把导入USERS01.DBF里的数据删除,我用drop tablespace KK including contents and datafils ,只删除了KK.dbf,再导的时候就提示违反唯一性了。
删除了KK tablespace和users tablespace一点关系都没有,所以删除KK表空间不影响刚才导入的数据重新导入的时候加上参数ignore=y等,就可以了
只列出导入文件的内容(yes/no):no>no
由于对象已经存在,忽略创建错误>yes
导入权限>yes
导入数据表>yes
导入整个数据文件>no
用户名:(此处我输入了一个,与导入库的用户名一样,在本机也建了个同样的用户名,默认表空间为KK)
系统是:SYSDBA和SYSOPER (之前有unlimited tablespace权限,现在删除了)但此时导入会提示没有KK.dbf的权限,奇怪哦
这样就可以导入到用户缺省表空间
SQL> create user bjbbs identified by passwd
2 default tablespace bjbbs
3 temporary tablespace temp
4 /User created.
SQL> grant connect,resource to bjbbs;Grant succeeded.SQL> grant dba to bjbbs;Grant succeeded.SQL> revoke unlimited tablespace from bjbbs;Revoke succeeded.SQL> alter user bjbbs quota 0 on users;User altered.SQL> alter user bjbbs quota unlimited on bjbbs;User altered.SQL> exit
再重新导入
这句是什么意思呢?
但是出现了另一个问题:
UNDOTBS01.DBF 这个表也跟着非常大,快跟上我导进去的数据了
这又是怎么回事呢?