1 )应用方案) a在数据库更改后,如果需要对b数据库进行类似更改,或者需要对其他环境(例如测试环境)下的数据库进行同步更改,则可以使用此功能生成可执行语句
2 )使用方法:
单击tools-compare user objects按钮将打开以下窗口:
上述页面的说明如下。
selection tab页:选择要比较的对象,如果未选择,则默认比较所有对象;
选项标签页:
includestorageingenerateddlfornew
objects :在此处,可以设置比较是否包括表空间名称、初始化大小等存储信息,但这些信息可能不匹配,因此匹配结果可能不正确。
target schema :如果目标数据库中的目标由其他用户拥有,而不是由连接的目标用户拥有,则可以在此处设置目标数据库的模式。
differences tab页:此处显示匹配结果。
target session按钮—在此处设置要匹配的目标数据库(需要升级的数据库),然后输入用户名和密码进行连接。
设置selection和options tab页并连接到目标数据库后,可以单击compare按钮执行归类操作。
匹配完成后,打开“差异表”页以查看匹配结果。
如果在匹配前选择了某些对象,则只显示所选对象的匹配结果;如果未选择对象,则默认情况下显示所有对象的匹配结果。
此处显示的SQL必须在target session中设置的数据库中运行。 可以直接单击apply按钮运行SQL,也可以单击“保存”按钮保存结果,还可以单击“复制”按钮复制结果。
2、比较表数据
1 )应用方案: a如果对数据库下的一个或多个表进行了数据更新、插入或删除,而Web数据库需要对同一数据表执行相同的数据操作,请使用此功能。
2 )使用方法:
单击tools-compare user objects按钮将打开以下窗口:
上述页面的说明如下。
“选择表”页:选择要比较的表,如果不选择,则默认比较所有对象;
选项标签页:
操作区域:您可以在此配置在此次比较中包含哪些操作。 例如,如果仅选择了“插入和更新”选项,则最终比较结果不包括删除操作。
commit every N records :用于控制提交的频率。 在这里填写0,结束时只提交一次。
模式:选择" generate script "可以在比较完成后保存比较结果,并在command窗口或sql *plus中单独运行; 如果选择" update database ",则比较完成后,将直接在目标数据库中对数据表执行数据操作(直接执行生成的SQL语句)。
target schema :如果需要比较的数据表,则所有者是其他架构的用户,而不是目标会话所连接的数据库。 您可以在此指定真正的所有者用户,并确保对用户具有适当的操作权限。
target schema :如果目标数据库中的目标由其他用户拥有,而不是由连接的目标用户拥有,则可以在此处设置目标数据库模式。
包含在SQL中:将数据库用户名保存到SQL中。 该选项仅在“脚本模式”(generate script )下可用。 选择此选项可确保即使保存的脚本在其他用户下执行,也可以更改指定用户指定的表数据。
differences tab页:此处显示匹配结果。
target session按钮—在此处设置要匹配的目标数据库(需要升级的数据库),然后输入用户名和密码进行连接。
设置selection和options tab页并连接到目标数据库后,可以单击compare按钮执行归类操作。
匹配完成后,打开“差异表”页以查看匹配结果。
选择“update”时
database "时,此处仅显示每个表中插入、更新、删除的记录数;
选择“generate”时
单击" script "可在此处显示具体的SQL操作语句,您可以在其中保存或复制结果。
3、使用技巧
1 ) compare user objects )要比较的是数据结构,最终比对结果不包含数据记录的变化;
2 )比较比较表数据(compare table data )数据表数据记录的变化。 作为比较的前提,数据表同时存在于两个数据库中。
3 )要实现以下功能,请将b数据库中的一些表导入到包含表结构和表的数据记录的a数据库中: 除了导入导出功能外,还可以组合上述两个功能。
首先,使用compare user objects工具在a数据库中创建所需的数据表
然后,使用compare table data工具记录数据表并更新为a数据库即可。