导出多个用户会导致 CPU 和 I/O 使用率过高。我可以使用资源管理器减轻 CPU 使用率的影响并将导出会话设置为低优先级组,但是如何限制磁盘 I/O?我没有并行运行该操作,并且已经阅读了 Oracle 的 Datapump Performance 文档。还有什么我可以做的吗?
这是在 Windows 2008 R2 x64 上。
我EXPDAT.DMP使用以下命令生成了一个 Oracle 数据库文件:
exp userid=usr/pass@db owner=own rows=n compress=n
Run Code Online (Sandbox Code Playgroud)
然后我运行以下命令来生成一个包含“创建表...”语句的文件:
imp userid=usr/pass@db full=y indexfile=output.sql
Run Code Online (Sandbox Code Playgroud)
这对于 Create Table 语句非常有用,但我也想要 Create Procedure / Create Function / Create View 源代码。我可以在 .DMP 文件中看到它们,但我还没有找到提取它们的方法。
是否可以从 EXPDAT.DMP 文件中提取此信息?或者我需要使用另一种方法吗?
目的是将源代码导出到可以进行源代码控制的文件中。
Oracle SQL Developer 有一个选项可以将查询结果的内容导出为各种格式(CSV/固定宽度/Excel/XML)。有没有办法让它自动化?
如果没有,有哪些免费工具可以让我自动导出为 SQL Developer 能够导出的相同格式?
我试图从包含数百个表的数据库中导出大约 150GB 的数据,并且发现 mysqldump 非常有问题。
运行简单的 --all-databases 转储成功后,但导入总是遇到随机(和频繁)错误。这些通常是 SQL 语句中的语法错误,因为转储文件中的引号转义不正确。
我之前通过复制实际数据文件完成了原始数据传输,但是我试图导入的目标服务器不允许我访问文件系统。
对于非常大的导出/导入,是否还有其他工具比 mysqldump 更少错误?
我的应用程序在我的开发 SQL Server 2008(开发人员版)上运行时遇到问题,但在生产 SQL Server 2008 上不起作用。是否有一种简单的方法可以从生产服务器导出设置并将其与我的服务器配置进行比较?
我发现我可以将 SQL Server Management Studio 中的 Facet 导出到 XML 文件并在差异工具中进行比较。
有没有其他/更好的方法来导出和比较两个 SQL Server 实例的设置?
我们的 Db 大小约为 2GB。我们每天早上 3 点运行一个预定的工作,当流量非常低时,我们导出整个数据库并将其 sftp 导出到站点外。
在生产数据库上执行此操作是不好的做法吗?执行此操作时,慢查询日志总是随着 10 个左右的查询而增长。打开/打开的表也增长了一点。
那么,这不是一个好的备份策略吗?什么是好的/标准替代品?它甚至对数据库有害吗?
谢谢。
编辑
我们在 Linode 4096 上,其中数据库是该服务器上唯一运行的东西。它有SSD,但不是世界级的。我们将 4GB 内存中的 2GB 用于 innodb_buffer_pool。命令如下:
mysqldump --opt --u USER -pPASSWORD DATABASE | gzip > /path/to/database.sql.gz
Run Code Online (Sandbox Code Playgroud) 我在 Windows 10 上使用 MySql Workbench 6.3.6,它具有所有更新。
我以前能够从该数据库中获取数据转储。现在我无法从我在工作台中打开的任何模式中获得任何信息。
我已经能够运行查询并对数据库进行更改。
然后当我尝试使用导出功能时,我收到以下消息:
无事可做,没有选择模式或表。
我发现了一些错误报告,但我不相信它们适用于 6.3.6 版:
我在想什么mysqldump或pg_dump正在做什么。因此,他们将活动数据库转储到包含 SQL 查询的文本文件中,这些 SQL 查询可重现整个数据库。在 MySQL 和 PostgreSQL 中,这是正常的数据库转储格式。
它存在于 Oracle 上吗?怎么做到呢?
如果不是标准的 Oracle 东西,那绝对不是问题。我需要一个解决问题的方法。导出单个表是不足够的,我问了整整DB的转储。
它是一个大型项目(具有数百万行 DB)的简化开发人员环境,但仍有数百个表和非常复杂的结构。而且,我想快点玩。当我在玩它时,我还需要能够对其执行棘手的修改。在二进制转储上我不能这样做,在文本上我可以。
如果它很愚蠢并且有效,那它仍然是愚蠢的。
关于 GDPR 的喧嚣让我思考 - 如果您必须进行备份并修改/删除数据,您会怎么做?破解打开 .bak 文件对我来说听起来很难。但是打开一个 .txt 文件很容易。
我可以将我的数据库备份到文本文件中,从而更轻松地从备份中删除历史记录吗?
我想我错过了一个简单的点,但我找不到将 Oracle 导出 (exp/expdp) 和 Oracle 导入 (ipm/impdp) 与 Oracle SQL Developer(版本 1.5.5)一起使用的方法?有办法吗?
如果可能,我如何使它指向不同的 Oracle 导出或导入实用程序(它们位于不同的地方并且具有不同的版本,即 10g 、11g)?