Oracle数据库中ora-12899错误的解决方法
在使用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数据库中ora-12899错误的解决方法,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Oracle数据库中ora-12899错误的解决方法
相关文章
- Oracle中的随机数函数及其应用(oracle随机数函数)
- 使用TNS连接Oracle数据库(tns连接oracle)
- SQL技巧开启学习:学习Oracle常用SQL技巧(oracle常用)
- Oracle考试:路径指引到成功(oracle考试题目)
- 如何正确配置Oracle数据库(如何配置oracle)
- Oracle下载:注册你的前程(oracle下载要注册)
- Oracle数据库:强大的语言支持(oracle语言支持)
- Oracle字符定界:灵活分割的利器(oracle字符分割)
- 探究Oracle回滚机制,解密数据一致性保障(查看oracle回滚)
- Oracle让你享受更优质的标准服务(oracle标准服务)
- Oracle内部表与外部表的对比分析(oracle内部表外部表)
- Oracle数据库全量注释极致编程思路(oracle全量注释)
- Oracle数据库极速入库有效优化技巧(oracle入库速度优化)
- 使用MFC开发快速查询Oracle数据库实例(mfc查询oracle)
- 深入浅出通过DMP解析Oracle(dmp解析oracle)
- Oracle数据库中的索引分类与利用(oracle中的索引分类)
- Oracle企业版序列号破解指南(oracle企业版序列号)
- Oracle数据库优化的准则及技巧(oracle优化准则)
- iver Oracle 数据库数据档案备份与管理(oracle下的arch)
- Oracle面试三面通知,接招吧(oracle三面通知)
- Oracle Grid实现企业数据库和应用协同运行(oracle gird)