查询数据库字符集,将字符集改为ZHS16GBK SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; PARAMETER -------------------------------------------------------------------------------- VALUE -------------------------------------------------------------------------------- NLS_CHARACTERSET WE8MSWIN1252 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB_ORCL READ WRITE NO SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB_ORCL READ WRITE NO 关闭数据库 SQL> shu immediate Database closed. Database dismounted. ORACLE instance shut down. 启动数据库到mount模式 SQL> startup mount ORACLE instance started. Total System Global Area 1.6267E+11 bytes Fixed Size 7653480 bytes Variable Size 2.4159E+10 bytes Database Buffers 1.3798E+11 bytes Redo Buffers 529215488 bytes Database mounted. 限制session并修改相关参数(记住参数值,最后更改完字符集需要将这些参数改成原值) SQL> alter system enable restricted session; System altered. SQL> show parameter job_queue_processes; NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ job_queue_processes integer 1000 SQL> show parameter aq_tm_processes; NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ aq_tm_processes integer 1 SQL> alter system set job_queue_processes=0; System altered. SQL> alter database open; Database altered. SQL> alter database character set ZHS16GBK; alter database character set ZHS16GBK * ERROR at line 1: ORA-12712: new character set must be a superset of old character set 出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集。 使用Oracle内部命令internal_use跳过使用超集检查。 SQL> alter database character set internal_use ZHS16GBK; alter database character set internal_use ZHS16GBK * ERROR at line 1: ORA-12720: operation requires database is in EXCLUSIVE mode 报错信息要求数据库在EXCLUSIVE模式下,修改集群数据库参数为false(单库不需要调整该参数 ,该参数在修改完字符集之后需要改回原值)并重启数据库 SQL> alter system set cluster_database=FALSE scope=spfile sid='*'; System altered. SQL> shu immediate Database closed. Database dismounted. ORACLE instance shut down. 注意:启动数据库需要启动到restrict模式下,不然在修改字符集的时候可能汇报如下错误: ORA-12719: operation requires database is in RESTRICTED mode SQL> startup restrict ORACLE instance started. Total System Global Area 1.6267E+11 bytes Fixed Size 7653480 bytes Variable Size 2.4159E+10 bytes Database Buffers 1.3798E+11 bytes Redo Buffers 529215488 bytes Database mounted. Database opened. SQL> alter database character set internal_use ZHS16GBK; Database altered. SQL> shu immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 1.6267E+11 bytes Fixed Size 7653480 bytes Variable Size 2.4159E+10 bytes Database Buffers 1.3798E+11 bytes Redo Buffers 529215488 bytes Database mounted. Database opened. 查询修改结果并将上述修改的参数调整为原来的值。 SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
Oracle12c更改数据库字符集为ZHS16GBK
来源:这里教程网
时间:2026-03-03 16:30:20
作者:
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库常用的事务隔离级别都有哪些?都是什么原理?
数据库常用的事务隔离级别都有哪些?都是什么原理?
26-03-03 - 检查联机后的43 号文件信息:alter database datafile 43 online;
- DG Broker学习5(管理数据保护模式)
DG Broker学习5(管理数据保护模式)
26-03-03 - DG Broker学习1(管理DG Broker Configuration)
- Oracle SGA大小调整策略
Oracle SGA大小调整策略
26-03-03 - Oracle恢复方法(表、包)
Oracle恢复方法(表、包)
26-03-03 - 使用PL/SQL Developer修改Oracle数据库的表
使用PL/SQL Developer修改Oracle数据库的表
26-03-03 - Linux服务器shell脚本调用sql脚本
Linux服务器shell脚本调用sql脚本
26-03-03 - windows 下 文件内容清理且不删除-拾亿
windows 下 文件内容清理且不删除-拾亿
26-03-03 - Oracle 19c rac 安装补丁 Patch 32226239
Oracle 19c rac 安装补丁 Patch 32226239
26-03-03
