在 Oracle 数据库上将 NLS_LENGTH_SEMANTICS 设置为 CHAR 是否会导致任何已知问题?
-
29-09-2020 - |
题
我一直认为任何使用数据库的人 NLS_LENGTH_SEMANTICS
设置 BYTE
当使用多字节字符集时,需要检查他们的头脑,但最近我们的一位客户说,他们在数据库上应用 Oracle 补丁时遇到了问题,其中 NLS_LENGTH_SEMANTICS
被设定为 CHAR
. 。这有什么关系吗?这是一个已知问题吗?
解决方案
有一个有用的页面 这里 详细说明了您在设置时可能遇到的任何优点/缺点/问题 NLS_LENGTH_SEMANTICS
范围。
要回答您的问题,请确保您设置 NLS_LENGTH_SEMANTICS=BYTE
运行任何 Oracle“内部”脚本时。IE:补丁,升级,任何东西 $ORACLE_HOME/dbms/admin
.
其他提示
根据 文档:
Oracle 强烈建议您不要在实例或服务器参数文件中将 NLS_LENGTH_SEMANTICS 参数设置为 CHAR。这可能会导致许多现有安装脚本意外创建具有字符长度语义的列,从而导致运行时错误,包括缓冲区溢出。
不隶属于 dba.stackexchange