• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Oracle数据库中出现ora-12899错误怎么办

Oracle数据库中出现ora-12899错误怎么办

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了ora-12899,Oracle,数据库等相关知识,希望本文的分享对您有所帮助
在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,希望能帮助到大家。

出现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>STARTUP MOUNT
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;
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

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

SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP

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

PS:下面给大家补充下:oracle 里*.ora文件是干什么用的?

为什么10g里边没有*.ora文件?

9i里边的*.ora 等于10g里边的*.dbf么?

在创建表<a href=' http://www.eysky.cn' target='_blank'>空间</a>时

DATAFILE 用于指定数据文件的具体位置和大小。但是我看到有些文章使用

*.ora文件,如DATAFILE 'D:\\ORACLE\\ORADATA\\ORA92\\LUNTAN.ora' SIZE 5M ,有些

则使用*.dbf文件,如DATAFILE 'D:\\ORACLE\\ORADATA\\ORA92\\LUNTAN.dbf' SIZE 5M 。

网上的说法是.dbf-数据文件, .tmp-临时文件, .log-重作日志文件(redo log file), .ctl-控制文件

.ora-参数文件, .dat-Oracle系统文件

只是通过扩展名来标识文件的类型而已,对于数据文件不管是ora/dat/dbf,都是一样的,没有什么区别。我个人觉得也是这样。不知大家的意见是怎样的?

相关推荐:

Oracle如何更改表空间的数据文件位置

mysql与oracle数据库停止与启动的批处理文件

Oracle Clob字段过长保存出错改如何解决?

以上就是Oracle数据库中出现ora-12899错误怎么办的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Oracle数据库中出现ora-12899错误怎么办

相关文章

  • 2018-12-05mysql5.7.19(tar.gz)在linux下安装图文教程详解
  • 2018-12-05mysql家谱表查询某人所有后代
  • 2018-12-05SQL Server 索引结构及其使用(二) 改善SQL语句第1/3页
  • 2018-12-05 MongoDB循序渐进之[特性]面向文档存储
  • 2018-12-05MySQL数据库备份与恢复方法
  • 2018-12-05图片上的是mysql哪一种可视化工具?
  • 2018-12-05在Linux下安装Oracle
  • 2018-12-05mysql 月份查询该月有付款的数据
  • 2018-12-05mysql常用的语句_MySQL
  • 2017-05-11MySQL插入数据时插入无效列的解决方法

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL 数据库两台主机同步实战(linux)
    • mysql字符串类型
    • MySQL数据库查看数据表占用空间大小和记录数的方法
    • Mysql的主从服务器架构配置
    • MySQL 4.0 升级到mysql 5.0的方法
    • MySQL常见的数据类型详细介绍
    • 详解MySQL数据库优化
    • mysql 读写分离(基础篇)
    • 配置MySQL主从分离的方法教程
    • 常用的SQL例句 数据库开发所需知识

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有