expdp /impdp



1、创建目录

create directory dir_dp as '/tmp/soms';

mkdir -p /tmp/soms
2、授权
Grant read,write on directory dir_dp1 to scott;
--查看目录及权限

expdp scott/scott@soatest SCHEMAS=SOMS DIRECTORY=dir_dp1 DUMPFILE=soms.dmp  logfile=expdp_test11.logimpdp scott/scott  directory=dir_dp1


dumpfile=schema.dmp logfile=impdp.log REMAP_SCHEMA=SOMSDEV140123:SOMS table_exists_action=truncate;
impdp scott/scott  directory=dir_dp1 dumpfile=schema.dmp logfile=impdp.log REMAP_SCHEMA=SOMSDEV140123:SOMS table_exists_action=append;
impdp
scott/scott@soatest  directory=dir_dp1 dumpfile=schema.dmp logfile=impdp.log REMAP_SCHEMA=SOMSDEV140123:SOMS table_exists_action=replace;

导出常见问题:

1,导出用户权限不够:

grant dba to scott;

2,创建目录

ORA-39002: invalid operation

ORA-39070: Unable to open the log file.

ORA-29283: invalid file operation

ORA-06512: at "SYS.UTL_FILE", line 475

ORA-29283: invalid file operation


处理方法:

1)、查看directory对象

SYS@ tsid> select * from dba_directories; 

OWNER DIRECTORY_NAME           DIRECTORY_PATH

----- ------------------------- ------------------

SYS  BACKUP                    E:\oradata\backup

而操作系统上,E:\oradata下,没有backup目录。因为目录不存在,所以会出现” ORA-39070: Unable to open the log file.”错误。

  2)、创建”E:\oradata\backup”目录,或者修改directory对象,问题解决。


3,expdp ORA-39006, ORA-39065的解决办法

ORA-39006: internal error 
ORA-39065: unexpected master process exceptionin DISPATCH 
ORA-01403:no data found 
   
ORA-39097: Data Pump job encountered unexpected error 100
解决方法:expdp/impdp代替旧的exp/imp
sqlplus /as sysdba 
SQL>@$ORACLE_HOME/rdbms/admin/catmeta.sql  
SQL>@$ORACLE_HOME/rdbms/admin/catmet2.sql  
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql


导入常见问题:

ORA-39083: 对象类型 COMMENT 创建失败, 出现错误:
ORA-12899: 列 "SYS"."EVENT_DDL"."OBBJNAME" 的值太大 (实际值: 41, 最大值: 40)

处理方法:修改对应对应表的列的结构和属性

desc SYS.EVENT_DDL

alter table SYS.EVENT_DDL modify OBBJNAME  varchar(100);

ERROR at line 1:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-30512: 不能在事务处理超过一次修改SYS.EVENT_DDL
ORA-06512: 在 line 15

处理方法:

select trigger_name from dba_triggers where trigger_name like '%DDL%';

alter trigger trigger_name disable;

alter table SYS.EVENT_DDL modify OBBJNAME  varchar(100);


ORA-39082: 对象类型 ALTER_PROCEDURE:"SOMS"."ZX_UPDATE_RTL_COST" 已创建, 但带有编译警告
ORA-39082: 对象类型 ALTER_PROCEDURE:"SOMS"."ZX_UPDATE_RTL_COSTBYACCMM" 已创建, 但带有编译警告

impdp导数据,出现ORA-39082 ORA-39083错误号,对象无法编译

导入结束后可以通过编译对象来尝试:
 alter view view_name compile;
如果报错:
使用show errors定位问题所在源,是权限的问题还是dblink的问题;
如果是权限问题,说明之前创建用户时没有给足够的用户权限(主要是对一些表的读权限)
    主要查询以下两个视图:dba_sys_privs,dba_role_privs
如果是dblink问题,建议使用   dbms_metadata.get_ddl查看dblink定义ddl,并 尝试重建db_link
接着继续编译对象。

查看对象定义ddl:

select dbms_metadata.get_ddl('OBJECT_TYPE','OBJECT_NAME','USERNAME') from dual;

编译无效对象:
view:    alter view view_name compile;
function:    alter function function_name compile;

sys用户查看无效对象:
select owner,object_name,object_type,status
from dba_objects
where status !='VALID'
and owner not in ('SYS','SYSTEM')
/

show error 的用法:
编译view出现问题:
 alter view view_name compile;
Warning:view view_name with compilation errors.

SQL>show errors view view_name
Errors for view view_name:

LINE/COL    ERROR
-----------    -------------------------
0/0               ORA---


oracle 导入导出  使用expdp/impdp
我的版本11gR2   版本号 11.2.0.1.0    同事的是11gr1 需要指定版本号11.1.0.6.0
 
我装的oracle是11gR2  同事装的是11gR1  用expdp导出  impdp导入  提示版本不兼容错误
经查看oracle文档  看到了 这个参数version  最后加oracle版本号 version=11.1.0.6.0   成功导入
 
 
Sql代码 
--创建dump文件目录 
create directory dump_test as 'D:\test\dump' 
--授权读写权限给你要操作的用户 
grant read, write on directory dump_test to  
username  
 
--查询是否存在自己创建的文件目录 
select * from dba_directories; 
  
select  * from da.user_tables 
 
--注意低版本是不能导入高版本 比如我的
数据库是11gR2 对方是11gr1 需要指定版本号11.1.0.6.0  
expdp username/password directory=dump_test dumpfile=data.dmp  version=11.1.0.6.0  
--默认导在刚才创建的目录 'D:\test\dump' 
 
--导入文件 
impdp username/password directory=dump_test dumpfile=data.dmp 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值