zoukankan
html css js c++ java
解决Oracle中用EXP 命令后用IMP导出数据出现错误的一种方法
在使用Oracle数据库时,经常会遇到数据导入导出的问题,最基本的方法是用imp、exp,Oracle没有提供象SQL Server一样的那么方面的备份工具,这些命令使用不当经常会出现这样或那样的问题,依我个人的经验使用一下方法可以避免错误的发生:
1、在导入导出的两个数据库中最好有相同的表空间、用户名;
2、在多次向同一个用户下导入数据时,如果出现重复数据,imp命名将终止运行,从而导致恢复数据不成功,本人的想法是先删除原来用户下的所有对象,然后重新导入,每次去删除那么多的表、视图、索引……是相当麻烦的,于是写了一段代码来删除这些对象,即删除user_objects表中的对象,代码如下:
删除用户下的所有对象
1
/**/
/*
Formatted on 2007/03/20 18:25 (Formatter Plus v4.8.8)
*/
2
DECLARE
3
v_obj_name
VARCHAR2
(
50
);
4
v_obj_type
VARCHAR2
(
50
);
5
v_sql
VARCHAR
(
4000
);
6
7
CURSOR
cur_obj
8
IS
9
SELECT
object_name
, object_type
10
FROM
user_objects
11
ORDER
BY
object_type
DESC
;
12
BEGIN
13
OPEN
cur_obj;
14
15
LOOP
16
EXIT
WHEN
NOT
cur_obj
%
FOUND;
17
18
FETCH
cur_obj
19
INTO
v_obj_name, v_obj_type;
20
21
v_sql :
=
'
drop
'
||
v_obj_type
||
CHR (
9
)
||
v_obj_name;
22
23
IF
v_obj_type
=
'
TABLE
'
24
THEN
25
v_sql :
=
v_sql
||
CHR (
9
)
||
'
CASCADE CONSTRAINTS
'
;
26
END
IF
;
27
28
EXECUTE
IMMEDIATE v_sql;
29
END
LOOP;
30
31
CLOSE
cur_obj;
32
EXCEPTION
33
WHEN
OTHERS
34
THEN
35
DBMS_OUTPUT.put_line (
'
e
'
);
36
END
;
这样在导入数据的时候就不会出现有重复数据的错误,关于Oracle的数据导入、导出不知道高手们有什么比较好的方法,漂泊雪狼希望得到各位的赐教!
查看全文
相关阅读:
春招实习_oppo一面 4.8 (40min)
春招实习_腾讯突击面试 3.31
github使用
手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)
博客园右下角添加看板娘
微信公众号接个图灵机器人
[转]HTML5基本布局
微信群二维码怎么长期有效,微信群二维码记久有效,微信群二维码过期失效了
Redis查看当前连接数和最大连接数
删除表前判断表是否存在SQL
原文地址:https://www.cnblogs.com/weiweictgu/p/681608.html
最新文章
写word格式接口文档太繁琐?试试新的工具?
测试效率如何提升?思路总结和多个工具推荐!
接口测试&性能测试
快递柜也能攻击?——论API的安全性
API和SDK的区别
替代Swagger?试试这个新工具!
eolinker如何使用mock api
进行接口测试时,怎么快速找到bug
将在规划库已丢弃的站点,改回到需求库
需求库is_reserved_planning和last_reserved_planning状态字段为中文的刷新
热门文章
更新需求库数据,更新建设批次失效,更新规划经纬度
补全地市为空的SQL
Java面试指南
测试基础
春招实习_字节测试开发6.9 16:20 + offer
春招实习_贝壳找房 Java开发 一面
春招实习_字节跳动测开一面 5.28 14:00
春招实习_学而思_一面/二面/HR面+offer
春招实习_远景智能 4.22 电话面
春招实习_微众银行4.5面试
Copyright © 2011-2022 走看看