SinoDB备份恢复工具之dbexport/dbimport

2024-04-11 11:36

本文主要是介绍SinoDB备份恢复工具之dbexport/dbimport,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        dbexport和 dbimport是两个简单的备份恢复实用程序,无需任何提前配置即可运行。这两个实用程序可以在不同平台的SinoDB数据库服务器之间迁移数据,可以使用它们备份和还原小型数据库。

1. dbexport命令语法

  dbexport以文本格式导出数据库中所有对象的模式脚本和表数据文件。在将数据卸载到磁盘时,dbexport 会在当前目录或指定目录下创建一个名为 database.exp 的子目录,dbexport会向该目录写入一个模式脚本文件database.sql,同时为数据库中的每个表生成各自的卸载文件 (.unl)。它还在当前目录中创建了一个名为 dbexport.out 的消息文件,其中包含警告和错误消息。在备份期间,dbexport以独占方式(exclusive mode)占用数据库,以保持参照完整性,此时用户不能对数据库进行查询、修改及插入操作。如果数据库未能获取独占锁,dbexport 实用程序会终止并抛出一个错误。

参数说明
-o   指定存储 ASCII 文件和模式文件的的目录。指定的目录必须是已经存在的。在指定目录中的一个名为datebase.exp子目录将被产生并收集数据.默认为当前目录.
-ss为指定数据库中所有的表产生特定于数据库服务器的信息,当数据库被卸载,SCHEMA将包含如下信息:1、 数据库的logging模式;2、初始化表的扩展空间;3、表的锁定模式;4、 表所在的DBSPACE
-t指定存储ASCII文件和模式文件的磁带设备名,必须指定BLOCKSIZE
-b指定磁带设备 block的大小,以KB为单位
-s指定磁带设备的大小,以KB为单位
-f如果将数据文件存储到磁带上,则-f选项用于指定存储在磁盘上的模式文件名
-X标识符字段中的HEX二进制数据
-c指示如果没有致命错误命令程序继续执行,直到一个重大错误产生,这个重大错误有:1、Unable to open the tape device specified;2、Bad writes to the tape or disk;3、Invalid command parameters;4、Cannot opendatabase or no system permission
-d仅输出BLOB描述符,不输出BLOB数据.
-q在标准输出设备上不显示错信息、警告和所生成的SQL数据定义语句

 以下例子为将数据库testdb的数据导出到/home/informix/data目录下:

[informix@vm84145 data]$ dbexport testdb -o /home/informix/data/ -ss
[informix@vm84145 data]$ ll
drwxr-xr-x 2 informix informix    47 Feb 23 19:02 testdb.exp

导出完成后,在/home/informix/data目录下生成一个testdb.exp的目录,目录下testdb.sql为数据库的模式脚本文件。

2. dbimport命令语法

   dbimport 实用程序基于 dbexport 所生成的模式文件和卸载数据来创建数据库并加载数据。运行 dbimport 的用户对新创建的数据库拥有DBA 特权。在导入期间,dbimport 独占地锁定每个表,并在导入完成后对该表进行解锁。dbimport 在当前目录或指定目录中创建了一个名为 dbimport.out 的消息文件,其中包含警告和错误消息。

参数说明
-i   指定存储 ASCII 文件和模式文件的磁盘目录。
-l   指定导入数据库的日志记录方式。如果没使用buffered参数,为装入的数据库建立无缓冲事务日志;如果使用了buffered参数,为装入的数据库建立有缓冲事务日志。如果没有使用-l选项,则新建数据库不带日志。
-ansi   为装入的数据库建立与ANSI方式兼容的事务日志
-d   指定用来存储新建数据库的dbspace,如果没用使用-d选项指定dbspace,则默认建立在根dbspace中
-t指定存储ASCII文件和模式文件的磁带设备名,必须指定BLOCKSIZE
-b指定磁带设备 block的大小,以KB为单位
-s指定磁带设备的大小,以KB为单位
-f如果将数据文件存储到磁带上,则-f选项用于指定存储在磁盘上的模式文件名
-c指示如果没有致命错误命令程序继续执行,直到一个重大错误产生。
-q在标准输出设备上不显示错信息、警告和所生成的SQL数据定义语句
-X标识符字段中的HEX二进制数据

 以下例子为将上述导出的数据库testdb导入到数据空间datadbs1中:

[informix@vm84145 data]$ dbimport testdb -d datadbs1 -i /home/informix/data/330 - Cannot create or rename the database.100 - ISAM error: duplicate value for a record with unique key.[informix@vm84145 data]$ dbaccess sysmaster -Database selected.> drop database testdb;Database dropped.[informix@vm84145 data]$ dbimport testdb -d datadbs1 -i /home/informix/data/

导入时,确认数据库testdb不存在,如果存在会报错。

3. 使用dbexport/dbimport注意点

  • 执行dbexport命令必须是informix用户或具有DBA访问权限的用户;

  • 用dbexport备份的数据必须用dbimport命令恢复;

  • 用户可以通过编辑模式文件来改变dbimport生成的数据库,如改变数据库名称或相关的表信息;

  • dbexport以独占方式(exclusive mode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作;

  • 模式文件不保留数据库的日志文件,用户使用dbimport命令建立数据库时必须为新建数据库选择一种日志方式(ANSI、buffered、nobuffered类型);

  • dbexport/dbimport命令支持在不同平台不同数据库版本之间迁移数据;

  • 使用dbexport/dbimport命令备份/恢复数据,可以起到消除数据分配空间碎块的作用,提高数据库整体运行效率。

更多信息内容请移步星瑞格官方社区,期待大家加入

Sinoregal Tech ForumAsk questions, share solutions, and get to know the Sinoregal community.icon-default.png?t=N7T8https://forum.sinoregal.cn/

这篇关于SinoDB备份恢复工具之dbexport/dbimport的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893963

相关文章

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe