Linux系统db_load命令

Linux系统db_load命令。原文翻译。

bash 复制代码
db_load [-nTV] [-b ext_file_dir] [-c name=value] [-f file] [-h home] [-P password] [-o ext_file_threshold] [-t btree | hash | queue | recno] file

db_load 工具从标准输入读取数据并将其加载到数据库文件 中。如果数据库文件不存在,则会创建该文件。

db_load 的输入必须采用db_dump实用程序指定的输出格式,或采用下文**-T**选项指定的格式。

  • -b 标识存储外部文件数据的目录。如果未指定此选项,则外部文件数据将放置在数据库环境中的子目录中。另请参见**-o**选项。

  • -c 指定配置选项,忽略它们基于输入可能具有的任何值。命令行格式为name=value 。有关**-c**选项支持的关键字列表,请参阅下面的"支持的关键字"部分。

  • -f 从指定的输入文件读取,而不是从标准输入读取。

  • -h 为数据库环境指定主目录。如果指定了主目录,则使用DB_ENV->open()的DB_INIT_LOCK、DB_INIT_LIOG、DB_INIT _MPOOL、DB_INITI_TXN和DB_USE_ENVIRON标志打开数据库环境(这意味着在其他进程使用数据库时,可以使用DB_load将数据加载到数据库中。)如果DB_ENV-->open()调用失败,或者没有指定主目录,数据库仍会更新,但环境会被忽略;例如不进行锁定。

  • -n加载到已存在的数据库时,不要覆盖数据库中的现有键。如果由于这个原因无法将密钥/数据对加载到数据库中,则会在标准错误输出上显示警告消息,并跳过密钥/数据对。

  • -o 标识外部文件阈值(以字节为单位)。此阈值决定何时将数据项存储为外部文件。小于此阈值的数据项作为正常数据存储在数据库中。大于此大小的数据项存储在磁盘上为此目的留出的子目录中。使用**-b**命令行选项标识外部文件数据的存储位置。

  • -P指定环境密码。尽管Berkeley DB实用程序会尽快覆盖密码字符串,但请注意,在无特权用户可以看到命令行参数的系统上,或者在实用程序无法覆盖包含命令行参数内存的系统上可能存在漏洞窗口。

  • -r 重置数据库的文件ID或日志序列号(LSN)。事务环境中的所有数据库页面都包含对环境日志记录的引用。为了将数据库复制到不同的数据库环境中,必须重置对旧环境日志记录的数据库页面引用,否则在新环境中修改数据库时可能会发生数据损坏。-r lsn选项重置数据库的日志序列号。

所有数据库都包含一个ID字符串,用于在数据库环境缓存中标识数据库。如果复制数据库,并在与具有相同ID字符串的另一个文件相同的环境中使用,则可能会发生损坏。-r fileid选项将数据库的文件ID重置为新值。

在这两种情况下,文件参数指定的物理文件都会被就地修改。

  • -T -T选项允许非Berkeley DB应用程序轻松地将文本文件加载到数据库中。-T选项允许非Berkeley DB应用程序轻松地将文本文件加载到数据库中。

如果要创建的数据库是Btree或Hash类型,或者关键字 被指定为set,则输入必须是成对的文本行,其中成对的第一行是关键项,成对的第二行是其相应的数据项。如果要创建的数据库类型为Queue或Recno,并且未设置关字键,则输入必须是文本行,其中每一行都是数据库的新数据项。

一个简单的转义机制应用于文本输入,其中换行符和反斜杠(\)字符是特殊的。换行符被解释为记录分隔符。文本中的反斜杠字符将以两种方式之一进行解释:如果反斜杠字符位于另一个反斜杠字符之前,则这对字符将被解释为文字反斜杠。如果反斜杠字符位于任何其他字符之前,则反斜杠后面的两个字符将被解释为单个字符的十六进制规范;例如,\0a是ASCII字符集中的换行符。

因此,必须转义文本输入中自然出现的任何反斜杠或换行符,以避免db_load的误解。

如果指定了**-T** 选项,则必须使用**-T**选项指定基础访问方法类型。

Btree和Hash数据库可以从一个转换到另一个。队列和Recno数据库可以从一个转换为另一个。如果在调用db_dump时指定了**-k**选项,则可以将Queue和Recno数据库转换为Btree或Hash,键为整数记录号。

  • -V将库版本号写入标准输出,然后退出。

db_load 实用程序可以与Berkeley db环境一起使用(如-h选项、环境变量db_HOME 所述,或者因为该实用程序在包含Berkeley db环境的目录中运行)。为了避免在使用Berkeley DB环境时环境损坏,应始终给予DB_load从环境中分离并优雅退出的机会。要使db_load释放所有环境资源并干净退出,请向其发送中断信号(SIGINT)。

db_load实用程序成功后退出0,如果一个或多个键/数据对因键已存在而未加载到数据库中,则退出1,如果发生错误,则退出>1。

相关推荐
学编程的小程9 分钟前
从“兼容”到“超越”:金仓KESBSON引擎如何借多模融合改写文档数据库规则
数据库
千层冷面12 分钟前
数据库分库分表
java·数据库·mysql·oracle
DBA小马哥30 分钟前
金仓数据库引领国产化替代新范式:构建高效、安全的文档型数据库迁移解决方案
数据库·安全·mongodb·dba·迁移学习
企业对冲系统官1 小时前
基差风险管理系统日志分析功能的架构与实现
大数据·网络·数据库·算法·github·动态规划
冉冰学姐1 小时前
SSM学毕电设信息采集系统74v6w(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·学生管理·ssm 框架应用·学毕电设·信息采集系统
茁壮成长的露露1 小时前
MongoDB备份恢复工具mongodump、mongorestore
数据库·mongodb
香气袭人知骤暖2 小时前
SQL慢查询常见优化步骤
android·数据库·sql
Star Learning Python2 小时前
MySQL日期时间的处理函数
数据库·sql
JosieBook2 小时前
【数据库】多模融合,智启新篇:金仓数据库重塑国产文档数据库范式
数据库
韩立学长2 小时前
基于Springboot流浪动物救助系统o8g44kwc(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端