Chat now with support
Chat with Support

Toad for Oracle 12.11 - 用户指南

目录 欢迎来到 Toad Toad 资源 所需特权 创建和管理数据库连接 编辑器基本信息 模式浏览器基本信息 数据网格基本信息 使用数据 使用数据库对象 使用代码
编写语句和脚本 使用查询生成器 执行语句和脚本 保存语句(SQL 重新调用) 使用 PL/SQL 对象 调试 分析代码 优化 SQL
自定义 Toad 环境 将其他 Quest Software 产品与 Toad 搭配使用

比较和同步多个表

使用数据库对象 > 比较对象 > 比较和同步多个表

Toad 比较多个表向导使得比较两个以上的表非常简单。您只需将 Toad 指向模式,然后同步这两个模式的表中的数据。

注:此功能将同步比较表中的数据,但是不提供首先比较数据差异的选项。若要比较数据,请转到 数据库 (Database) | 比较 (Compare) | 数据 (Data)

若要比较和同步多个表

  1. 从邮件 Toad 菜单中选择数据库 (Database)比较 (Compare)比较多个表 (Compare Multiple Tables)。在 Automation Designer 中,您可以选择应用程序,然后双击
  2. 根据下表进行选择。

模式和同步选项卡

此选项卡控制对要比较的模式进行选择,以及它们进行比较和同步的方式。

选项 描述
模式

选择包含要比较的表的源和目标数据库与模式。

该功能可以执行两种不同的同步技术。Toad 使用哪一个技术取决于您在此选项卡上执行的操作。

  • 如果要比较的表位于相同的数据库中,请使用相同的连接来访问源和目标模式。在这种情况下,Toad 可以使表与每个表只有两个 SQL 语句同步:DELETE 和 MERGE。所有的工作均由数据库执行,所以数据不会被获取到客户端 PC,如果正在同步大表,不会耗尽内存。这种方法是更快的方法。
  • 如果源和目标模式位于不同的数据库中,请选择允许允许 Toad 创建从目标到源的临时数据库链接。在这种情况下,Toad 会在目标数据库上创建指向源的专用数据库链接。这允许 Toad 连接表,并执行 DELETE 和 MERGE 操作,就好像表位于同一个数据库中一样。数据库链接具有完整的 TNS 信息,因此目标服务器上的 TNSNames.ora 文件中不需要存在条目。同步完成后,Toad 将删除该链接。

    注:Toad 将前两种方法称为由 SQL 比较

  • 如果您无法允许创建数据库链接,并且模式位于不同的数据库中,那么 Toad 必须将每个表中的所有行都提取到 PC,然后逐行比较。这是最慢和最耗费内存的选择。如果可能,当模式位于不同的数据库中时,请使用数据库链接。注:Toad 将这种方法称为逐行比较
同步

选择要使 Toad 执行同步的方式:

  • 立即同步目标表:选择此选项可以在您单击 开始处理的那一刻开始同步。

    选择此选项后,数组 DML 处于活动状态,并被默认选中。数组 DML 意味着 Toad 将一次可以分批执行多达 1000 行的删除操作,并一次分批插入/更新多达 100 行。数组 DML 大大提高了同步的速度,因此应该选择该选项。在此模式下,即使只有一个列值实际更改,update 语句也会更新正在同步的行中的每一列。如果您不同意此方法,请取消选中数组 DML注:如果大表中的大部分行需要同步,则与使用数组 DML 相比,运行不带数组 DML 的同步可能非常慢。

  • 选择为每个表创建一个脚本为所有表创建一个脚本,然后指定输出文件夹或文件名。

表选项卡

此选项卡使您可以处理不匹配的表名称,或比较所选模式中的表的一个子集。若要在所选模式中比较具有匹配名称的所有表,请勿在此选项卡上执行任何操作。

选项 描述

自动匹配表

表名完全匹配

默认情况下都会选择这两个选项,并指出您不想进一步细化表选择。

否则:

若要比较表的子集,请取消选择自动匹配表

若要映射不匹配的表名,请取消选择表名完全匹配

或者,如果合适,请取消选择两者。

表名过滤器 若要仅根据其名称加载特定的表,请在此输入标准过滤器语法。
加载 单击此选项可查看要进行比较的表的列表。
包括

为要包含在同步中的每个表选中此复选框。

若要映射不相同的表名,请使用目标列中的下拉选择器将目标映射到下的该行中列出的源表。

验证 若要检查源表和目标表的兼容性以便进行比较,请单击此选项。请参见潜在的比较问题,了解相关示例。

选项选项卡

此选项卡使您能够确定 Toad 在初始比较期间发现异常时执行的操作。

选项 描述
如果列不完全匹配

如果源表和目标表不具有相同的列数,请选择要执行的操作。

 

如果在同步期间发生错误

如果存在同步错误,请选择您要执行的操作。

  • 提交是自动的,但您可以通过此选项对其进行一些控制:

    回滚当前表并继续指示 Toad 在每个表之后发出提交(除非该表的同步由于错误而回滚)。

    回滚所有表并停止指导 Toad 在进程结束时提交或在第一个错误发生时将其回滚。

    注意:不可能提供提交或不提交的选项,因为 DDL 发生在每个比较和同步的开始和结束(禁用/启用约束和可能的触发器,创建/删除数据库链接),因此在多数情况下提交是隐式的。

  • 如果在表中找到不支持的数据类型 如果表包含不受支持的数据类型,请选择要执行的操作。请参见潜在的比较问题,了解相关示例。
    触发器 默认情况下,禁用比较表的触发器,因此它们不会导致对 Toad 进行比较和同步的子表执行 DML。这样的双重操作会导致错误。如果您需要启动触发器,请清除此选项。
    如果任何表格因不兼容而被跳过 选择在比较过程中发现不兼容时希望执行的操作。

    状态选项卡

    当您单击 以开始处理时,会自动显示此选项卡。它显示您指定的表的操作进度和结果。

    网格显示要比较的每个表的行。Toad 在列表中进行两次通过,第一次通过时评估表的兼容性并禁用外键,第二次通过时执行比较和同步。

    • 对于由 SQL 比较(由数据库执行),Toad 显示删除和合并的行数(插入和更新)。
    • 对于逐行比较(在 PC 上由 Toad 执行),此窗口显示有关插入、删除和更新的行的详细信息以及匹配行数(匹配列)。剩余时间列显示每个步骤剩余多少时间(一个步骤是删除,另一个步骤是插入和更新)。

    潜在的比较问题

    下图显示了不兼容的源表和目标表可能产生的潜在验证问题。在此表中,支持逐行比较指 PC 上由 Toad 执行的比较,支持由 SQL 比较是指由数据库执行的比较。

     

    比较模式

    使用数据库对象 > 比较对象 > 比较模式

    您可以比较完整模式,或模式浏览器中模式的选定子集。

    注:

    • 您可以在基本版本中比较模式,但快照文件和同步脚本须只能在 DB Admin Module 或 Toad for Oracle Xpert Edition 中使用。
    • Toad 还提供了一个易于使用的比较模式向导。比较和同步模式

    要比较模式

    1. 选择数据库 (Database) | 比较 (Compare) | 模式 (Schemas)。
    2. 按需要填写字段。 
      模式选项卡 描述

      参考模式(源)

      选择一个模式连接或模式定义文件用作比较的基础。如果您执行同步脚本,则更新目标模式以匹配参考源。

      提示:如果您选择创建模式定义文件 (Create Schema Definition File),您可以在文件名中使用变量。默认情况下,Toad 包括 %DATEFILE% 和 %TIMEFILE% 变量,在创建定义文件时便将当前日期和时间插入文件名。

      目标和输出

      单击实时模式 (Live Schemas)定义文件 (Def Files) 字段中的 ,以添加目标模式进行比较。您可以重复此步骤将多个目标模式与来源进行比较。

      提示:右键单击目标,可进行编辑,删除或用参考源切换。

      选项选项卡

      描述

      要比较的对象类型

      选择您想要比较的对象类型。减少对象类型可以减少完成比较所耗费的时间。

      提示:右键单击以选中或取消选中所有字段,以及保存或重新调用您的设置。

      对象集选项卡

      描述

      指定对象集

      选中以确定要比较的具体对象集。与选项选项卡相比,这可以让您更多地限制比较。注:如果比较模式因与其他对象比较命令(针对多对象选择)结果打开,则选定对象会显示在此处。

      单击 以添加一个对象集。如果您已经加载了对象,会出现一个确认对话框,询问您是否想要在加载新对象之前清除网格。单击是 (Yes) 以重新开始,或单击否 (No) 将新对象追加到网格中。

    3. 单击 以执行,或将选择保存或计划为 Toad 操作。请看联机帮助中的自动化设计器概述了解详情。

      提示:如要从命令行执行操作。请看联机帮助中的通过命令行执行操作了解详情。

    4. 复查结果选项卡中的差异。此选项卡拥有的筛选器,可让您聚焦重点(如果需要)。此外,对象会默认按照类型进行分组。要移除分组,右键单击列表树并取消选择按对象类型分组

      如果您想

      完成以下操作:

      显示选定对象的同步脚本。 选择对象,然后单击
      查看一个对象的差异 选择对象,然后单击
      查看其他目标的差异 目标模式字段中选择目标(仅适用于您选择了多个目标进行比较的情况)。
      将对象从下一次比较中排除 取消选中您想要从下一次运行此比较中排除的任何项目,然后单击 创建排除文件)。您可在选项 | 杂项选项选项卡上查看此文件,也可以从中为下一次比较指定不同排除文件。
      保存结果 单击 ,以保存到文件或 Excel 电子表格。
      查看差异摘要 单击显示摘要),以查看显示仅在源、目标中,以及两个源和目标之间的差异中的对象数量摘要。
      重建表 在出现列差异时启用(例如列顺序)。右键单击表,并选择发送到重建表窗口。
      重新定义表 为大部分表差异启用。右键单击表,并选择发送到 DBMS 重新定义向导
      重新定义分区 在出现分区差异时启用。右键单击分区,然后选择发送到空间管理器中的分区向导(需要软件的许可副本)。
    5. 如要同步模式,选择同步脚本 (Sync Script) 选项卡,然后单击 立即从编辑器执行,或单击 计划其执行时间。

      注意:执行前彻底复查此脚本,以防发生意外数据损失。

     

    比较和同步模式

    使用数据库对象 > 比较对象 > 比较和同步模式

    比较模式向导提供了一个易于使用的界面,用于在模式之间进行一对一的比较。根据您的规格,该向导将生成一个脚本,您可以立即保存或运行脚本来同步两个模式。该向导还允许您添加或签入脚本以进行源代码控制。

    若要使用向导

    1. 转到数据库 (Database) | 比较 (Compare) 模式 (Schemas)
    2. 选择模式选项卡。
    3. 下,选择基于比较的模式。
    4. 目标下,选择与源模式进行比较的模式。
    5. 比较对象类型下,选择要比较的对象类型。
    6. 选择选项选项卡。
    7. 选择任何其他条件以限制和过滤比较。

      对象类型:启用对某些对象类型进行比较的进一步细化。

      存储条款:启用对象的特定(或全部)存储属性的比较。

      脚本:指定输出脚本的选项。

      筛选器:指定筛选条件以细化所选对象。

    8. 单击下一步 (Next)
    9. 查看比较设置。
    10. 单击比较 (Compare)
    11. 查看差异。

      • 单击列表中的任何对象,以查看同步脚本将在目标模式上发布的 DDL。
      • 取消选择要从同步脚本中排除的任何对象。
    12. 单击下一步 (Next)
    13. 查看脚本语法。要复制脚本以将其存储在 Toad 外部,请单击复制到剪贴板 (Copy to Clipboard)
    14. 单击下一步 (Next)
    15. 选择一种或多种方式来部署同步脚本:

      部署:指定存储脚本文件的本地目录。

      签入到源控制:指定要在版本控制系统中存储脚本的目录的路径。

      发送到编辑器:打开 Toad 编辑器中的脚本或进一步编辑。若要在单击下一步 (Next) 时部署脚本,请选择立即执行 (Execute Immediately)

     

    比较多个模式

    使用数据库对象 > 比较对象 > 比较多个模式

    这项功能是将一个数据库中多个模式与另一个数据库中相同模式进行比较的理想选择。

    注:您可以在基本版本中比较多个模式,但快照文件和同步脚本须只能在 DB Admin Module 或 Toad for Oracle Xpert Edition 中使用。

    比较两个数据库之间每个模式中的模式级对象(表格、索引、视图等),无需单独识别每个来源和目标目视。

    如要比较多个模式

    1. 转到数据库 (Database) | 比较 (Compare) | 多个模式 (Multiple Schemas)。
    2. 选择你的来源和目标数据库(可以使用相同数据库)。
    3. 单击模式 (Schemas) 选项卡,再指定您的选择标准:
      更多详细信息请参阅下表。
    4. 单击加载 (Load)。如果已经在以上第 3 步中选择了手动... (Manually...),就可选择/取消选择所列的模式。
    5. 单击“选项”选项卡;选项与基本的模式比较窗口相同。比较模式
      • 选择您想要比较的项目

        提示:右键单击以选中或取消选中所有字段,以及保存或重新调用您的设置。

    6. 单击输出 (Output) 选项卡以指定:
      • 您的输出文件夹(根据模式名称为文件命名)。
      • 创建差异摘要文件
      • 创建差异详情文件
      • 创建同步脚本文件
      • :Toad 的基本版本中创建了同步脚本文件;在 DB Admin 模块下可以运行它们。
    7. 单击运行按钮,该按钮标记为“开始比较 (Begin Comparison)”。
      出现结果 (Results) 选项卡,同时显示您选定的输出。
    8. 在结果 (Results) 选项卡上复查差异,取决于您在以上第 6 步中选择的输出。

    使用模式选项卡

    在以上第 3 步中,您可要求 Toad 自动匹配模式名称,或手动指定匹配条件。

      什么时候要匹配模式:

      选择:在比较时自动

      • 单击加载 (Load) 后,您就无法选择或取消选择所列的模式。
      • SYS、SYSTEM 等内置模式会被自动排除,可以配置自动排除模式的清单

      选择:在比较前手动

      • 单击目标 (Target) 列可修改目标模式。(显示下拉箭头。)
      • 按照操纵来源模式... (Manipulate source schema...) 下方的描述,使用采用其他名称的模式。

      如何匹配模式:

      选择:模式名称精确匹配

      • 如果按照以上描述选择了自动... (Automatically...),一旦列出,您可选择或取消选择要比较的模式。

      选择:操纵来源模式名称以查找目标模式名称

      • 预置文本 - 例如,如果您的来源和目标模式名称是 Dev_EmployeesEmployees
      • 追加文本 - 例如,如果您的来源和目标模式名称是 Employees_TestEmployees
      • 搜索/替换 - 例如,如果您搜索 Dev,并替换为 Prod,如果您的来源和目标模式名称为 Dev_EmployeesProd_Employees”

    在结果 (Results) 选项卡上,您可以:

    • 重新比较选定的模式
    • 将选定或所有同步脚本发送到编辑器(具有 DB Admin 模块或 Toad for Oracle Xpert Edition)

    根据您在以上第 6 步中选择的输出,您还可查看以下选项卡:

    • 差异详情(树视图)
    • 差异摘要
    • 同步脚本

    被自动忽略的方案清单位于 Toad.ini 中。

    如果您要调整,找到此行,再进行修改:

    MultipleSchemasToIgnore='ANONYMOUS', 'APPQOSSYS', 'CTXSYS', 'DIP', 'DBSNMP', 'EXFSYS', 'FLOWS_FILES', 'MDDATA', 'MDSYS', 'MGMT_VIEW', 'OLAPSYS', 'ORACLE_OCM', 'ORDDATA', 'ORDPLUGINS', 'ORDSYS', 'OUTLN', 'OWBSYS', 'OWBSYS_AUDIT', 'SI_INFORMTN_SCHEMA', 'SPATIAL_CSW_ADMIN_USR', 'SPATIAL_WFS_ADMIN_USR', 'SYS', 'SYSMAN', 'SYSTEM', 'WMSYS', 'XDB', 'XS$NULL'

    APEX 模式也会被自动忽略。如果您不想这么做,找到此行,再将“1”修改为“0”:

    MultipleSchemasIgnoreApex=1

     

    Related Documents

    The document was helpful.

    Select Rating

    I easily found the information I needed.

    Select Rating