解决Oracle忘记密码问题

news/2024/7/17 3:36:28 标签: 数据库

在使用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就已经彻底解决了,就可以进行数据的导入了...

转载于:https://www.cnblogs.com/xinxin1994/p/5368900.html


http://www.niftyadmin.cn/n/585317.html

相关文章

c语言二维数组九宫格,c语言 九宫格

满意答案yxg200411202013.05.25采纳率&#xff1a;51% 等级&#xff1a;12已帮助&#xff1a;17166人#include#includeint N15;int main(){int i,j,k,m,n;int G[N][N];printf("Input the odd number(number<15) you want !\n");scanf("%d",&m);i…

webservice配置

服务端配置&#xff1a;第一步&#xff1a;引用jar包commons-httpclient.jarcommons-logging.jarjdom-10.jarwsdl4j-1.6.1.jarxbean-spring-2.8.jarxfire-all-1.2.6.jar 第二步&#xff1a;添加配置文件路径&#xff1a;WEB-INF/config/xfire-servlet.xml内容&#xff1a;<?…

c语言编程实现高斯迭代,Jacobi迭代和Gauss迭代 c语言实现

/**TestMain.cpp*功能&#xff1a;利用Jacobi迭代和Gauss迭代求解方程组*时间&#xff1a;2013.4.1*/#include "Jacobi.h"#include "Gauss.h"int main (){printf("Jacobi迭代的结果&#xff1a;\n");Jacobi(3 , 0.0001);printf("**********…

oracle使用存储过程实现日志记录.sql

--这段sql语句是用来实现oracle后台记录操作日志的&#xff0c;代替或者补充应用系统的操作日志。 --1.对应的日志记录表-------------------------------------------------------------------create table TEST( T_ID NUMBER(4), T_NAME VARCHAR2(20), T_AGE NUMBER(2)…

Eclipse无法构建工程的解决办法。

前些天从cvs上检出了一个项目&#xff0c;之前一直是改jsp页面。后来修改了一个类之后&#xff0c;发现竟然始终体现不出效果来&#xff0c;非常纳闷。清理了项目后&#xff0c;重建项目后&#xff0c;竟然发现web-inf文件夹下的classes文件夹是空的&#xff0c;查看工程属性&a…

[转]ubuntu中eclipse的悬浮提示窗口背景黑色的修改方法

因为本人使用的是ubuntu12.04gnome3.0&#xff0c;网上的确有解决方法&#xff0c;但是都不能完全解决问题&#xff0c;查了下网上的解决方法&#xff0c;可以完美解决&#xff0c;总结如下&#xff1a; 通过修改配置文件的方式实现ubuntu主题背景 文件位于/usr/share/themes/下…

去超市买东西 日记

吃饭前&#xff0c;爸爸妈妈商量饭后带明明去超市买东西&#xff0c;妈妈问明明&#xff1a;“娃娃&#xff0c;咱们去超市吧&#xff1f;” “好&#xff01;” 听着明明铿锵有力地回答&#xff0c;妈妈高兴极了&#xff0c;接着问明明&#xff1a;“娃娃&#xff0c;你想买什…

c语言中重命名文件,重命名C / C ++中的函数

C库函数int重命名(const char * old_filename&#xff0c;const char * new_filename)导致由old_filename引用的文件名更改为new_filename以下是rename()函数的声明。int rename(const char *old_filename, const char *new_filename)参数为old_filename-这是包含要重命名和/或…