我用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命令写出来看下