文档解释
ORA-12712: new character set must be a superset of old character set
Cause: When you ALTER DATABASE … CHARACTER SET, the new character set must be a superset of the old character set. For example, WE8ISO8859P1 is not a superset of the WE8DEC.
Action: Specify a superset character set.
等
ORA-12712是一个数据库错误码,用来建议更改字符集时产生的字符集问题。 旧版本的字符集必须是新字符集的超集,因此更改字符集时也要将字符集版本一起更新。
官方解释
此错误消息指出指定的字符集必须是旧字符集的超集([superset]),以使可以将字符数据从旧的字符集转换到新的字符集。 无法进行字符集转换。
常见案例
当改变数据库字符集时,如果新的字符集不是旧字符集的超集,则将出现此错误。
正常处理方法及步骤
(1)更新字符集时先比较字符集版本,确保新字符集是旧字符集的超集。
(2)如果没有这样的字符集,则必须首先在旧的字符集中把任何可能影响转换的数据整理好,然后再将字符集版本更新到新的超集字符集,最后再尝试更改字符集。
(3)如果是存储在文件上的字符数据,必须对数据从原始字符集转换成新的字符集,然后才能在数据库中使用新字符集。
(4)在更改字符集之前,应该将所有和字符集有关的对象备份下来,以便在发生任何错误时可以进行恢复。