导入前先要建好表空间和用户。
建议你导出的时候按用户导出,不要用sys全部导出来
还有在导入的时候需要指定导入到哪个用中去。
给个操作手顺吧,我今天刚弄完的。
1\导出:exp user\user@dbname owner=user file=path\file;
2\查看原数据库你要导出的用户的默认表空间(sys用户权限)
select * from dba_extents whereowner='你想导出的用户名'
3、查看表空间对应数据文件(sys用户权限)
select * from dba_data_files where tablespace_name ='你想导出的用户对应的表空间'
4、目的数据库建立表空间(最大表空间与db block size相关,如果是默认的话,不能超过32G)
create tablespace '目标表空间、与你想导出的用户对应的表空间对应' logging datafile ‘路径数据文件名如G:\oracle\oradata\lodw\TEST01.DBF’size 500M autoextend on
next 50M maxsize 50000M extent management local
5、创建用户
create user ‘目标数据库上的用户’identified by '你设的password' default tablespace '上面的目标表空间' temporary tablespace temp profile default;
6\授权给新建用户
grant connect ,resouce to‘你新建的用户’;
7导入
imp '目标db user'/'password'@目标数据库 fromuser=‘原数据库导出的用户’ touser='你新建的用户' file='刚才导出的dump'
建议你exp按用户导出,导入时也按用户导入。
导入前先把所有用户和表空间建好,再导,可能该用户的表要授权给其他用户检索更新,如果其他用户不存在就会报错。
IMP-00003: 遇到 ORACLE 错误 959
最新推荐文章于 2021-09-03 15:16:16 发布