SQL> create user myhuang identified by myhuang default tablespace myhuang;//先创建一个用户
SQL> grant resource,connect to myhuang;
SQL> grant dba to myhuang;// 赋 DBA 权限
SQL> revoke unlimited tablespace from myhuang;// 撤销此权限,这个位置很关键
SQL> alter user myhuang quota 0 on system;// 将用户在 System 表空间的配额置为 0
SQL> alter user myhuang quota unlimited on myhuang;// 设置在用户在 myhuang 表空间配额不受限。
经过上述设置后,就可以用 imp 导入数据,数据将会进入指定的 myhuang 表空间:
window下导入方法 C:/Documents and Settings/myhuang>imp system/123456@vdb fromuser=lnxh tous
er=myhuang file=G:/myhuang/lnxh.dmp ignore=y grants=n
linux 下导入方法:
imp aiocp2/aiocp2 file=aiocp_testfull2010_11_9.dmp fromuser=aiocp_test touser=aiocp2 tables=TB_UCUSTOMMENUS,THASMROLECURL tablespaces=users
顺便说两个小问题:
( 1 ) IMP-00003: 遇到 ORACLE 错误 1658
ORA-01658: 无法为表空间 MYHUANG 中的段创建 INITIAL 区
通常这个问题可以通过 Resize 增加表空间数据文件大小来解决。
( 2 )删除表空间
SQL> drop tablespace myhuang including contents and datafiles;
[个人补充]
如遇IMP -00003 : ORACLE error 1950 encountered.
ORA-01950 : no privileges on tablespace 'XXXXXXX'
说明你的表中有BLOB之类的字段,此类表无法导入新的表空间
网上说9i中此问题没有完美的解决方案,估计只能先建一个同名的表空间,然后把这个表移到新的表空间中
不知道10g和11g中是怎么样的,没有测试过
本文介绍如何在Oracle中创建用户、分配权限、调整表空间配额,并通过IMP命令导入数据到特定表空间的方法。同时,针对常见错误ORA-01658和ORA-01950提供了解决方案。
2137

被折叠的 条评论
为什么被折叠?



