linux系统中 修改oracle数据库字符集问题
发布日期:2025-04-10 02:25:23 浏览次数:10 分类:精选文章

本文共 1478 字,大约阅读时间需要 4 分钟。

在本地Linux系统上尝试将Oracle数据库导入时,遇到了多个问题,逐步解决并记录以下详细过程。

导出数据库时的注意事项

在使用EXP命令导出包含dblink连接的数据库时,由于本地客户端版本(11.2.0.1.0-64bit)低于服务器版本(11.2.0.4.0-64bit),导出过程中出现连接失败提示。经过多次尝试后,发现直接删除dblink连接并使用PLSQL导出虽慢,但能顺利完成任务。建议仅在必要时删除dblink,以免影响业务流程。

导入数据库时的字符编码问题

在成功导出数据库后,将其导入另一台Linux服务的数据库时,发现部分数据显示为乱码。经过检查,发现两端数据库的字符编码不一致,导致数据无法正确解析。

解决字符编码问题的步骤

  • 验证字符编码

    执行以下SQL查询确认两端字符集:

    SELECT * FROM nls_instance_parameters WHERE parameter='NLS_LANGUAGE';

    并查看数据库的字符集设置。

  • 修改字符编码

    以sysdba身份执行以下步骤:

    • 关闭数据库:
      shutdown immediate;
    • 启动数据库以挂载:
      startup mount;
    • 设置并启用restricted session:
      ALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    • 启动数据库并修改字符集:
      ALTER DATABASE CHARACTER SET ZHS16GBK;

      如果出现超集检查失败,使用以下命令绕过检查:

      ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
    • 重新启动数据库:
      shutdown immediate;startup;
  • 重新创建用户并授权

    删除现有用户并创建新用户:

    drop user user_name cascade;create user user_name identified by password;grant connect, resource, dba to user_name;alter user user_name quota unlimited on tablespace_name;
  • 重新导入数据库

    使用IMP命令导入dmp文件:

    imp user_name/password file=/home/oracle/dmp/dmp_file.dmp log=/home/oracle/dmp/log_name.log FULL=y;
  • 解决ORA-12514错误的方法

  • 查找并修改listener.ora文件

    使用以下命令停止和启动listener:

    lsnrctl stoplsnrctl start

    查看listener日志以确定文件位置并确认配置。

  • 更新listener.ora文件

    添加必要的SID_LIST_LISTENER配置,确保listener能够正确识别数据库服务。

  • 重新启动数据库服务

    使用SQLPlus控制台执行:

    sqlplus /nologconn / as sysdbashutdown immediate;startup;exit;

    重新启动listener并验证连接是否正常。

  • 通过以上步骤,成功解决了数据库导入过程中的字符编码问题和ORA-12514错误,最终实现了数据库的顺利导入与使用。

    上一篇:Linux系统中/etc/init.d和/etc/rc.d/rc.local的区别
    下一篇:LInux系统两套管理网络连接的方案interfaces和Network-Manager

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2025年05月19日 16时31分39秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章

    Linux工作笔记026---Centos7.3 yum提示Another app is currently holding the yum lock; waiting for it to exit. 2023-02-04
    Linux工作笔记027---Centos7.3 查看tomcat所占用的端口号 2023-02-04
    Linux工作笔记029---Centos7.3 服务器下查看tomcat服务是否启动,重启,查看错误日志等基本操作 2023-02-04
    Linux工作笔记031---Centos7.3下安装tomcat 2023-02-04
    Linux工作笔记032---Centos7.3 kill杀掉不用的进程_查看某个进程_某个进程占用的cpu,内存情况 2023-02-04
    Linux工作笔记032---Centos7.3/8.2 下安装mysql_不局限于MySql版本 2023-02-04
    Linux工作笔记033---Linux(CentOS7)安装zip、unzip命令 2023-02-04
    Linux工作笔记034---linux tail命令详解_linux在vi中查找字符串 2023-02-04
    Linux工作笔记035---linux内网测试访问外网网速_外网测试访问内网网速 2023-02-04
    Linux工作笔记035---设置连接Linux Centos 超时连接时间_空闲的等待时间 -bash: TMOUT: readonly variable 2023-02-04
    Linux工作笔记036---Centos下查看cpu、磁盘、内存使用情况以及如何清理内存 2023-02-04
    Linux工作笔记037---Centos8.2下安装mysql_测试通过_注意这里安装8.0.22版本的_8.0以后的版本有需要注意的地方_跟7.0之前的版本不一样 2023-02-04
    Linux工作笔记037---Centos下Linux创建用户_用户组_删除用户 2023-02-04
    Linux工作笔记038---CentOS8.2安装Nginx_测试通过 2023-02-04
    Linux工作笔记038---Centos下Linux下解决root用户Operation not permitted 2023-02-04
    Linux工作笔记039---CentOS8.2卸载mysql 2023-02-04
    Linux工作笔记040---Centos8.2安装mysql5.7.18_已经测试成功 2023-02-04
    Linux带给了我什么? 2023-02-04
    Linux常用vi命令 2023-02-04
    linux常用压缩解压命令(tar,zip) 2023-02-04