团队:
最近,我将一个12.1.0数据库升级到19c (非CDB体系结构)。当前兼容性设置为12.2.0。我能把它降级到早期版本- 12.1.0吗?文档说明降级是可能的,但不确定兼容性参数。
发布于 2020-10-31 20:39:46
不是的。您不能将其降级到低于当前兼容设置的级别。
从19c 数据库参考
“兼容参数指定数据库磁盘格式必须兼容的Oracle版本号。可以将数据库降级为兼容参数或任何更高版本中指定的版本。”
所以如果你的COMPATIBLE=12.2,那么你不能降到12.2以下。我很好奇为什么,如果您从12.1到19c设置了COMPATIBLE=12.2,这是您从未拥有过的版本。
发布于 2020-10-31 19:31:22
发布于 2020-11-17 13:52:14
其他文章已经提到,您不能降级到低于兼容级别的版本。您必须从源数据库导出对象及其数据,并将它们导入目标数据库。通常,您将使用Oracle Datapump导出和导入来执行这些任务。
Oracle注意:“导出/导入DataPump参数版本-不同版本之间数据泵的兼容性(Doc ID 553337.1)”告诉我们以下信息
出口数据泵兼容性:
. 4.2.导出数据泵参数:具有导出数据泵参数版本的版本,可以控制该文件集的版本,并使该集兼容导入到具有较低兼容级别的数据库中。..。指定时,内部数据泵组件(如元数据应用程序接口(API) )确保元数据对象与指定版本兼容。因此,您有能力确定将导出哪个版本的对象。与指定版本不兼容的数据库对象或属性将不会导出。例如,不导出包含指定版本中不支持的新数据类型的表。..。备注:
..。
进口数据泵兼容性:
. 5.2。导入数据泵参数:版本具有导入数据泵参数版本,可以控制加载到目标数据库中的对象的版本。当指定时,内部数据泵组件(如元数据应用程序接口(API) )确保元数据对象与指定版本相匹配。因此,您可以确定将导入对象的哪个版本:与指定版本不兼容的数据库对象或属性将不会传输到目标数据库。..。备注:
..。
因此,您可以使用expdp工具从源数据库导出。如果源数据库的COMPATIBLE参数高于目标数据库的COMPATIBLE参数,则必须使用VERSION参数进行导出,并将其设置为源数据库的COMPATIBLE参数的值。对于导入,您可以使用目标数据库的impdp工具。如果在这种情况下不为导出使用VERSION参数,则无法进行导入。
https://dba.stackexchange.com/questions/278988
复制相似问题