Oracle 12c修改字符集的方法(解决数据导入后中文乱码及ORA-12899错误)

 更新时间:2024年04月23日 11:32:10   作者:小码蚁啊  
之前在Windows上安装的Oracle,现在迁移到Linux上,把dmp文件导入Linux的时候发现字段的注释和存储过程中的中文是问号?,而且导入的时候还会报ORA-12899错误,其实这些都是字符集问题,所以本文给大家介绍了Oracle 12c修改字符集的方法,需要的朋友可以参考下

之前在Windows上安装的Oracle,现在迁移到Linux上,把dmp文件导入Linux的时候发现字段的注释和存储过程中的中文是问号?,而且导入的时候还会报ORA-12899错误。其实这些都是字符集问题。

1、查询当前字符集

select * from nls_database_parameters where parameter='NLS_CHARACTERSET';

如果不是ZHS16GBK说明确实是字符集问题。

2、关闭数据库

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

3、启动数据库到mount状态

SQL> startup mount
ORACLE instance started.
Total System Global Area  205520896 bytes
Fixed Size                  1266608 bytes
Variable Size             100666448 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
Database mounted.

4、限制session

SQL> alter system enable restricted session;
System altered.

5、禁用作业调度进程,确保无进程调用数据库

先查询之前的值

SQL> show parameter job_queue_processes;

把参数置为0

SQL> alter system set job_queue_processes=0;
System altered.

6、打开数据库

alter database open;

7、修改字符集

SQL> alter database character set internal_use ZHS16GBK;          
Database altered.

8、查询当前字符集

SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
PARAMETER                                VALUE
---------------------------------------- ----------------------------------------
NLS_CHARACTERSET                         ZHS16GBK

9、重复2关闭数据库和3启动数据库到mount状态并将作业调度进程参数调回之前的值

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
 
SQL> startup mount
ORACLE instance started.
Total System Global Area  205520896 bytes
Fixed Size                  1266608 bytes
Variable Size             100666448 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
Database mounted.
 
SQL> alter system set job_queue_processes=110;
System altered.

10、恢复session

SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;
System altered.

11、打开数据库

SQL> alter database open;
Database altered.

到此这篇关于Oracle 12c修改字符集的方法(解决数据导入后中文乱码及ORA-12899错误)的文章就介绍到这了,更多相关Oracle 12c修改字符集内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle 多参数查询语句

    Oracle 多参数查询语句

    这篇文章主要介绍了Oracle 多参数查询语句 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • Linux CentOS7安装Oracle11g的超完美新手教程

    Linux CentOS7安装Oracle11g的超完美新手教程

    Linux下安装Oracle相比windows安装Oracle要显得繁琐很多,繁琐在前期准备工作很多,下面这篇文章主要给大家介绍了关于Linux CentOS7安装Oracle11g的超完美教程,需要的朋友可以参考下
    2022-07-07
  • oracle中的substr()函数用法实例详解

    oracle中的substr()函数用法实例详解

    这篇文章主要给大家介绍了关于oracle中substr()函数用法的相关资料,substr函数是用于字符串的截取的函数,只适用于string类型,并不适用于字符数组,需要的朋友可以参考下
    2023-11-11
  • Oracle PL/SQL中“表或视图不存在“错误的解决方案

    Oracle PL/SQL中“表或视图不存在“错误的解决方案

    在Oracle PL/SQL开发中,许多开发者都遇到过这个令人困惑的错误表或视图不存在,这个错误看似简单,但背后可能有多种原因,特别是当表确实存在时,这个错误更让人摸不着头脑,所以本文介绍了详细的解决方案,需要的朋友可以参考下
    2025-04-04
  • Oracle数据库逻辑备份的SH文件

    Oracle数据库逻辑备份的SH文件

    Oracle数据库逻辑备份的SH文件...
    2007-03-03
  • Oracle中RAISE异常深入分析

    Oracle中RAISE异常深入分析

    当数据库或PL/SQL在运行时发生错误时,一个异常被PL/SQL运行时引擎自动抛出,oracle有三种方式抛出异常,需要了解的朋友可以祥看本文
    2012-12-12
  • Oracle自定义脱敏函数的代码详解

    Oracle自定义脱敏函数的代码详解

    这篇文章主要介绍了Oracle自定义脱敏函数的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Oracle创建定时任务的方法步骤

    Oracle创建定时任务的方法步骤

    在日常的数据库管理中,经常会遇到需要定期执行某个任务的需求,本文主要介绍了Oracle创建定时任务的方法步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • PLSQL导入dmp文件的详细完整步骤

    PLSQL导入dmp文件的详细完整步骤

    plsql导入.sql和.dmp文件时,会经常用到,对于初学者来说可能没有那么简单,毕竟oracle数据库比较麻烦,下面这篇文章主要给大家介绍了关于PLSQL导入dmp文件的详细完整步骤,需要的朋友可以参考下
    2023-05-05
  • Oracle中实现行列互转的方法分享

    Oracle中实现行列互转的方法分享

    这篇文章主要为大家总结了Oracle中实现行列互转的简单方法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06

最新评论