问题标签 [database-administration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1242 浏览

sql - 甲骨文 - 僵尸表

从昨天开始我就遇到了这个奇怪的问题。我尝试了几个选项,实际上我重新安装了 ORACLE 和数据库本身。

问题是:我的这张桌子有点像僵尸。以下是症状:

返回一条记录,表示该表存在。

返回 MYTABLE 的所有列。到目前为止一切顺利,该表存在。

返回ORA-00942: 表或视图不存在。在这一点上我很困惑:表似乎存在于 USERTABLES 但我不能选择它?

返回: ORA-00604:递归 SQL 级别 1 发生错误 ORA-00001:违反唯一约束 (SYS.I_OBJ2)

我不明白这个错误。但最好的还没有到来。

令人惊讶的是,上面的查询(第三个查询的精确副本)现在返回了几条记录!此外,我注意到列 Foo 不存在:我现在看到的表是我的初始表,其中包含其他列。

我现在尝试删除表格,但出现以下错误:

ORA-00604:递归 SQL 级别 1 发生错误 ORA-00942:表或视图不存在 ORA-06512:在第 19 行

比以往任何时候都更加困惑,我尝试了上面的查询,令人惊讶的是,该表不再存在。

我不明白这一点:该表在 USERTABLES 上,但我无法对其进行 SELECT,但是,如果我创建一个具有相同名称的新表,则会出现错误,但现在我可以在该表的先前版本上选择几个记录。

有什么想法吗 ?我真的需要你的帮助 :(

编辑- 我现在检查:我无法删除任何表。这可能只是一个新症状。

解决方案

问题是 MDSYS.SDO_GEOR_SYSDATA_TABLE 表丢失,并且 drop 事件触发器试图访问它,从而产生错误。解决方案是恢复该表。

0 投票
1 回答
262 浏览

mysql - 中期临时表 - 动态创建表以持续 15-30 天?

语境

我目前正在开发一种用于管理订单以及在技术人员和服务人员之间进行沟通的工具。产业背景是广播和电视。多个客户期望每个媒体文件都按照自己的规格制作,这意味着即使在单个客户订单的有限范围内,工作流程也会有很大差异。

一位客户可以在一天要求一个 SD 文件,而下一天要求一个包含多达 14 个文件的完整 HD 包......在 MySQL 数据库中,我试图存储有关构成工作流的所有小任务的准确信息,在多种形式:

  • 每次完成任务时的 DATETIME 值,用于准确跟踪
  • VARCHARs 中公司文件系统中新创建文件的路径
  • 归档 TEXT 值中的背景信息(用户评论等信息,例如,当事件发生并阻止向前发展时,他们可以在此提要中对此进行评论)

将其乘以 30 种不同的文件类型,这对于单个表来说太多了。所以我想我会按客户分解它:每个客户一张表,这样任何订单只需要使用一张不操作超过 15 个字段的表。尽管如此,当客户有 9 种不同的转码规范并且特定订单只需要一个时,这仍然是一个非常严格的解决方案。我想我需要为每个转码字段添加标志字段,以指示该特定订单需要哪些字段。

概念

然后我有一个疯狂的想法,也许我可以创建一个临时表以在订单运行时持续(范围可以从大约 1 天到 1 个月)。我们很少同时运行超过 25 个订单,因此不会太拥挤。

这个想法是为每个订单量身定制一个表格,消除对标志和不必要的永久空字段的需要。订单完成后,表格将被刷新,JSON 编码,转换为 TEXT 或 BLOB,以便稍后在需要更改时恢复。

如果 DBMS(尤其是 MySQL)曾经存在过,您是否有过从此类实践中苦苦挣扎的经验?这听起来像是一个可行的选择吗?我很高兴尝试(我已经开始了),我正在寻求建议,以便继续前进或停下来。

感谢您的输入!

0 投票
1 回答
101 浏览

database - 使许多远程 DB 与主 DB 保持同步所需的 DBA 功能/工具是什么

我是一名前端开发人员,被要求完成一些 DBA 任务。未知水域。

我的客户有 10 个远程(离线)数据收集终端,托管一个 PostgreSQL 应用程序。我的任务是获取这些终端生成的 .backup 或 .sql 文件并将它们添加到主数据库中。所有这些数据库的架构都将匹配。但是合并操作会导致很多重复。我正在寻找一种可以将备份文件添加到现有数据库、过滤掉重复项并提供合并报告的工具。

DBA 领域有这种操作的术语吗?

这个功能是否通常内置在基本的数据库管理套件(例如 pgAdmin III)中,是否需要企业级工具,或者这是否可以在命令行上轻松完成?

更新

此处有关数据库复制的 PostgreSQL 文章和词汇表

0 投票
1 回答
4870 浏览

sql - SQL SLEEP_BPOOL_FLUSH 等待。无法重新初始化合并推送订阅

我正在尝试初始化合并订阅,但它失败并给出查询超时已过期的错误。

当我检查 SQL 活动监视器时,它显示sys.sp_MSCleanupForPullReinit命令处于SUSPENDED模式并且具有等待类型SLEEP_BPOOL_FLUSH

我试图停止并启动复制代理,但仍然遇到同样的问题。

如何解决这个问题?

0 投票
1 回答
1411 浏览

sql-server - sql server 2008 r2 express edition 中的 xp_cmdshell 失败?

我遇到了 xp_cmdshell 过程的问题。我正在从连接到 sql server 2008 r2 express edition 的 ssms 运行以下命令。

exec xp_cmdshell '回声 abc'

它导致 null 和消息 1 行影响。它不会返回 abc 作为结果。xp_cmdshell 从上面的结果中启用,没有显示任何错误。

请查看问题。

谢谢,

尼特什·库马尔

0 投票
1 回答
497 浏览

sql - xp_cmdshell 代理帐户自动禁用

当我想执行xp_cmdshellsp is sql server 时,它给了我错误,我没有运行权限xp_cmdshell。当我在实例的属性窗口中签入安全选项卡时,设置了service Proxy Account部分 enable service account Proxy复选框。取消选中此复选框并再次选中它并设置用户名和密码后,我可以执行xp_cmdshell。

我的问题是为什么会发生这种情况......?什么操作可以禁用服务帐户代理。是正常行为你的想法是什么。它发生在最近,并且发生了多次。

0 投票
4 回答
2745 浏览

sql - SQL Server 架构审计?

我们有一个 SQL Server 2008 Enterprise 数据库,它有两种不同的模式,一种是我们维护的锁定模式,另一种是开放的模式,我们允许外部开发团队根据自己的需要添加和修改。通常这对我们来说没问题,但一个特定的团队喜欢把它搞砸,它会影响其他所有人。所以2个问题:

  1. In hindsight I wish we had set up something robust from the outset but we did not, just the default install. It would be nice to be able to see what has been done to the schema so far, even if its as simple as 'User XYZ changed Procedure ABC on 07/12/2012 at 9:00 AM'. Is there anything built into SQL Server and enabled by default that tracks this that we might leverage, and if so where/how?
  2. As far as a long term solution goes, what would you recommend for this? I've been reading up on DDL triggers a bit and that seems like a promising option. If you've used this approach can you share a bit with how it worked and what you could do with it?

thank you

0 投票
1 回答
1469 浏览

mysql - 超级特权与 Root 帐户

我想知道在 MySQL 中拥有超级权限的用户和拥有所有权限的 root 用户之间的区别?

0 投票
3 回答
214 浏览

sql - 将模式更新推送到最终用户数据库有哪些好的方法?

这可能太宽泛了,但这是我不得不花时间处理的一个问题。我们有一个分发给最终用户的应用程序。它运行在德比后端之上。我们可以相当轻松地推出代码更改,它会发送到我们的服务器,查看有新版本,下载,覆盖旧代码,然后重新启动。

但是,当我们更改代码时,我们也会更改 derby 数据库的模式。我们没有很好的方法来更新它。目前我们可以通过 FTP 推送 SQL 更新。当程序连接到 Internet 时,它会查找新的 SQL 文件,下载并运行它们。

不幸的是,我们的许多客户的互联网访问受限,因此他们会间歇性地获得这些更新。有时因为它们的变化足够大,它们的本地数据库模式与我们想要的不同步。或者他们通过 CD 获得代码更改,而不是 SQL 更改(有人将 CD 邮寄给他们)。

我一直在尝试做的是创建一个 SOAP 服务,它可以提供模式的 XML 表示。到目前为止,这是一个巨大的 PITA。

人们目前使用哪些方法来维护这样的数据库?我觉得我不是第一个这样做的人,所以可能有比我正在做的更好的方法。

根据这里的一些评论,这里有一个更新: 基本上,我认为我们很早就搞砸了,因为我们没有遵守严格的数据库版本控制,所以我不知道每个人的数据库情况如何。很多人都建立了自定义安装(随意呻吟)。我需要一个工具来区分他们的数据库和“官方”副本之间的差异。

我有一个工具,它有点工作,但有这么多……很多……要跟踪的东西。

0 投票
1 回答
18 浏览

database-administration - 使用数据库中的激活字段而不是删除实体

我一直听说从数据库中删除数据不是一个好习惯,并且在删除数据库中的实体时最好使用布尔激活/非激活字段,以便逻辑上删除实体而不是物理上删除。 ..

我想知道的是:为什么我们必须保留数据?