Oracle 12C 修改 NLS_NCHAR_CHARACTERSET 的值

2023-10-19 11:08

本文主要是介绍Oracle 12C 修改 NLS_NCHAR_CHARACTERSET 的值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:本例使用的数据库为新建数据库,没有数据。
注意:若数据库内有重要数据,建议在操作前做好备份工作。

修改原因:

报错:ORA-00910: specified length too long for its datatype

经查看是NLS_NCHAR_CHARACTERSET的配置有问题,应该为AL32UTF8

select value from nls_database_parameters t where t.PARAMETER ='NLS_NCHAR_CHARACTERSET'

在这里插入图片描述

修改步骤:

(此处记录的是实际操作情况,之所以把失败的情况也展示出来,是为了提供给大家一个排错思路。)

尝试修改

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode

出现该错误,是由于当前没有处于 RESTRICTED 模式

修改为 RESTRICTED 模式

SQL> alter system enable restricted session;System altered.

再次尝试

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8
*
ERROR at line 1:
ORA-12721: operation cannot execute when other sessions are active

出现该错误是因为除了当前连接,还有其他连接

断开其他连接后,再次修改

SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;Database altered.

修改成功!

取消RESTRICTED模式

SQL> alter system disable restricted session;System altered.

查询是否生效

select value from nls_database_parameters t where t.PARAMETER ='NLS_NCHAR_CHARACTERSET'

在这里插入图片描述

select * from v$nls_parameters

在这里插入图片描述

为验证本次修改的时效性,现重启数据库,再次查看是字符集配置情况:

SQL> shutdown 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.

再次查看发现字符集的配置依然是对的

本次修改完成!

这篇关于Oracle 12C 修改 NLS_NCHAR_CHARACTERSET 的值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/239361

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho