`

如何用PL/SQL备份oracle数据库

 
阅读更多

                            如何用PL/SQL备份oracle数据库

 

PL/SQL DeveloperOracle数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对导入或导出时的一些注意事项进行了说明,接下来我们就一一介绍。

导出步骤:

1 tools ->export user object 选择选项,导出.sql文件。

2 tools ->export tables-> Oracle Export 选择选项导出.dmp文件。

导入步骤:

注:导入之前最好把以前的表删除,当然导入另外数据库除外。

1 tools->import tables->SQL Inserts 导入.sql文件。

2 tools->import talbes->Oracle Import然后再导入dmp文件。

一些说明:

Tools->Export User Objects导出的是建表语句(包括存储结构)。PS:这种方式只能导出属于这个用户的表,其他用户的表不能导出,建议用命令行(exp,imp)导出。

Tools->Export Tables里面包含三种导出方式,三种方式都能导出表结构以及数据,如下:

  • Oracle Export
  • Sql Insert
  • pl/sql developer

第一种是导出为.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广 。

第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段 (blob,clob,long),如果有,会提示不能导出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。

第三种是导出为.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出,不能用编辑器查看。

PS:只有"Oracle Export"方式导出再导入后,表结构和索引结构没有发生变化,另两种方式都改变了索引类型。

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

第1章  导入数据的苦恼

最近,一直再为搭建测试数据库的事情烦恼,主要碰到如下困难: 1、 使用oracle dump方式导出的数据在导入的时候不能随意选择一张表的数据进行导入;一般业务的表的数量都有1000左右,在出现由于某张表数据异常导致的故障时,用dump文件进行恢复基本不可行或者很费事; 2、 表存在外键约束和触发器,使用oracle dump import方式导入表的时候不能非常简单的禁止触发器和外键,导致大量错误产生,导入的表的数据不全,部分表数据没有导入; 3、 当修改了某些表的数据后需要将这些表的数据恢复到测试环境搭建时的数据,import不能将这些表的数据清空后重新导入。 4、 当修改了某些表的字段后需要将这些表的数据恢复到测试环境搭建时的数据,import不能将这些表重建后重新导入。 那么有没有一个工具能够解决上面我们这位工程师的苦恼呢?

 

第2章  PL/SQL Developer导入导出工具

PL/SQL Developer位于PLSQL DEV工具的“Tools”菜单下的“Export tables…”和“Import tables…”下,可以进行数据的导出和导入。

2.1  导出功能介绍 

 

基于PL/SQL的数据库备份方法 - 廖润明 - 异次元蓝客
 

Where clause: 使导出操作支持where条件,比如你只需要导出每张表的10000条记录,可以在输入框里输入“rownum < 10001”。

Compress file: 选中后支持导出文件的压缩,节省存储空间,但是压缩会占用多余的时间。

Include storage: 导出的文件中包含建表信息,如果需要在导入的时候能支持建表操作,需要选中该项。

2.2  导入功能介绍 

Drop tables: 支持在导入数据前先删除表,选择该项后,默认选择“Create tables”选项,并且“Truncate tables”和“Delete table”操作变成灰色不可用状态。 Create tables: 支持在导入数据前先创建表,比如我们已将建好了用户,这个时候需要导入表而之前又没有执行建表脚本的时候,可以选中此项。 Truncate tables: 支持在导入数据前先清空表数据,想恢复表数据到建测试环境的时候可以使用这个选项,该选项和“Delete tables”互斥。 Delete tables: 支持在导入数据前删除表数据,这个选项目前还没有发现比较特殊的使用意义,该选项和“Truncate tables”互斥。该选项的导入速度大大慢于“Truncate tables”,一般使用“Truncate tables”。

2.3  如何解决导出clob和blob类型数据报错的问题

当表字段中含有clob和blob类型数据时,使用PL/SQL Developer导出会报stream read error的错误,导出操作终止,说明PL/SQL Developer方式导出不支持这种类型,oracle export方式可以支持这种类型。 由于需要导出的表很多,PL/SQL在导出前都要对需要导出的表进行分析,通常都会花费十几分钟的时间,然而由于某张表存在clob和blob类型数据时就会异常终止,那之前的操作时间就会浪费,为了导出所有表需要将导出的表进行标记,只导出没有clob和blob类型数据的表。我们通常的做法是在导出表的时候用ctrl或者shift按键进行手工选择,通过导出的日志记录不能导出的表,然后手工将这些表反选出待导出的表。但是这样操作费时费力,需要通过不停反复的操作,才能知道哪些表不能导出。 下面介绍一下如何使用oracle系统视图all_tab_columns和PL/SQL在导出表的时候提供的Object selection功能快速导出不包含clob和blob的表数据。

1、 使用下面的sql语句拼出Object selection的文件内容。 --不包含clob和blob的表 select distinct('TABLE "'||a.OWNER ||'"."'||a.TABLE_NAME||'"') from sys.all_tab_columns a where  a.OWNER = 'ICDPUB' and a.TABLE_NAME not in (select t.TABLE_NAME from sys.all_tab_columns t where t.OWNER = 'ICDPUB' and t.DATA_TYPE in ('CLOB','BLOB'))  注意:上面的sql语句里的ICDPUB是用户名 

2、 按照上面的语句的执行结果生成Object selection的文件(后缀是.osf),文件的内容如下:    PL/SQL Developer Object Selection File 1 TABLE "ICDPUB"."ACTIVE_ALARMS" TABLE "ICDPUB"."ALLAPPOINT" TABLE "ICDPUB"."ALLOPTIONVIEW" TABLE "ICDPUB"."ALLOTCONFIG" TABLE "ICDPUB"."ALLPAPERAUTHVIEW" TABLE "ICDPUB"."ALLPAPERVIEW" TABLE "ICDPUB"."ALLQUESTIONVIEW"

3、 在导出表功能的表选择框里单击右键选择“Load Object selection”,选择上一步制作的文件,完成表的选择。

4、 选择合适的参数,进行导出操作。

5、 用oracle export方式导出包含clob和blob的数据

分享到:
评论

相关推荐

    PL/SQL Developer 远程连接Oracle数据库

    PL/SQL Developer是一款专为Oracle数据库设计的集成开发环境,它极大地简化了PL/SQL语言的编写、调试和管理任务。远程连接Oracle数据库是PL/SQL Developer的一项关键功能,允许用户在本地计算机上操作和管理远程...

    pl/sql_Oracle

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,而PL/SQL是Oracle专为数据库操作设计的一种过程化编程语言。它结合了SQL查询语句和传统的编程元素,如控制结构、变量、过程等,使得数据库管理和应用程序...

    ORACLE PL/SQL从入门到精通

    此外,书中还涉及到了ORACLE数据库的安装、存储过程的编写、序列操作、数据类型转换、程序设计指导原则、合并数据库中的数据行(MERGE)、约束、索引、子查询、分页技术等高级主题。 最后,还有关于字符串、数值、...

    pl/sql developer11.0

    PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...

    pl/sql oracle常用工具

    Oracle数据库是全球广泛使用的数据库管理系统,而PL/SQL则是Oracle专有的编程语言,用于与数据库交互。在开发和管理Oracle数据库时,拥有合适的工具能够极大地提高效率和准确性。"pl/sql oracle常用工具"这个标题...

    pl/sql oracle数据库可视化编辑工具

    Oracle数据库是全球广泛使用的数据库管理系统之一,而PL/SQL是其特有的一种结构化查询语言,用于编写数据库操作和管理的程序。对于开发者和DBA来说,拥有一款高效的PL/SQL编辑工具至关重要,能够提升工作效率,简化...

    使用PL/SQL Developer图形界面轻松实现oracle定期计划任务

    在Oracle数据库管理中,定期执行任务是不可或缺的一部分,这通常涉及到数据库维护、数据清理、备份等操作。PL/SQL Developer是一款强大的Oracle开发工具,它提供了一个直观的图形用户界面(GUI),使得设置定期计划...

    pl/sql 免安装,绿色版pl/sql

    PL/SQL Developer是一款高效、便捷的Oracle数据库管理工具,尤其适合DBA和开发人员使用。免安装的绿色版PL/SQL Developer使得用户无需经历复杂的安装过程,只需解压即可使用,大大简化了软件部署,方便在不同的...

    pl/sql developer 用户指南中文版

    通过阅读并实践《PL/SQL Developer 用户指南中文版》,用户不仅可以掌握如何使用这款工具,还能深入理解PL/SQL编程,提升在Oracle数据库开发中的专业技能。无论是新手还是经验丰富的开发者,都能从中获益。

    PL/SQL工具

    PL/SQL工具是专为Oracle数据库设计的一种强大的前端操作软件,它极大地简化了数据库管理员和开发人员对数据库的管理和开发工作。在Oracle数据库系统中,PL/SQL是一种过程化语言,结合了SQL(结构化查询语言)的查询...

    PL/SQL版本控件插件

    PL/SQL版本控件插件是一...总的来说,PL/SQL版本控件插件是提高Oracle数据库开发团队效率和代码管理水平的重要工具,通过整合VSS,它提供了对PL/SQL对象的有效版本控制,帮助开发者更好地协作和管理他们的数据库代码。

    PL/SQL _chinese中文补丁

    PL/SQL是Oracle数据库系统中的一个关键组件,它是一种结合了SQL语言与过程式编程的环境,用于在数据库上执行复杂的业务逻辑和数据操作。"PL/SQL _chinese中文补丁"指的是针对PL/SQL的中文语言支持更新,旨在为用户在...

    PL/SQL实现Oracle数据库任务调度

    正在看的ORACLE教程是:PL/SQL实现Oracle数据库任务调度。摘要:本文主要就数据库恢复与系统任务的调度,在结合一般性的数据库后台处理的经验上,提出较为实用而新颖的解决方法,拓宽了数据库后台开发的思路。 关键词...

    Oracle数据库基础 SQL语言入门与进阶 PL/SQL程序设计 Oracle数据库管理与优化 数据库安全性与权限管理

    Oracle数据库基础 SQL语言入门与进阶 PL/SQL程序设计 Oracle数据库管理与优化 数据库安全性与权限管理 Oracle备份与恢复策略 数据库性能监控与调优 Oracle数据库网络配置与管理 Oracle数据库集群与高可用性 Oracle...

    OracleClient精简版和PL/SQL Developer 1104

    OracleClient精简版和PL/SQL Developer 1104是Oracle数据库开发人员日常工作中不可或缺的两个工具。本文将深入探讨这两个工具的功能、用途以及如何有效地利用它们进行Oracle数据库的管理和开发。 首先,Oracle...

    pl/sql developer

    PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库管理工具,专为数据库开发者设计,旨在提升数据库管理和开发的效率。它集成了多种实用功能,包括编写、调试、测试和部署PL/SQL代码,以及...

    PL/SQL Developer 64 bit

    PL/SQL Developer是一款专为Oracle数据库设计的强大集成开发环境(IDE)。它主要面向数据库开发者、DBA(数据库管理员)以及测试人员等专业人士,提供了一系列高效工具,以简化PL/SQL代码的编写、调试及维护过程。64...

    PL/SQL developer

    通过使用PL/SQL Developer,开发人员可以更高效地管理Oracle数据库对象,例如表、视图、索引、存储过程和函数。 描述中提到的"文件解压缩"表明该压缩包包含一系列文件,用户需要先将其解压才能继续安装和使用。通常...

    PL/SQL Developer v8.0.zip

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...

    pl/sql客户端8.0版本

    PL/SQL客户端是Oracle数据库开发人员的重要工具,尤其在8.0版本中,它提供了丰富的功能,便于管理和操作Oracle数据库。以下将详细解释这个版本的关键知识点: 1. **PL/SQL语言支持**:PL/SQL是Oracle专有的编程语言...

Global site tag (gtag.js) - Google Analytics