日期:2014-05-17  浏览次数:20837 次

[求助]数据库导入时遇到的问题,急
我用exp   mydb/123   file=mydb.dmp命令将一台机器A上的数据库导出,想在另一台机器B上导入
但遇到了问题:
此机器B上已装有Oracle,我用已有帐号AAA登陆sqlplus,创建用户mydb(代码见最后)
然后执行imp   aaa/123   file=mydb.dmp   full=y来导入,结果导入到了原有的方案aaa中,发现错误后我重新执行imp   mydb/123   file=mydb.dmp   full=y来导入(临时给与DBA角色,导入后取消),结果确实出现了方案mydb
(导入时有些错误,有几个表未创建,但是因为用不到,所以没管)
但是用客户端程序打开时(数据库登陆帐号用的是mydb/123)发现实际使用的是方案aaa中的表
请问应当如果更正这个问题?
另外发现mydb用户实际使用的表空间是system和temp而非代码中的mydb和mydb_temp,但在创建时好象没看到有出错信息
 
/*---创建用户表空间*/
CREATE   TABLESPACE   mydb
DATAFILE                 'mydb_data01.dbf '   SIZE   10M,
                                'mydb_data02.dbf '   SIZE   10M,
                                'mydb_data03.dbf '   SIZE   10M
AUTOEXTEND   ON   EXTENT   MANAGEMENT   LOCAL   AUTOALLOCATE;
/*----创建临时表空间*/
CREATE   TEMPORARY   TABLESPACE   mydb_TEMP   TEMPFILE   'mydb_temp01.dbf '   SIZE   5M   AUTOEXTEND   ON;
/*----创建用户*/
CREATE   USER   mydb   IDENTIFIED   BY   "123 ";  
/*----指定用户的表空间(使用户成为模式-方案)   */
ALTER   USER   mydb   DEFAULT   TABLESPACE   mydb   QUOTA   UNLIMITED   ON   mydb;
/*----指定用户的表空间(使用户成为模式-方案)*/
ALTER   USER   mydb   TEMPORARY   TABLESPACE   mydb_TEMP;
/*   ---为方案赋予权限*/
GRANT
CREATE   SESSION,
CREATE   TABLE,
CREATE   PROCEDURE,
CREATE   SEQUENCE,
CREATE   TRIGGER,
CREATE   VIEW,
CREATE   SYNONYM,
ALTER   SESSION,
CREATE   DATABASE   LINK
TO   mydb;
/*   登陆系统建立第1张表后,方案才变为可见   */
--create   table   test(OID   char(40)   not   null,   Name   char(40)   null);


------解决方案--------------------
你的exp和imp命令写出来看下