Oracle 导入DMP 出错

2024-12-25 16:36:25
推荐回答(4个)
回答1:

1\ORA-29339: 表空间块大小 4096 与配置的块大小不匹配
你配置数据的db block size 有关。默认是8k

2、导入前先要建好表空间和用户。
建议你导出的时候按用户导出,不要用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按用户导出,导入时也按用户导入。
导入前先把所有用户和表空间建好,再导,可能该用户的表要授权给其他用户检索更新,如果其他用户不存在就会报错。

累@!!!!

回答2:

第一个可以加ignore=y屏蔽
第二个需要先建立表空间,也要加ignore=y
第三个需要先建立rman用户,这个是数据备份用户,你要像这个用户里面imp的
第四个你要imp的文件不是你指定的fromuser

回答3:

第一个错误 :创建表空间CWMLITE
CREATE TABLESPACE CWMLITE BLOCKSIZE 4096 DATAFILE 'D:\ORACLE\ORADATA\ED\CWMLITE01.DBF' SIZE 20971520 AUTOEXTEND ON NEXT 655360 MAXSIZE 1633M EXTENT MANAGEMENT LOCAL AUTOALLOCATE ONLINE PERMANENT

第二个错误:创建表空间TOOLS
CREATE TABLESPACE TOOLS
DATAFILE 'D:\ORACLE\ORADATA\ED\TOOLS01.DBF' SIZE 1000M AUTOEXTEND ON ONLINE PERMANENT

第三个错误:创建 'RMAN'

第四个错误: 因用户不存在,无法导入。

回答4:

按导出时的设置建表空间和用户再导入