我的首次oracle导入DMP

删除用户
drop user monitor cascade;
删除表空间和数据文件
drop tablespace monitor_ts including contents and datafiles;


创建用户
create user monitor identified by monitor;
创建表空间
create tablespace ts_wangf datafile 'C:\oracle\product\10.2.0\tablespaceBIMS\monitor-data.dbf' size 100m autoextend on;
将表空间分配给用户
alter user monitor default tablespace monitor_ts;
给用户授权
//grant create session,create table,create view,unlimited tablespace to wangf;
grant dba to monitor;


//============================imp导入DMP文件到指定表空间所需作的操作=============================================================================================
找了一个几百万行数据的库,准备导入的本地Oracle中:
SAM用户的缺省表空间是SAM,但是数据却导入到了system表空间。Google了一下,应该这样做:
1.收回unlimited tablespace权限revoke unlimited tablespace from sam;
2.设置缺省表空间alter user sam default tablespace sam;
3.设置SAM表空间的unlimited配额alter user sam quota unlimited on sam;
4.设置其他表空间的0配额alter user sam quota 0 on system;

最后在cmd中执行(不要进入sqlplus):imp wangf/wangf@orcl file='D:\1\内部资源\河北联通BMIS管理平台\数据库结构\BimsManager.DMP' fromuser=monitor touser=wangf
//===============================================================================================================================================================


我将公司oracle9i中的BimsManager数据库导入我自己的10G的数据库,所做的事:
1、查看了导出的日志文件,为全库导出,即full=y,而fromuser=monitor
2、创建BimsManager数据库
3、创建用户monitor
create user monitor identified by monitor;
4、创建表空间(必须要 autoextend on,不然报出表空间配额不够的错,估计是因为导出时的表空间比较大)
create tablespace monitor_ts datafile 'C:\oracle\product\10.2.0\tablespaceBIMS\monitor-data.dbf' size 100m autoextend on;
5、将表空间分配给用户
alter user monitor default tablespace monitor_ts;
分配之后查看:
select username,default_tablespace from dba_users;
6、给用户monitor授予dba的权限(因为导出时的monitor用户貌似是dba权限)
grant dba to monitor;
7、接下来的三条语句都与将DMP文件导入到指定表空间(monitor的表空间monitor_ts)有关
revoke unlimited tablespace from monitor;
alter user monitor quota unlimited on monitor_ts;
alter user monitor quota 0 on system;
8、很重要的一步:删除sysman用户的一个JOB,不然导入的时候最后会报一个违反唯一性约束的错
因为导出的9i中的monitor用户占了JOB_ID为1,而10G中sysman占用了JOB_ID是1

查看系统job:select job from dba_jobs:
删除job:以sysman登录sqlplus,首先执行:exec dbms_job.remove(1);
再执行:commit;

9、最后在cmd中执行(不要进入sqlplus):
imp monitor/monitor@bimsmana file='D:\1\内部资源\河北联通BMIS管理平台\数据库结构\BimsManager.DMP' fromuser=monitor touser=monitor


最后说一句:oracle的提示“成功终止导入”其实意思是“成功完成导入”,终止是完成的意思。。。。。。。。。。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值