博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发人员常用的Oracle导入/导出命令
阅读量:6591 次
发布时间:2019-06-24

本文共 1454 字,大约阅读时间需要 4 分钟。

作为我们开发人员经常使用exp导出某一个用户下的所有对象从某一个数据库,

然后导入。通常导入的时候总是会遇到一些意想不到的问题,其中一个问题就是数据库中已经存在同名对象,
同时也为那些比较复杂的参数而烦恼。其实对于我们,只需要做下面三个动作,就能顺利完成你的导入导出工作:
1.导出
   Exp  <username>[/<password>][@<connect_string>] Owner=<user_name> File=<filename.dmp>

2.Drop掉目标用户下的所有对象

   执行下面的语句: 

 1
None.gif
declare
     
 2
None.gif    
cursor
 c_cursor 
is
 
 3
None.gif    
select
 
OBJECT_NAME
,OBJECT_TYPE
 4
None.gif    
from
 user_objects 
 5
None.gif    
where
 OBJECT_TYPE 
IN
 (
'
TABLE
'
,
'
VIEW
'
,
 6
None.gif                         
'
PROCEDURE
'
,
'
FUNCTION
'
,
 7
None.gif                         
'
PACKAGE
'
,
'
PACKAGE BODY
'
,
 8
None.gif                         
'
SEQUENCE
'
,
'
MATERIALIZED VIEW
'
,
 9
None.gif                         
'
SYNONYM
'
,
'
TYPE
'
,
'
TYPE BODY
'
)
10
None.gif    
ORDER
 
BY
 OBJECT_TYPE,
OBJECT_NAME
;
11
None.gif    message 
varchar2
(
100
);    
12
None.gif    errorNums 
integer
 ;
13
None.gif
begin
    
14
None.gif    errorNums :
=
 
0
;
15
None.gif    dbms_output.put_line(
'
Dropping objects
'
);
16
None.gif    
FOR
 tab_rec 
IN
 c_cursor    loop        
17
None.gif        dbms_output.put_line(
'
dropping 
'
 
||
 tab_rec.OBJECT_TYPE 
||
 
'
 
'
    
||
 TAB_REC.
OBJECT_NAME
);
18
None.gif        
begin
19
None.gif            
execute
 immediate 
'
drop 
'
 
||
 TAB_REC.OBJECT_TYPE 
||
 
'
 
'
 
||
 tab_rec.
OBJECT_NAME
;        
20
None.gif        exception
21
None.gif            
when
 others 
then
22
None.gif                errorNums :
=
 errorNums 
+
 
1
;
23
None.gif                dbms_output.put_line(
'
dropping err.
'
);
24
None.gif                dbms_output.put_line(sqlerrm);
25
None.gif        
end
;
26
None.gif    
end
 loop;    
27
None.gif    
if
 errorNums
>
0
 
then
28
None.gif        dbms_output.put_line(
'
Finished with error. Please execute again.
'
);
29
None.gif    
else
30
None.gif        dbms_output.put_line(
'
Finished
'
);
31
None.gif    
end
 
if
;    
32
None.gif
end
;

   执行上面的语句一定要小心,因为它是不可恢复的.

   第二,如果发现执行中有一些问题,某些对象不能被删除掉,那可能是对象之间有一种依赖关系,重新执行一遍
2.导入
   Exp  <username>[/<password>][@<connect_string>]    FromUser=<user_name>     ToUser=<user_name>     File=<fileName.dmp>

 

 

你可能感兴趣的文章
extjs_02_grid(显示本地数据,显示跨域数据)
查看>>
超过响应缓冲区限制
查看>>
ubuntu 下安装 matplotlib
查看>>
webservice的几个简单概念
查看>>
underscore 1.7.0 api
查看>>
C# CheckedListBox控件的使用方法
查看>>
spring Transaction Management --官方
查看>>
iOS开发-清理缓存功能的实现
查看>>
IS_ERR、PTR_ERR、ERR_PTR
查看>>
html5 canvas 奇怪的形状垂直渐变
查看>>
mac java环境
查看>>
lamp 一键安装
查看>>
SQL Server 2008 收缩日志(log)文件
查看>>
UICollectionView基础
查看>>
SSAS中CUBE行权限数据级权限控制
查看>>
PHP接入umeditor(百度富文本编辑器)
查看>>
如何解决ORA-12547: TNS:lost contact错
查看>>
android学习记录(三)百度地图错误---只有一个电话显示帧,没有地图内容。
查看>>
BZOJ2794 : [Poi2012]Cloakroom
查看>>
Swift——(两)Swift访问元组
查看>>