Oracle 将列类型从 CLOB 更改为 NCLOB

Oracle change column type from CLOB to NCLOB

我们正在使用 Oracle,我们需要允许将希腊字符存储在数据库中。目前,我们的数据库实例不允许我们插入希腊字符,例如“ϕ”。在谷歌上搜索,我发现它与字符集有关。我的 oracle 使用不支持希腊字符的 NLS_CHARACTERSET - WE8MSWIN1252。如果它必须工作,我将不得不将字符集更改为 AL32UTF8、UTF8、AL16UTF16 或 WE8ISO8859P7 之一。现在我们已经在数据库中有这么多数据,现在更改字符集将是一个风险。

我的另一个选择是将列类型(用于插入希腊语)从 CLOB 或 VARCHAR2 更改为 NVARCHAR2,它工作正常。

在更改列类型之前,我想知道将列类型从 CLOB 更改为 NVARCHAR2 涉及哪些风险,以及在更改之前需要注意哪些事项。

此外,我想知道将现有字符集更改为 AL32UTF8 的利弊。

编辑:

还有一个将 CLOB 更改为 NCLOB 的选项,这似乎风险较小,因为两者是密切相关的 (几乎相同) 类型。请让我知道将 CLOB 更改为 NCLOB 的利弊。

好的。我在其他论坛上用谷歌搜索和发布问题,在这里得到了非常需要的答案。

https://www.toolbox.com/tech/oracle/question/migrating-clob-to-nclob-010917/