基于PLSQL的数据库备份方法
2017-06-15 13:34
190 查看
关键词:
PLSQL 数据备份 CLOB BLOB
如何解决导出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、
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的数据
PLSQL 数据备份 CLOB BLOB
如何解决导出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、
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的数据
相关文章推荐
- 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题
- 基于PL/SQL的数据库备份方法
- 基于PL/SQL的数据库备份方法
- 基于PL/SQL的数据库备份方法
- 基于PL/SQL的数据库备份方法
- SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
- SQL2000下将数据库直接备份到网络上其他计算机硬盘的方法!
- sql2000备份的数据库还原到sql2005的方法
- 一种基于空间数据库和SVG的高速Web电子地图的生成及应用方法
- ORACLE 数据库备份方法
- SQL SERVER 大容量数据库的备份方法
- SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
- AD数据库的备份及整理方法
- 基于Delphi的三层数据库系统的实现方法
- sql2005自动备份数据库的方法
- 备份、还原MSSQL数据库的方法
- 基于ASP.NET(C#)Web开发平台,对远程备份与恢复SQLServer数据库的方法
- 基于.NET的CMS数据库的两种设计方法
- SQL Server 2005“备份集中的数据库备份与现有的数据库不同”解决方法
- 一种简单的根据备份文件 恢复数据库的方法