数据库导入导出

使用数据泵做导入导出时遇到的问题整理笔记

语法:create or replace directory <路径名称> as ‘备份路径’

 

create or replace directory file_path as 'C:\软件\数据库文件'

--赋权限给smsdb用户:

grant read,write on directory file_path to smsdb;

 

1.3:备份数据库(在CMD中执行)

语法:expdp用户名/密码@数据库连接标示符 directory=路径名称 dumpfile=备份的文件名称 logfile=输出的日志名称 schemas=需要备份的数据库用户名

 

expdp smsdb/123456@oracle11 directory=file_path dumpfile=new.dmp logfile=new.log schemas=smsdb

问题:

ORA-39151: Table "SMSDB"."T_PROVIDER_MOBILE" exists. All dependent metadata and data will be skipped due to table_exists_action of skip

分析

默认值是skip,但若设置了CONTENT=DATA_ONLY,则默认值是APPEND,不是SKIP。

TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]

SKIP:跳过这张表,继续下一个对象。如果CONTENT设置了DATA_ONLY参数,则不能使用SKIP。

APPEND:会加载数据至对象,但不会影响已存在的行。

TRUNCATE:删除已存在的行,然后加载所有的数据。

REPLACE:drop已存在的表,然后create并加载数据。如果CONTENT设置了DATA_ONLY,则不能使用REPLACE

解决方法:

在imp后面加上 table_exists_action=truncate

 

--导出表

expdp smsdb/123456@oracle11 tables=t_smsgateway_mt_his directory=file_path dumpfile=2017.5.12.dmp

 

4.5数据库导入

语法:Impdp 用户名/密码@数据库连接标示符 directory=路径名称 dumpfile=备份的文件名称 logfile=输出的日志名称 schemas=需要备份的数据库用户名

 

创建路径:(删除路径:DROP DIRECTORY  directory_NAME)

create directory file_path as 'C:\软件\数据库文件';

赋权限给smsdb用户:

grant read,write on directory file_path to smsdb;

 

数据导入(cmd命令下):

impdp smsdb/123456@oracle11 directory=file_path dumpfile=new.dmp logfile=new.log schemas=smsdb ignore=y

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31477110/viewspace-2143040/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31477110/viewspace-2143040/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值