AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-8666

Wouter's questions

Martin Hope
Wouter
Asked: 2018-08-21 04:42:03 +0800 CST

了解 Ola Hallengren 的 SQL Server 脚本中与 FULL 备份和 LOG 备份相关的 CleanupTime

  • 10

我无法理解Ola Hallengren 服务器维护解决方案CleanupTime中的选项究竟有什么期望。我正在寻找一些相关的问题和详尽的答案,但这些解释仍然让我有些困惑。

具体来说:

我每周进行一次 FULL 备份、每日 DIFF 备份和每小时 LOG 备份。FULL 备份使用默认CleanupTime的 24 小时。DIFF 和 LOG 备份的 NULL 为CleanupTime.

从CleanupTime 参数的文档中,我无法理解是否将CleanupTime设置设置为BackupTypeFULL 备份,也会删除较旧的 DIFF 和 LOG 备份文件,或者仅删除FULL 备份文件。

指定删除备份文件的时间(以小时为单位)。如果没有指定时间,则不会删除备份文件。

后一段让我认为设置FULLCleanupTime备份BackupType也会删除旧的事务日志。然而,尚不清楚这一段是否仅适用于BackupTypeLOG 的备份,或者也适用于BackupTypeFULL 的备份。

DatabaseBackup 会检查以确认比最新的完整备份或差异备份更新的事务日志备份不会被删除。

我想要实现的是,我可以进行长达 1 周的时间点恢复。(我们有一个变化非常缓慢的数据库,所以这是可行的)按照我现在的理解,这需要一周前的完整备份和一周的事务日志备份。由于完全备份和差异备份只能用于恢复到一个特定的时间点。

那么,我应该将CleanupTime我的 FULL 备份作业的选项设置为24*7吗?我现在猜测的是,将其设置为 24 小时,将导致下一次完整备份删除所有较旧的完整、差异和事务日志备份文件,使我的时间点恢复窗口为 ... 0 小时。正确的?

sql-server backup
  • 3 个回答
  • 11395 Views
Martin Hope
Wouter
Asked: 2018-06-08 01:34:34 +0800 CST

在 SQL Server BCP xml 格式文件中使用不可打印字符作为 TERMINATOR

  • 4

我有一个纯文本数据文件,其中包含由不可打印字符"​​File Separator" (0x1c) 分隔的字段的记录。我正在尝试使用 SQL Server 的 bcp 实用程序将此数据加载到我的数据库中。然而,当使用文件分隔符的十六进制编码值作为 TERMINATOR 时,我得到一个语法错误。

我试过使用

  • 十六进制编码值:"0x1c"
  • XML 编码值作为十六进制:""
  • XML 编码值作为十进制:""

这些都不起作用,但是当对可打印字符使用相同的编码时,例如tab,这确实起作用:	, 	(0x9不起作用。不足为奇,因为这是一个 XML 文件。)

结论似乎是不支持不可打印的字符。是这样吗?这将具有讽刺意味,因为不可打印的分隔符正是为此目的而创建的......

您可以在下面找到重现此问题的所有代码:

XML格式文件:test.xml

<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <RECORD>
  <FIELD ID="1" xsi:type="CharTerm" TERMINATOR="&#x1c;" MAX_LENGTH="10" COLLATION="Latin1_General_CS_AS_WS"/>
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="41"/>
 </RECORD>
 <ROW>
  <COLUMN SOURCE="1" NAME="COL1" xsi:type="SQLVARYCHAR"/>
  <COLUMN SOURCE="2" NAME="COL2" xsi:type="SQLNUMERIC" PRECISION="4" SCALE="0"/>
 </ROW>
</BCPFORMAT>

数据文件:test.txt
这只是一行,作为一个测试用例。StackExchange 没有在下面的行中显示分隔符,但是当您单击此帖子的“编辑”时,分隔符已包含在内,您应该可以复制粘贴它。

1111111112008

命令行

bcp TEST_DB.dbo.UL_TEST in "test.txt" -T -f "test.xml"
sql-server xml
  • 2 个回答
  • 1667 Views
Martin Hope
Wouter
Asked: 2016-10-25 09:37:24 +0800 CST

可以使数据库对象不区分大小写,同时保持字符串区分大小写吗?

  • 3

在 Microsoft SQL Server (2014) 中,可以在不区分大小写和区分大小写排序规则之间进行选择。

我使用区分大小写排序规则的原因是"test" = "TEST"return false。

然而,我想保留的是,当表"TEST"存在时,编写类似的查询select * from test;仍然有效。当数据库有区分大小写的排序规则时,它没有,因为我需要像这样写select * from TEST;

有没有办法分别设置“对象排序规则”和“字符串排序规则”?

sql-server sql-server-2014
  • 1 个回答
  • 3327 Views
Martin Hope
Wouter
Asked: 2016-05-27 04:59:56 +0800 CST

从没有目标或目录的备份中复制 RMAN:辅助实例是如何创建的?

  • 2

我正在尝试根据备份复制一个 Oracle 数据库,以测试它们是否可以在系统完全故障的情况下使用。因此,我想在不连接到源数据库的情况下执行此操作。我没有使用恢复目录。

我已经通读了所有手册,但在第四点上停​​留在“准备复制数据库”的第 7 步:

  1. 启动 SQL*Plus 并以具有 SYSDBA 或 SYSBACKUP 权限的用户身份连接到辅助实例。

我要复制到的辅助服务器是一个干净的空安装,还没有设置数据库,正如手册在步骤 3中提到的那样:

安装与源数据库版本相同的 Oracle 数据库。不要创建数据库;只安装软件。

现在,跑步时

sqlplus "/ as sysdba"

我得到

ORA-12560: TNS:protocol adapter error

并非完全出乎意料,因为我从来没有设置过侦听器或 Oracle 服务。那么...我错过了什么?我是否误解了关于不创建数据库的部分?“数据库”与“实例”不同吗?我是否忽略了手册的一部分?而且,我还应该安装/创建什么才能拥有一个我可以从 nomount 开始的“辅助实例”?

编辑:这是在 Windows 服务器环境中

oracle backup
  • 2 个回答
  • 1248 Views
Martin Hope
Wouter
Asked: 2016-04-30 05:52:42 +0800 CST

为什么在切换到 ARCHIVELOG 模式后在 Oracle 中需要完整数据库备份(而不是 0 级备份)?

  • 0

Oracle 12c 2 Day DBA 手册指出:

虽然整个数据库备份可能是整体备份策略中的一个重要元素,但在某些情况下它们也是必需的步骤,例如当您启用或禁用 ARCHIVELOG 模式时。

(我假设“完整”数据库备份与概念部分中提到的“完整”数据库备份相同。)

在“启用重做日志文件归档”一节中,手册指出:

您不能使用切换到 ARCHIVELOG 模式之前的备份将数据库还原和恢复到切换之后的某个时间点。因此,如果您在切换后没有立即进行备份,那么您正在运行没有有效备份的数据库。

手册的第一个摘录是错误的吗?您是否需要任何类型的备份?还是真的需要完整备份,而不是 0 级备份?如果是这样,为什么不同?

oracle backup
  • 2 个回答
  • 530 Views
Martin Hope
Wouter
Asked: 2014-08-26 06:29:00 +0800 CST

加载、注册、索引和查询巨大 XMLDB 的最佳方式

  • 1

我有 3500 万个高度结构化的 XML 文档,总大小为 500 GB。XSD 可用于此数据,最终目标是将数据转换为 RDB。所有字段都可以被认为是 varchar、number 或 date;除了一两个 CLOB 字段。XSD 结构包含大量的 1-n 关系和子嵌套结构,因此非常复杂。

数据必须加载一次,然后转换为 RDB 一次,因此更新/插入查询的速度无关紧要。加载/索引创建的速度也不是那么重要,因为它只需要运行一次。只要它在一两周内完成,我就很高兴。

目前,我正在通过将 XSD 注册为对象关系来设置 XMLDB,并将创建对象和创建表设置为 true。目前,我还没有向 XSD 添加任何其他重要的注释,并且我只加载了大约 50MB 的数据作为测试。我正在使用一整套 XMLTable/flwor 查询将 XML 数据转换为 RDB 表。我担心将其扩展到 500 GB 会导致查询永远运行。

由于我对 XMLDB 很陌生,并且 XMLDB 文档中有很多可能的调整和设置,我想知道是否有一些关键的特性/注释/优化....我应该注意这可能会影响最终查询或流程其他部分的整体速度。

这是一个非常广泛的问题,但是,欢迎任何提示,如果有更多可能相关的信息,请提问!

oracle performance
  • 1 个回答
  • 93 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve