如何在RDS Oracle数据库上将字符集(NLS_CHARACTERSET)和国家字符集(NLS_NCHAR_CHARACTERSET)更改为UTF8?

ecfdbz9o  于 2023-08-03  发布在  Oracle
关注(0)|答案(3)|浏览(155)

我们的应用程序设计用于Oracle 11g数据库,CharsetNLS_CHARACTERSET)和 National CharsetNLS_NCHAR_CHARACTERSET)都设置为UTF8。
在Amazon Relational Database Service(RDS)上启动Oracle数据库示例时,系统提示我选择设置为UTF8的 Charset
但是,我无法找到一种方法来设置 National Charset,并且在数据库创建期间将此参数设置为AL16UTF16
我尝试了以下方法:

  • 已创建新的参数组以设置NLS_NCHAR_CHARACTERSET,但未列出该参数。我还尝试使用AWS CLI强制使用此参数创建新的参数组,但没有成功。
  • 已尝试ALTER数据库,但SYSDBA角色在Amazon托管数据库示例上不可用。
  • 使用不同的 Charset 参数创建了不同的Oracle RDS数据库,以检查 National Charset 是否受到影响,但它仍然设置为AL16UTF16

有什么办法吗?

iq3niunx

iq3niunx1#

可以在使用AWS CLI创建示例期间通过指定--character-set-name来设置该参数。到目前为止,我还没有找到任何改变现有示例的方法。
在我的测试中,我使用--character-set-name KO 16 MSWIN 949设置它,它将支持基于AWS文档的韩语:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.OracleCharacterSets.html

jaql4c8m

jaql4c8m2#

使用Cloudformation,您也可以在AWS::RDS::DBInstance的CharacterSetName属性中设置它。

2sbarzqh

2sbarzqh3#

CLI选项--nchar-character-set-name

从2020年10月7日的AWS cli版本2.0.55开始,您可以用途:

aws rds create-db-instance --nchar-character-set-name UTF8

字符串
您也可以使用python库boto 3命令create_db_instance,选项NcharCharacterSetName。
设置国家字符集不会出现在AWS控制台上。
创建RDS DB示例后,没有更改字符集的选项。

相关问题