IMP/EXP
1. 在原服务器上:
查看要导出用户对应默认表空间:
SQL> select username,default_tablespace from dba_users;
查看表空间所在路径:
SQL> select name from v$datafile;
进入该路径下目录,使用exp命令按用户导出其对应所有表文件:
exp ywxy/ywxy@orcl file=daochu1.dmp full=y
2. 在新服务器上建立同名用户和同名表空间,同时使用户与表空间关联:
首先确定表空间所在路径:在sql 中输入命令:
SQL> select name from v$datafile;
根据dbf文件路径新建表空间(该表空间命名与原服务器命名相同):
SQL> CREATE TABLESPACE xxxx LOGGING DATAFILE '/app/oracle/oradata/orcl/xxxx.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;
创建用户、密码并关联表空间(用户名与原服务器命名相同,表空间关联同原服务器相同):
SQL>create user username identified by password default tablespace xxxx;
授权:
SQL> grant connect,resource to username;
SQL> grant sysdba,imp_full_database to username;
进入dbf文件路径:
imp username/password file = expdat.dmp full=y
IMPDP/EXPDP
前几步与imp exp 步骤相同,新建表空间,用户,关联等
首先确认新服务器某用户对应表空间大小是否足够导入,否则需要增加数据文件:
SQL> alter tablespace name add datafile '+DATA/neupacs/pacs3104.dbf' size 10240M autoextend on ;
在原服务器:
1.在数据库服务器建立真实目录
[oracle@localhost oracle]$ mkdir dmp
2.用管理员账号登录数据库
[oracle@localhost dmp]$ sqlplus / as sysdba
3.创建逻辑目录
SQL> create directory data_dir as '/data/app/oracle/dmp';
4.给要导出的用户的赋予该目录的操作权限
SQL> grant read,write on directory data_dir to user;
————————————————
版权声明:本文为CSDN博主「终极程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:Linux环境下利用数据泵EXPDP和IMPDP导入导出Oracle数据_终极程序猿的博客-CSDN博客_linux oracle数据泵导入导出
在data_dir路径下:
expdp system/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log compression=all
如果传输时间过长,可以转到后台运行:
nohup expdp system/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log compression=all &
在新服务器上:
参照原服务器前三步,建立逻辑目录;
同名用户导入,从用户A导入到用户A
impdp system/passwd remap_schema=A:A remap_tablespace=tablespace:tablespace directory=data_dir dumpfile=expdp.dmp ;