当前位置:首页 » 存储配置 » 数据库归档存储

数据库归档存储

发布时间: 2022-06-12 07:24:22

数据库数据归档,有什么好办法

pt-archiver原理解析
作为MySQL DBA,可以说应该没有不知道pt-archiver了,作为pt-toolkit套件中的重要成员,往往能够轻松帮助DBA解决数据归档的问题。例如线上一个流水表,业务仅仅只需要存放最近3个月的流水数据,三个月前的数据做归档即可,那么pt-archiver就可以轻松帮你完成这件事情,甚至你可以配置成自动任务,无需人工干预。

作为DBA,我们应该知其然更应该知其所以然,这样我们也能够放心地使用pt工具。相信很多DBA都研究过pt-online-schema-change的原理,那么今天我们深入刨一刨pt-archiver的工作原理。
一、原理观察
土人有土办法,我们直接开启general log来观察pt-archiver是如何完成归档的。
命令
pt-archiver --source h=127.0.0.1,u=xucl,p=xuclxucl,P=3306,D=xucl,t=t1 --dest h=127.0.0.1,P=3306,u=xucl,p=xuclxucl,D=xucl_archive,t=t1 --progress 5000 \
--statistics --charset=utf8mb4 --limit=10000 --txn-size 1000 --sleep 30
常用选项
--analyze
指定工具完成数据归档后对表执行'ANALYZE TABLE'操作。指定方法如'--analyze=ds',s代表源端表,d代表目标端表,也可以单独指定。
--ask-pass
命令行提示密码输入,保护密码安全,前提需安装模块perl-TermReadKey。
--buffer
指定缓冲区数据刷新到选项'--file'指定的文件并且在提交时刷新。
只有当事务提交时禁用自动刷新到'--file'指定的文件和刷新文件到磁盘,这意味着文件是被操作系统块进行刷新,因此在事务进行提交之前有一些数据隐式刷新到磁盘。默认是每一行操作后进行文件刷新到磁盘。
--bulk-delete
指定单个语句删除chunk的方式来批量删除行,会隐式执行选项'--commit-each'。
使用单个DELETE语句删除每个chunk对应的表行,通常的做法是通过主键进行逐行的删除,批量删除在速度上会有很大的提升,但如果有复杂的'WHERE'条件就可能会更慢。
--[no]bulk-delete-limit
默认值:yes
指定添加选项'--bulk-delete'和'--limit'到进行归档的语句中。
--bulk-insert
使用LOAD DATA LOCAL INFILE的方法,通过批量插入chunk的方式来插入行(隐式指定选项'--bulk-delete'和'--commit-each')
而不是通过逐行单独插入的方式进行,它比单行执行INSERT语句插入的速度要快。通过隐式创建临时表来存储需要批量插入的行(chunk),而不是直接进行批量插入操作,当临时表中完成每个chunk之后再进行统一数据加载。为了保证数据的安全性,该选项会强制使用选项'--bulk-delete',这样能够有效保证删除是在插入完全成功之后进行的。
--channel
指定当主从复制环境是多源复制时需要进行归档哪个主库的数据,适用于多源复制中多个主库对应一个从库的情形。
--charset,-A
指定连接字符集。
--[no]check-charset
默认值:yes
指定检查确保数据库连接时字符集和表字符集相同。
--[no]check-columns
默认值:yes
指定检查确保选项'--source'指定的源端表和'--dest'指定的目标表具有相同的字段。
不检查字段在表的排序和字段类型,只检查字段是否在源端表和目标表当中都存在,如果有不相同的字段差异,则工具报错退出。如果需要禁用该检查,则指定'--no-check-columns'。
--check-slave-lag
指定主从复制延迟大于选项'--max-lag'指定的值之后暂停归档操作。默认情况下,工具会检查所有的从库,但该选项只作用于指定的从库(通过DSN连接方式)。
--check-interval
默认值:1s
如果同时指定了选项'--check-slave-lag',则该选项指定的时间为工具发现主从复制延迟时暂停的时间。每进行操作100行时进行一次检查。
--columns,-c
指定需要归档的表字段,如有多个则用','(逗号)隔开。
--commit-each
指定按每次获取和归档的行数进行提交,该选项会禁用选项'--txn-size'。
在每次获取表数据并进行归档之后,在获取下一次数据和选项'--sleep'指定的休眠时间之前,进行事务提交和刷新选项'--file'指定的文件,通过选项'--limit'控制事务的大小。
--host,-h
指定连接的数据库IP地址。
--port,-P
指定连接的数据库Port端口。
--user,-u
指定连接的数据库用户。
--password,-p
指定连接的数据库用户密码。
--socket,-S
指定使用SOCKET文件连接。
--databases,-d
指定连接的数据库
--source
指定需要进行归档操作的表,该选项是必须指定的选项,使用DSN方式表示。
--dest
指定要归档到的目标端表,使用DSN方式表示。
如果该选项没有指定的话,则默认与选项'--source'指定源端表为相同表。

--where
指定通过WHERE条件语句指定需要归档的数据,该选项是必须指定的选项。不需要加上'WHERE'关键字,如果确实不需要WHERE条件进行限制,则指定'--where 1=1'。
--file
指定表数据需要归档到的文件。使用类似MySQL DATE_FORMAT()格式化命名方式。
文件内容与MySQL中SELECT INTO OUTFILE语句使用相同的格式,文件命名选项如下所示:
%Y:年,4位数(Year, numeric, four digits)
%m:月,2位数(Month, numeric (01..12))
%d:日,2位数(Day of the month, numeric (01..31))
%H:小时(Hour (00..23))
%i:分钟(Minutes, numeric (00..59))
%s:秒(Seconds (00..59))
%D:数据库名(Database name)
%t:表名(Table name)
例如:--file '/var/log/archive/%Y-%m-%d-%D.%t'
--output-format
指定选项'--file'文件内容输出的格式。
默认不指定该选项是以制表符进行字段的分隔符,如果指定该选项,则使用','(逗号)作为字段分隔符,使用'"'(双引号)将字段括起。用法示例:'--output-format=mp'。
--for-update
指定为每次归档执行的SELECT语句添加FOR UPDATE子句。--share-lock
指定为每次归档执行的SELECT语句添加LOCK IN SHARE MODE子句。
--header
指定在文件中第一行写入字段名称作为标题。
--ignore
指定为INSERT语句添加IGNORE选项。
--limit
默认值:1
指定每条语句获取表和归档表的行数。
--local
指定不将OPTIMIZE和ANALYZE语句写入binlog。
--max-lag
默认值:1s
指定允许主从复制延迟时长的最大值,单位秒。如果在每次获取行数据之后主从延迟超过指定的值,则归档操作将暂停执行,暂停休眠时间为选项'--check-interval'指定的值。待休眠时间结束之后再次检查主从延迟时长,检查方法是通过从库查询的'Seconds_Behind_Master'值来确定。如果主从复制延迟一直大于该参数指定值或者从库停止复制,则操作将一直等待直到从库重新启动并且延迟小于该参数指定值。
--no-delete
指定不删除已被归档的表数据。
--optimize
指定工具完成数据归档后对表执行'OPTIMIZE TABLE'操作。指定方法如'--analyze=ds',s代表源端表,d代表目标端表,也可以单独指定。
--primary-key-only
指定只归档主键字段,是选项'--columns=主键'的简写。
如果工具归档的操作是进行DELETE清除时最有效,因为只需读取主键一个字段而无需读取行所有字段。
--progress
指定每多少行打印进度信息,打印当前时间,已用时间以及多少行进行归档。
--purge
指定执行的清除操作而不是归档操作。允许忽略选项'--dest'和'--file'进行操作,如果只是清除操作可以结合选项'--primary-key-only'会更高效。
--quiet,-q
指定工具静默执行,不输出任何的执行信息。
--replace
指定写入选项'--dest'指定目标端表时改写INSERT语句为REPLACE语句。
--retries
默认值:1
指定归档操作遇到死锁或超时的重试次数。当重试次数超过该选项指定的值时,工具将报错退出。
--run-time
指定工具归档操作在退出之前需要运行的时间。允许的时间后缀名为s=秒,m=分,h=小时,d=天,如果没指定,默认为s。
--[no]safe-auto-increment
默认值:yes
指定不使用自增列(AUTO_INCREMENT)最大值对应的行进行归档。
该选项在进行归档清除时会额外添加一条WHERE子句以防止工具删除单列升序字段具有的具有AUTO_INCREMENT属性最大值的数据行,为了在数据库重启之后还能使用到AUTO_INCREMENT对应的值,但这会引起无法归档或清除字段对应最大值的行。
--set-vars
默认:
wait_timeout=10000
innodb_lock_wait_timeout=1
lock_wait_timeout=60
工具归档时指定参数值,如有多个用','(逗号)分隔。如'--set-vars=wait_timeout=5000'。
--skip-foreign-key-checks
指定使用语句SET FOREIGN_KEY_CHECKS = 0禁用外键检查。
--sleep
指定工具在通过SELECT语句获取归档数据需要休眠的时间,默认值是不进行休眠。在休眠之前事务并不会提交,并且选项'--file'指定的文件不会被刷新。如果指定选项'--commit-each',则在休眠之前会进行事务提交和文件刷新。
--statistics
指定工具收集并打印操作的时间统计信息。
统计信息示例如下:
'
Started at 2008-07-18T07:18:53, ended at 2008-07-18T07:18:53
Source: D=db,t=table
SELECT 4
INSERT 4
DELETE 4
Action Count Time Pct
commit 10 0.1079 88.27
select 5 0.0047 3.87
deleting 4 0.0028 2.29
inserting 4 0.0028 2.28
other 0 0.0040 3.29
--txn-size
默认:1
指定每个事务处理的行数。如果是0则禁用事务功能。
--version
显示工具的版本并退出。
--[no]version-check
默认值:yes
检查Percona Toolkit、MySQL和其他程序的最新版本。
--why-quit
指定工具打印当非因完成归档行数退出的原因。
在执行一个自动归档任务时该选项与选项'--run-time'一起使用非常方便,这样可以确定归档任务是否在指定的时间内完成。如果同时指定了选项'--statistics',则会打印所有退出的原因。
二、原理解析
根据general log的输出,我们整理出时序表格如下
三、其他说明
咋一看这个过程貌似也没有什么问题,但是,假如在原表扫描出数据,插入到新表的过程中,旧数据发生了变化怎么办?
带着这个疑问,我们进行了源码的跟踪,我们在pt-archiver的6839行打上了断点
然后我分别在几个session窗口做了如下动作
最后pt-archiver输出如下:
# A software update is available:
TIME ELAPSED COUNT
2020-04-08T09:13:21 0 0
2020-04-08T09:13:21 0 1
Started at 2020-04-08T09:13:21, ended at 2020-04-08T09:13:51
Source: A=utf8mb4,D=xucl,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
Dest: A=utf8mb4,D=xucl_archive,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
SELECT 1
INSERT 1
DELETE 1
Action Count Time Pct
sleep 1 30.0002 99.89
inserting 1 0.0213 0.07
commit 2 0.0080 0.03
select 2 0.0017 0.01
deleting 1 0.0005 0.00
other 0 0.0008 0.00
很明显,id=3这条记录并没有进行归档(我们这里是改了条件列,实际生产中可能是更改了其他列,造成归档数据不准确)
那么如何来解决这种情况的发生呢?
显然,数据库在数据库中可以通过加排它锁来防止其他程序修改对应的数据,pt-archiver其实早就已经帮我们考虑到了这样的情况,pt-archiver提供了两种选择
--for-update:Adds the FOR UPDATE modifier to SELECT statements
--share-lock:Adds the LOCK IN SHARE MODE modifier to SELECT statements
四、总结
pt-archiver作为归档工具无疑是MySQL DBA日常运维的大利器之一,在使用过程中在知道如何使用的基础上也能够知晓其原理
归档过程中最好能对归档记录进行加锁操作,以免造成归档数据不准确
在主从环境中,归档过程最好控制速度,以免造成主从延迟
尽量控制好chunk的大小,不要过大,造成大事务

② ORACLE数据库归档是什么含义

把数据库信息的改变保存起来,让以后数据库崩溃时恢复的时候使用。

③ 数据归档的数据仓库存档解决方案

Informatica Data Archive 是一种高度可扩展的高性能数据存档软件。 它可帮助 IT 组织经济有效地管理各种企业业务应用程序中的数据增长,以提高其性能并降低 IT 成本。 借助 Informatica Data Archive,IT 团队可以安全地存档应用程序数据,提供对存档数据的无缝访问,并按需向业务部门提供存档数据 。 存档非活动数据以提高应用程序性能 安全地淘汰遗留应用程序以降低 IT 成本 借助全面实施的保留和处置政策确保合规性和对数据存档的轻松访问 Informatica Data Archive 主要功能之深入分析数据增长 分析应用程序之间的表空间、架构和模块的数据增长率 有助于确定有效的存档策略及更好地管理数据增长 Informatica Data Archive 主要功能之可靠的数据存档支持 将非活动数据移到其他数据库实例,或置于不可修改且高度压缩的安全文件中,以供日后检索 存档完整的业务条目,包括事务数据、主数据、参考数据和元数据。 Informatica Data Archive 主要功能之非结构化数据存档支持 将文档、附件、图像和音频文件存档 将电信交换的详细呼叫记录 (CDR) 存档,并将其转化为可轻松搜索的结构化存档格式 Informatica Data Archive 主要功能之无缝访问数据存档 可从现有应用程序界面访问数据库实例中存档的数据,以及恢复完整的存档、选定业务实体或存档快照 访问存档数据时与原应用程序具有类似的外观和体验,或从标准的报告和商业智能工具,访问存档数据 Informatica Data Archive 主要功能之所有数据存档的内在合规性 保证所有数据存档的事务完整性和参考完整性 控制、跟踪存档过程和对存档数据的所有访问、保留、清除和保留活动 Informatica Data Archive 主要功能之全套应用程序加速器 提供预建的加速器,其中含有针对 Oracle E-Business Suite、PeopleSoft、Siebel、SAP 等业务应用程序的自定义业务规则和数据库存档策略 使用简单的图形用户界面来显示、编辑和扩展存档模板(加速器),也可用来构建新的数据存档模型和业务规则以对自定义应用程序进行存档 Informatica Data Archive 主要功能之广泛的连接性和扩展性 可连接到众多数据库、大型机和业务应用程序,包括Oracle、IBM DB2、MS SQL Server、Teradata、VSAM、Adabas 和 JD Edwards 轻松地与电子邮件和文件存档解决方案或企业内容管理解决方案相集成 使用Informatica Data Archive,可以存档到另一个数据仓库实例,或存档到能极大节省存储空间的高度压缩文件格式。随着数据变旧和访问需求随时间变化,Informatica Data Archive自动将数据从一种存档格式转成另一种格式,并从一个位置迁移到另一个位置,启动多个经济高效的存储层。
Informatica Data Archive只允许存档事务数据和明细数据,这些数据是增长最快的。在维护数据完整性以及指向可能仍然存储在生产系统中的维表和聚合表的链接时执行此操作。最后 ,有些较旧的维记录也可能需要存档。Informatica Data Archive非常清楚应存档哪些类型的表来支持最优的存档策略。
Informatica Data Archive提供一个简单易用的图形用户界面,不需大量的配置、编写脚本或编制程序就可以轻松定义存档工作。利用提供多种存档格式和辅助功能选项的数据仓库存档解决方案,IT组织可以在存档大小、性能、应用程序可存取性以及成本之间确定一个适当的平衡点。 您的公司可能已经有用于电子邮件和文件的存档解决方案。此外,您的 IT 组织可能也有自己的企业内容管理 (ECM) 解决方案标准来管理您的非结构化数据。为了支持合规性需求并确保留存数据的不变和单实例存储,可以使用需要专属连接的存档 平台,如内容寻址存储 (CAS)。
为 了 让 您 的 组 织 快 速 而 精 确 地 响 应 审 计 请 求 以 及 经 济 高 效 地 长 期 留 存数据,Informatica Data Archive 允许您集中管理和发现所有类型(结构数据和非结构数据)的存档数据。这通过与现有存档、内容管理和存储解决方案(包括EMC Documentum、Symantec Enterprise Vault 和 Discovery Accelerator、CommVault Simpana 和 eDiscovery)集成来完成,以促进所有类型存档数据的集中管理和电子搜索。
Informatica Data Archive 使组织能够处理大型跨国企业通常拥有的海量数据。通过提供全面而强大的技术来轻松、安全地存档非活动数据,然后在需要时很容易访问数据,Informatica Data Archive 提供了全面的存档解决方案,可提供最优化、经济高效的数据仓库基础设施。 Informatica Data Archive 使组织能够处理大型跨国企业通常拥有的海量数据。通过提供全面而强大的技术来轻松、安全地存档非活动数据,然后在需要时很容易访问 数据,Informatica Data Archive 提供了全面的存档解决方案,可提供最优化、经济高效的数据仓库基础设施。
当您的 IT 组织实施一个完整、可扩展和灵活的存档解决方案时,可以通过以下方面
来降低数据仓库及其他应用程序的总拥有成本:
· 降低存储、服务器、软件和维护成本
· 改善数据仓库性能
· 提高数据仓库可用性
· 支持遵守内部、行业及政府法令和法规
同时,Informatica 和您的 IT 组织可以结合数据的业务价值与最适合和经济高效的 IT
基础设施来管理它。

④ 数据库中的归档是什么意思

这里就涉及到重做日志得问题了,在归档模式下,当日志文件进行切换得时候,进程LGWR会将日志写入磁盘,作为日志文件为以后的数据库恢复准备,在非归档模式下就不行,当日志文件进行切换得时候会覆盖原来的日志文件,对于非归档模式一般只能进行完全恢复!不过建议应该把DB设为归档模式

⑤ 如何实现大数据量数据库的历史数据归档

使用工具pt-archiver
原理解析
作为MySQL DBA,可以说应该没有不知道pt-archiver了,作为pt-toolkit套件中的重要成员,往往能够轻松帮助DBA解决数据归档的问题。例如线上一个流水表,业务仅仅只需要存放最近3个月的流水数据,三个月前的数据做归档即可,那么pt-archiver就可以轻松帮你完成这件事情,甚至你可以配置成自动任务,无需人工干预。

作为DBA,我们应该知其然更应该知其所以然,这样我们也能够放心地使用pt工具。相信很多DBA都研究过pt-online-schema-change的原理,那么今天我们深入刨一刨pt-archiver的工作原理。
一、原理观察
土人有土办法,我们直接开启general log来观察pt-archiver是如何完成归档的。
命令
pt-archiver --source h=127.0.0.1,u=xucl,p=xuclxucl,P=3306,D=xucl,t=t1 --dest h=127.0.0.1,P=3306,u=xucl,p=xuclxucl,D=xucl_archive,t=t1 --progress 5000 \
--statistics --charset=utf8mb4 --limit=10000 --txn-size 1000 --sleep 30
常用选项
--analyze
指定工具完成数据归档后对表执行'ANALYZE TABLE'操作。指定方法如'--analyze=ds',s代表源端表,d代表目标端表,也可以单独指定。
--ask-pass
命令行提示密码输入,保护密码安全,前提需安装模块perl-TermReadKey。
--buffer
指定缓冲区数据刷新到选项'--file'指定的文件并且在提交时刷新。
只有当事务提交时禁用自动刷新到'--file'指定的文件和刷新文件到磁盘,这意味着文件是被操作系统块进行刷新,因此在事务进行提交之前有一些数据隐式刷新到磁盘。默认是每一行操作后进行文件刷新到磁盘。
--bulk-delete
指定单个语句删除chunk的方式来批量删除行,会隐式执行选项'--commit-each'。
使用单个DELETE语句删除每个chunk对应的表行,通常的做法是通过主键进行逐行的删除,批量删除在速度上会有很大的提升,但如果有复杂的'WHERE'条件就可能会更慢。
--[no]bulk-delete-limit
默认值:yes
指定添加选项'--bulk-delete'和'--limit'到进行归档的语句中。
--bulk-insert
使用LOAD DATA LOCAL INFILE的方法,通过批量插入chunk的方式来插入行(隐式指定选项'--bulk-delete'和'--commit-each')
而不是通过逐行单独插入的方式进行,它比单行执行INSERT语句插入的速度要快。通过隐式创建临时表来存储需要批量插入的行(chunk),而不是直接进行批量插入操作,当临时表中完成每个chunk之后再进行统一数据加载。为了保证数据的安全性,该选项会强制使用选项'--bulk-delete',这样能够有效保证删除是在插入完全成功之后进行的。
--channel
指定当主从复制环境是多源复制时需要进行归档哪个主库的数据,适用于多源复制中多个主库对应一个从库的情形。
--charset,-A
指定连接字符集。
--[no]check-charset
默认值:yes
指定检查确保数据库连接时字符集和表字符集相同。
--[no]check-columns
默认值:yes
指定检查确保选项'--source'指定的源端表和'--dest'指定的目标表具有相同的字段。
不检查字段在表的排序和字段类型,只检查字段是否在源端表和目标表当中都存在,如果有不相同的字段差异,则工具报错退出。如果需要禁用该检查,则指定'--no-check-columns'。
--check-slave-lag
指定主从复制延迟大于选项'--max-lag'指定的值之后暂停归档操作。默认情况下,工具会检查所有的从库,但该选项只作用于指定的从库(通过DSN连接方式)。
--check-interval
默认值:1s
如果同时指定了选项'--check-slave-lag',则该选项指定的时间为工具发现主从复制延迟时暂停的时间。每进行操作100行时进行一次检查。
--columns,-c
指定需要归档的表字段,如有多个则用','(逗号)隔开。
--commit-each
指定按每次获取和归档的行数进行提交,该选项会禁用选项'--txn-size'。
在每次获取表数据并进行归档之后,在获取下一次数据和选项'--sleep'指定的休眠时间之前,进行事务提交和刷新选项'--file'指定的文件,通过选项'--limit'控制事务的大小。
--host,-h
指定连接的数据库IP地址。
--port,-P
指定连接的数据库Port端口。
--user,-u
指定连接的数据库用户。
--password,-p
指定连接的数据库用户密码。
--socket,-S
指定使用SOCKET文件连接。
--databases,-d
指定连接的数据库
--source
指定需要进行归档操作的表,该选项是必须指定的选项,使用DSN方式表示。
--dest
指定要归档到的目标端表,使用DSN方式表示。
如果该选项没有指定的话,则默认与选项'--source'指定源端表为相同表。

--where
指定通过WHERE条件语句指定需要归档的数据,该选项是必须指定的选项。不需要加上'WHERE'关键字,如果确实不需要WHERE条件进行限制,则指定'--where 1=1'。
--file
指定表数据需要归档到的文件。使用类似MySQL DATE_FORMAT()格式化命名方式。
文件内容与MySQL中SELECT INTO OUTFILE语句使用相同的格式,文件命名选项如下所示:
%Y:年,4位数(Year, numeric, four digits)
%m:月,2位数(Month, numeric (01..12))
%d:日,2位数(Day of the month, numeric (01..31))
%H:小时(Hour (00..23))
%i:分钟(Minutes, numeric (00..59))
%s:秒(Seconds (00..59))
%D:数据库名(Database name)
%t:表名(Table name)
二、原理解析
根据general log的输出,我们整理出时序表格如下
三、其他说明
咋一看这个过程貌似也没有什么问题,但是,假如在原表扫描出数据,插入到新表的过程中,旧数据发生了变化怎么办?
带着这个疑问,我们进行了源码的跟踪,我们在pt-archiver的6839行打上了断点
然后我分别在几个session窗口做了如下动作
最后pt-archiver输出如下:
# A software update is available:
TIME ELAPSED COUNT
2020-04-08T09:13:21 0 0
2020-04-08T09:13:21 0 1
Started at 2020-04-08T09:13:21, ended at 2020-04-08T09:13:51
Source: A=utf8mb4,D=xucl,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
Dest: A=utf8mb4,D=xucl_archive,P=3306,h=127.0.0.1,p=...,t=t1,u=xucl
SELECT 1
INSERT 1
DELETE 1
Action Count Time Pct
sleep 1 30.0002 99.89
inserting 1 0.0213 0.07
commit 2 0.0080 0.03
select 2 0.0017 0.01
deleting 1 0.0005 0.00
other 0 0.0008 0.00
很明显,id=3这条记录并没有进行归档(我们这里是改了条件列,实际生产中可能是更改了其他列,造成归档数据不准确)
那么如何来解决这种情况的发生呢?
显然,数据库在数据库中可以通过加排它锁来防止其他程序修改对应的数据,pt-archiver其实早就已经帮我们考虑到了这样的情况,pt-archiver提供了两种选择
--for-update:Adds the FOR UPDATE modifier to SELECT statements
--share-lock:Adds the LOCK IN SHARE MODE modifier to SELECT statements
四、总结
pt-archiver作为归档工具无疑是MySQL DBA日常运维的大利器之一,在使用过程中在知道如何使用的基础上也能够知晓其原理
归档过程中最好能对归档记录进行加锁操作,以免造成归档数据不准确
在主从环境中,归档过程最好控制速度,以免造成主从延迟
尽量控制好chunk的大小,不要过大,造成大事务

⑥ oracle数据库归档的必要性以及如何进行归档

对于重要的生产业务建议开启归档模式,通过对在线日志的归档,可以在数据丢失时进行数据恢复、部分操作也只有在归档模式下才能实施、分析日志内容等。
对于非归档数据库开启归档功能操作如下:
1)SQL> conn / as sysdba (以DBA身份连接数据库)

2)SQL> shutdown immediate; (立即关闭数据库)

3)SQL> startup mount (启动实例并加载数据库,但不打开)

4)SQL> alter database archivelog; (更改数据库为归档模式)

5)SQL> alter database open; (打开数据库)

6)SQL> alter system archive log start; (启用自动归档)

7)SQL> exit (退出)

⑦ 数据库归档是什么意思

将不再经常使用的数据移到一个单独的存储设备来进行长期保存的过程。数据存档由旧的数据组成,但它是以后参考所必需且很重要的数据,其数据必须遵从规则来保存。数据存档具有索引和搜索功能,这样文件可以很容易地找到。

可以利用数据存档,以物理方式自动将数据仓库中具有较低业务价值的数据迁移到更适合、更经济高效的存储层。有许多标准可用来确定业务价值较低的数据:如数据访问和性能需求、数据的使用年限、数据属于哪个地区或部门,以及分区用途。

当访问率低的数据发展为消耗数据仓库的最大一份,最合理的处理方式是以物理和逻辑方式从核心生产数据仓库中分离此数据。



(7)数据库归档存储扩展阅读

归档的目的是长时间存放有组织的数据集,确保其将来能够被精细地检索。改进的磁带是这种应用最理想的方式。

备份是短时间存储那些频繁更换或更新的数据的副本。这相当于一批廉价的离线介质上的数据副本。通过这种方式,可以把数据与那些基于磁盘的数据中断事件隔离开,以免同时遭到损坏,这样,如果原始数据或存储平台损坏的话,数据就可以恢复到任何磁盘阵列。

在磁盘到磁盘复制解决方案中,复制只能发生在两个完全相同的设备中。此外,复制过程还可以中断,这样你就可以检查在主数据存储和镜像仓库之间的增量或差异。不过,这样它可能会导致在磁盘到磁盘的复制过程中产生很多不易察觉的错误。

⑧ oracle数据库归档是什么意思,有什么用

oracle归档是oracle管理中的一款软件,是记录任何对数据库操作的日志文件,归档日志

oracle使用循环日志方式 ,当日志文件被循环使用的时候,日志内容就被覆盖了。

当打开日志归档时,可以将日志内容被覆盖前存储到归档目录中。

配合备份策略,可以将数据库恢复到任一时间点。

⑨ 提供一些大规模数据库归档的解决方案

数据立方云计算一体机是大数据处理平台,采用英特尔E5家族系列CPU及英特尔服务器组件,具有超高性价比、超高处理性能、超高可靠性等特性,提供千亿纪录级别的海量数据实时入库、实时检索等功能。
数据立方云计算一体机是一种处理海量数据的高效分布式软硬件集合的云处理平台,该平台可以从TB乃至PB级的数据中挖掘出有用的信息,并对这些海量信息进行快捷、高效的处理。平台支持100GBps以上量级的数据流实时索引,秒级响应客户请求,秒级完成数据处理、查询和分析工作。平台可以对入口数据进行实时索引,对数据进行分析、清理、分割,并将其存储在云存储系统上,不仅在入库和检索时具有非常高的性能优势,还可以支持数据深度挖掘和商业智能分析等业务。

⑩ 用户归档文件存放在什么位置的

WINCC的归档数据在建立之后就存储在.mdf文件中,同时也会生成一个.ldf文件,保存在SQL Server数据库中。
主数据库文件保存在项目文件夹的根目录下;变量记录的快速归档文件保存在项目路径的ArchiveManager文件夹下的TagLoggingFast文件夹中;变量记录的慢速归档文件保存在项目路径的ArchiveManager文件夹下的TagLoggingSlow文件夹中;报警记录保存在项目路径的ArchiveManager文件夹下的AlarmLogging文件夹中。

热点内容
win2008ftp中文乱码 发布:2025-01-11 06:10:03 浏览:867
平板配置为什么这么低 发布:2025-01-11 06:05:30 浏览:620
可编程视频 发布:2025-01-11 06:03:24 浏览:784
java多线程编程实战 发布:2025-01-11 06:03:17 浏览:630
图的算法java 发布:2025-01-11 05:57:07 浏览:481
梯形图编译器 发布:2025-01-11 05:56:26 浏览:260
安卓framework编译 发布:2025-01-11 05:55:00 浏览:695
加密学原理 发布:2025-01-11 05:54:20 浏览:788
ocr编程 发布:2025-01-11 05:51:24 浏览:253
androiddecoder 发布:2025-01-11 05:44:13 浏览:732