创建导出目录
如果导出的用户有创建目录权限则直接使用该用户创建
linux命令行登录普通用户
sqlplus wendianfei/pass123456@DOMAIN
SQL>CREATE DIRECTORY wdf_dir AS '/home/oracle/wendianfei';
删除目录的命令。
SQL>DROP DIRECTORY wdf_dir;
如果用户没有创建目录权限则使用管理员创建目录,并赋予普通用户读写权限。
sqlplus / as sysdba
SQL>CREATE DIRECTORY wdf_dir AS '/home/oracle/wendianfei';
SQL>GRANT READ, WRITE ON DIRECTORY wdf_dir TO wendianfei;
或者赋予普通用户创建目录的权限。
SQL>GRANT CREATE ANY DIRECTORY TO wendianfei;
oracle导出导入:
单表导出导入
#导出:
host1$ expdp wendianfei/pass123456@DOMAIN directory=wdf_dir dumpfile=TEST_TABLE.dmp logfile=TEST_TABLE.log tables=TEST_TABLE
#导入:
host1$ impdp wendianfei/pass123456@DOMAIN DIRECTORY=wdf_dir DUMPFILE=PUSH_DEVICE.dmp
备份表空间:
#导出表空间
host1$ expdp wendianfei/pass123456@DOMAIN directory=wdf_dir dumpfile=tablespace_backup.dmp tablespaces=DATA
directory需要到数据库库里创建
tablespaces=DATA 是你想要备份的表空间名称。如果需要备份多个表空间,可以用逗号分隔表空间名。
导入表空间:
host1$ impdp wendianfei/pass123456@DOMAIN schemas=wendianfei directory=wdf_dir dumpfile=tablespace_backup.dmp logfile=tablespace_name.log TABLESPACES=DATA
备份用户下的数据:
#导出用户数据
host1$ expdp wendianfei/pass123456@DOMAIN DIRECTORY=wdf_dir DUMPFILE=user_data.dmp SCHEMAS=wendianfei LOGFILE=export.log
#导入用户数据:
host1$ impdp wendianfei/pass123456@DOMAIN schemas=wendianfei directory=wdf_dir dumpfile=user_data.dmp LOGFILE=import.log
如果导出和导入的用户不同则需要用以下参数
remap_schema=原来的用户:导入的用户
表空间不同用下面的参数:
remap_tablespace=原来的表空间:导入的表空间
如果整个用户导入失败重新导入:则需要删除用户重新创建
DROP USER wendianfei CASCADE;
重新创建用户:
如果是单个表导入失败,重新导入需要先drop表。
文章评论