您好,我是 Oracle 数据库新手。使用Oracle 11g R2
我想知道在归档日志目标创建的归档日志的用途,以及它们对数据库备份有何帮助。
假设我将生产数据库备份到“2014 年 9 月 15 日”,并且我想将开发数据库数据恢复到“2014 年 9 月 20 日”,如何使用备份文件和存档日志恢复数据。
每天都会经历当天所有事务日志备份的总和约为 1GB,而在那周结束时,完整数据库备份约为 180MB。对于用于向供应商/客户购买/销售商品的商业数据库,与实际数据库的大小相比,一天的事务日志备份的总大小至少比我预期的大 10 倍。
如何找到哪些 sql 插入/更新/删除/等操作导致如此多/如此大的事务?我设想某个地方有一些错误的代码,它们会重写整个表只是为了更新/插入 1 行,或者一遍又一遍地更新相同的行。在检查所有数据库应用程序代码之前,我想知道什么是错误事务。
大多数问题,包括为什么事务日志不断增长或空间不足?和其他文章涉及的人的事务日志文件不断增长,通常是因为他们从不备份它。我的问题并非如此。我的事务日志文件的大小不再增加,我的问题是如何查找哪些事务导致每个备份的大小定期变大,而不是日志文件的大小。
我们有一个 MS SQL Server 2012 数据库
我意识到下面列出的实际大小在计划中并不大,因为该数据库只有几个月的历史,但如果随着数据库的增长这种趋势继续下去,我预计会在多个方面出现麻烦。以下是过去 2 周的备份文件大小。
14/11/2014 11:05 PM 200,873,984 Production_backup_2014_11_14_230500_8220928.trn 14/11/2014 11:18 PM 173,499,904 Production_backup_2014_11_14_231753_3214232.bak 15/11/2014 06:00 AM 321,033,728 Production_backup_2014_11_15_060001_9915061.trn 15/11/2014 10:00 AM 47,616 Production_backup_2014_11_15_100001_1784634.trn 15/11/2014 02:00 PM 59,392 Production_backup_2014_11_15_140001_0461018.trn 15/11/2014 06:00 PM 62,976 Production_backup_2014_11_15_180001_5854303.trn 15/11/2014 11:05 PM 71,506,432 Production_backup_2014_11_15_230501_3937283.dif 16/11/2014 06:00 AM 12,906,496 Production_backup_2014_11_16_060009_1822596.trn 2014 年 11 月 …
PostgreSQL 下的备份新手。我一直在使用常规命令备份数据库,效果很好。除非不存储任何用户或权限。我知道我需要单独做这件事。
我一直在使用以下命令来转储集群上的用户:
pg_dumpall -U backups -r > /tmp/globals.only.dump
Run Code Online (Sandbox Code Playgroud)
-r 或 -g 返回相同的结果。我最终在文件中得到的只是:
CREATE ROLE backups;
ALTER ROLE backups WITH SUPERUSER NOINHERIT NOCREATEROLE NOCREATEDB LOGIN NOREPLICATION PASSWORD '0000000000000000000000000000000000';
Run Code Online (Sandbox Code Playgroud)
似乎所有权限都丢失了,但我通过 NaviCat 设置了其中 15 个权限。
手动重新创建所有权限显然对于生产来说是不可行的。如何强制随角色导出权限?随后,我如何将它们导入到另一个 PostgreSQL 服务器中?
我最近意识到,--master-data当我真正想要的是时,我正在使用从复制从属转储备份--dump-slave。切换到 后--dump-slave,我发现这mysqldump将在备份期间停止从属 SQL 线程(这从文档中可以清楚地看出 - 这并不奇怪)。
我想知道是否有人可以解释为什么整个备份需要停止从属服务器的 SQL 线程?我正在使用--single-transaction,并且希望在备份开始时获得一致的快照。即使事务由 SQL 线程处理,这也应该是可能的。即使从属 SQL 线程由于已mysqldump获取某些锁而完全被阻塞,也应允许从属在备份期间继续(尝试)执行 SQL DML 语句。
我也可以理解希望至少暂停从属 SQL 线程,以便 get-slave-status 然后启动事务操作可以一致地发生,但是一旦转储操作开始,从属 SQL 线程就可以重新启动,对吧?
当--master-data与复制主机一起使用时,全局锁被获取一次然后释放,从而允许常规应用程序负载在转储操作期间继续。为什么不能以同样的方式在从属设备上完成此操作?任何人可以提供的任何信息都会非常有帮助。
我正在使用 PostgreSQL 9.2 并用于pg_dump创建数据库备份。我如何确定数据库备份和恢复正在进行中。这样我就可以阻止另一个用户启动另一个用户。
我有一个大表(审计),其中存储架构和表的关系 ID。这可以通过触发器使用 TG_RELID 方便地填充。它也很方便,因为我可以对它建立索引,并且索引会比我单独存储“模式”(文本)和“表”(文本)列并对它们建立索引要小。另外,我可以使用它进行查询WHERE relation_id = 'myschema:mytable'::regclass,它就可以工作。
我的问题是,这在备份/恢复方面是否“安全”(schema.table 在目标服务器中是否具有与源服务器中相同的 regclass/oid ?
我还应该注意其他问题吗?
我是 Percona XtraBackup 的新手。我一直在尝试执行从本地(测试服务器大约 600GB)到远程服务器的完整备份流。
\n\n我只是有一些问题,需要指导,我认为这是最好的地方。
\n\n我有这个命令,我在本地执行
\n\ninnobackupex --user=user --password=password --stream=tar /which/directory/ | pigz | ssh user@10.11.12.13 "cat - > /mybackup/backup.tar.gz"
我的问题是:
\n\n我的日志扫描没有改变/增加
\n\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\n>> log scanned up to (270477048535)\nRun Code Online (Sandbox Code Playgroud)\n\n我之前读过一条评论,有人说如果没有人使用数据库,日志扫描不会增加。(是的,没有人在使用数据库)\xc2\xa0
它已经运行了一段时间了。
\n\n我尝试使用 xtrabackup 到大约 1.7TB 的本地测试服务器,并在短短几个小时内完成。这是因为我正在使用流所以它很慢吗?
\n\n我的命令中“/which/directory/”\xc2\xa0 的用途是什么?是否要先将\xc2\xa0文件存储在/which/directory/\xc2\xa0中,然后传输到我的远程服务器?为什么我必须指定一个目录?
在我的本地服务器 /which/directory/ 和我的远程服务器 /mybackup/ 上没有创建文件。
\n\n难道我做错了什么 ? …
我有一个使用 Amazon RDS MySQL 5.6.39 单可用区实例的简单 WordPress 网站。几乎每天晚上在备份窗口期间,RDS 实例都会崩溃并恢复,从而导致大约 20 分钟的停机时间。在备份窗口期间,几乎没有流量,只有监控系统在访问该站点。所有 RDS 参数均为默认值。我能做些什么吗?
RDS 控制台中的事件
May 24, 2018 at 17:31:00 PM UTC+0 Recovery of the DB instance is complete.
May 24, 2018 at 17:30:43 PM UTC+0 DB instance restarted
May 24, 2018 at 17:27:11 PM UTC+0 Recovery of the DB instance has
started. Recovery time will vary with the amount of data to be recovered.
May 24, 2018 at 17:24:21 PM UTC+0 Backing up DB instance
May 24, 2018 at …Run Code Online (Sandbox Code Playgroud) 我已经研究和谷歌搜索了10个小时,但找不到任何东西,所以我决定在这里提问。我正在寻找一个命令行工具或一个脚本(在Windows下运行),可以将远程SQL Server备份到本地文件(.sql,SQL Server备份,甚至CSV,所有格式都可以接受)。
PS 我无法使用远程 SMB 共享来备份数据库。也没有 GUI,只有命令行或脚本
PPS 数据库位于远程位置,我想将数据库中的数据备份到本地计算机上可能的任何格式(Windows 服务器,可用/可能之间没有 SMB 共享连接)
运行以下查询时:
-- DATEADD (datepart , number , date )
DECLARE @dt DATETIME
SELECT @dt = DATEADD(month,-6,getdate())
select @dt
EXEC msdb.dbo.sp_delete_backuphistory @oldest_date = @dt
Run Code Online (Sandbox Code Playgroud)
我收到很多锁和块,可能是因为该命令已经有一段时间没有运行了(如果有的话)。
在我实际运行或计划运行此命令之前,有没有办法找出每个涉及的表中有多少要删除的内容?
我使用dateadd来计算 6 个月。
在sp_delete_backuphistory中,以下表被修剪:
sp_delete_backuphistory 必须从 msdb 数据库运行并影响以下表:
备份文件
备份文件组
备份媒体家族
备份媒体集
备份集
恢复文件
恢复文件组
恢复历史
backup ×10
postgresql ×3
sql-server ×3
mysql ×2
restore ×2
amazon-rds ×1
archive ×1
delete ×1
innodb ×1
linux ×1
mariadb ×1
monitoring ×1
mysql-5.6 ×1
mysqldump ×1
percona ×1
regclass ×1
remote ×1
scripting ×1
xtrabackup ×1