IMP数据到指定的表空间

一直以来,我都认为只要指定用户的默认表空间,向该用户导入数据时,会自动进入到默认表空间。后来发现从System导出的dmp文件在导入时,即使指定新用户的默认表空间,还是要往System表空间中导数据。

上网搜了一下,还是有解决方法的,常见的方法如下:

SQL> create user simis identified by qwer1234 default tablespace simis;

SQL> grant resource,connect to simis;

SQL> grant dba to simis;//DBA权限

SQL> revoke unlimited tablespace from simis;//撤销此权限

SQL> alter user simis quota 0 on system;//将用户在System表空间的配额置为0

SQL> alter user simis quota unlimited on simis;//设置在用户在simis表空间配额不受限。

 

经过上述设置后,就可以用imp导入数据,数据将会进入指定的myhuang表空间:

C:\Documents and Settings\myhuang>imp system/123456@vdb fromuser=lnxh tous

er=simis file=G:\myhuang\lnxh.dmp ignore=y grants=n

 

顺便说两个小问题:

1IMP-00003: 遇到 ORACLE 错误 1658

ORA-01658: 无法为表空间 simis 中的段创建 INITIAL 

通常这个问题可以通过Resize增加表空间数据文件大小来解决。

 

2)删除表空间

SQL> drop tablespace simis including contents and datafiles;

10g中实验,drop表空间之后,仍然需要手动去删除数据文件。

posted @ 2009-09-23 14:12  scott_zhou  阅读(845)  评论(0编辑  收藏  举报