zoukankan      html  css  js  c++  java
  • ORACLE数据库ORA12899错误的解决方法

    出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899,其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题;但是在修改字符集的时候,我发现,我把sys账户的密码给忘记了,这就悲剧了,所以我只好先修改sys用户的密码咯.

    修改密码也是分好几种情况的,下面我就一一列举吧:
    一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 
    用SYS (或SYSTEM)用户登录。 
    CONN SYS/PASS_WORD AS SYSDBA; 
    使用如下语句修改用户的密码。 
    ALTER USER user_name IDENTIFIED BY newpass; 
    注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988: 口令缺失或无效 
    二、忘记SYS用户,或者是SYSTEM用户的密码。 
    如果是忘记SYSTEM用户的密码,可以用SYS用户登录。然后用ALTER USER 密令 
    修改密码。 
    CONN SYS//PASS_WORD AS SYSDBA; 
    ALTER USER SYSTEM IDENTIFIED BY newpass; 
    如果是忘记SYS用户的密码,可以用SYSTEM用户登录。然后用ALTER USER 密令 
    修改密码。 
    CONN SYSTEM//PASS_WORD ; 
    ALTER USER SYSTEM IDENTIFIED BY newpass; 
    三、如果SYS,SYSTEM用户的密码都忘记或是丢失。 
    这一项尤其重要。 
    可以使用ORAPWD.EXE 工具修改密码。 
    开始菜单->运行->输入‘CMD’,打开命令提示符窗口,输入如下命令: 
    orapwd file=D:/oracle/product/10.2.0/db_1/database/pwdctcsys.ora 
    password=newpass 
    这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下 
    的/database目录下。 
    这个密码是修改sys用户的密码。除sys和system其他用户的密码不会改变。 
    修改过密码之后就能以dba的身份进行修改了,不是dba的话在执行修改命令的时候会提示你权限不足.
    开始-->运行-->cmd,之后输入:"sqlplus sys/oracle@192.168.0.1/orcl as SYSDBA"
    如果不能正常进入,那就需要你手动输入用户名和密码,进入之后会出现
    "SQL>"的提示,
    按照下面给出的命令依次执行就可以了,
    SQL>SHUTDOWN IMMEDIATE
    SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
    SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    SQL>ALTER DATABASE OPEN;
    ALTER DATABASE CHARACTER SET ZHS16GBK
    *ERROR at line 1:
    ORA-12712: new character set must be a superset of old character set
    SQL>SHUTDOWN IMMEDIATE
    SQL>STARTUP

    SQL>STARTUP MOUNT

    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK ;

    报字符集不兼容,此时下INTERNAL_USE指令不对字符集超集进行检查:

    SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;


    这时候,这个ORA-12899就已经彻底解决了,就可以进行数据的导入了...

    来源:http://www.cnblogs.com/blogyuan,欢迎转载
  • 相关阅读:
    Map 嵌套存储Map
    LinkedList;以及迭代器Iterator
    计算某字符串中大写字母、小写字母以及数字的个数
    String字符串转多种类型及多种方法的应用
    String类的构造方法
    String类(附件)
    (五)Kubernetes集群安装
    (四)Kubernetes 网络通讯方式
    (三)Kubernetes-Pod概念
    (二)Kubernetes组件说明
  • 原文地址:https://www.cnblogs.com/blogyuan/p/3739667.html
Copyright © 2011-2022 走看看