Oracle命令导出、导入数据库
导出;
exp P62_GEODISASTER/mm#123456@20.151.10.10/orcl file=D:/P62_GEODISASTER.dmp
exp 用户名/密码@实例名 file=导出的dmp文件存放路径 log=导出日志存放路径
导入:
imp 用户名/密码@实例名 file=导入的dmp文件路径 full=y
imp GEODISASTER/123456@192.168.9.135/oraclecp file=C:\P62_GEODISASTER3.dmp full=y (注意数据库路径斜杠)
出现确少表空间的问题,是因为导出之前没有清理空表使用一下命令:
select 'alter table '|| table_name ||' allocate extent;' from user_tables where num_rows=0;
select 'alter table '|| table_name || ' allocate extent;' from user_tables where segment_created='NO';
清理后再用命令导出、导入即可
备注:如果dmp文件由dba用户导出,而导入的用户不是dba,那么则会报以下的错误:
IMP-00013:only a DBA can import a file exported by another DBA
只需将dba权限赋值给需要导入的用户后,重新导入即可:
赋值语句:
grant dba to 用户名