本帖最后由 来熊 于 2012-5-5 21:07 编辑
从生产库上用exp做了一个备份下来,导入到自己的PC上做测试。因为生产库当时没有为用户创建默认表空间,所以数据全部写在users表空间里的。虽然我导入之前,在本地为新用户创建了并制定了默认表空间,但是导完之后发现数据还是在users表空间中,真是气死了,求高手指教,帮忙看看我错在哪里了。
生产库:win2003 SP1, oracle 10g R2 , oracle user:test
本地库: win7 SP1, oracle 10g R2 , oracle user:test
1.DBCA建库,然后配置:
--创建表空间
create tablespace testdb
logging
datafile 'e:\oradata\test.dbf'
size 1024m
autoextend on
next 100m maxsize 2048m
extent management local
segment space management auto;
--创建临时表空间
create temporary tablespace testdbtemp
tempfile 'e:\oradata\test_temp.dbf'
size 1024m
autoextend on
next 100m maxsize 2048m
extent management local;
--创建用户,并指定表空间
create user test identified by test
default tablespace test
temporary tablespace testdbtemp
profile default;
--给用户赋权限
grant create resource to test;
grant connect to test with admin option;
grant dba to test with admin option;
--收回用户使用users表空间的配额
revoke unlimited tablespace from test;
alter user test quota 0 on users;
alter user test quota unlimited on testdb;
2.导入dmp文件:
脚本如下:
imp test/test@test file=E:\orcl_20120503.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=E:\imp.log
以上就是我的步骤。不详细的地方大家尽管提,我再补充,谢谢。