LINUX8.10 + ORACLE 11G数据库,NLS_CHARACTERSET 字符集变成了US7ASCII,要改成AL32UTF8
1. shutdown immediate
2. startup mount
3. ALTER SYSTEM ENABLE restricted SESSION;
4. alter database open;
5. ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
6. ALTER SYSTEM DISABLE restricted SESSION;
验证字符集:
select property_name,property_value from database_properties where property_name like '%CHARACTERSET%';
以下是具体操作步骤:
SQL> !cat /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
SQL> select property_name,property_value from database_properties where property_name like '%CHARACTERSET%';
PROPERTY_NAME
--------------------------------------------------------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
US7ASCII
NLS_NCHAR_CHARACTERSET
AL16UTF16
SQL> aLTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
aLTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 668082176 bytes
Fixed Size 2256232 bytes
Variable Size 247464600 bytes
Database Buffers 411041792 bytes
Redo Buffers 7319552 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE restricted SESSION;
System altered.
SQL> alter database open;
Database altered.
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
Database altered.
SQL> select property_name,property_value from database_properties where property_name like '%CHARACTERSET%';
PROPERTY_NAME
------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8
NLS_NCHAR_CHARACTERSET
AL16UTF16
SQL> ALTER SYSTEM DISABLE restricted SESSION;
System altered.
9079

被折叠的 条评论
为什么被折叠?



