测试、运行程序时,一般使用服务器上的oracle服务,2010年春节后第一天来上班,服务器整体down掉了,所以只好使用本机的oracle服务,是两年装的,连system的密码都不记得了。
首先,开启本地的oracle服务,开始-->设置-->按制面板-->管理工具-->服务 按字母“O”很快找到oracle相关的九个服务,OracleOraDb10g_home1TNSListener 服务一般是开着的,因为开发人员一般都要在自己的机子上使用客户端连接远程的数据库服务器,如果大家没有开就开一下吧。OracleServiceORCL 服务,准确的说应该是OracleServiceSID服务,我的SID是的oracle默认的ORCL,所以就是OracleServiceORCL ,也开启,OK了。
其次,在NET Manager 中配置一个服务命名,记得以前在NET Manager中是会自动配置一个本地的服务命名的,好像是叫LOCAL,但是在oracle 10中没有,应该不会是我两年前删除了!那就自己配置吧,就那么几步,很简单了,到了最后测试,默认使用scott /tiger 进行测试,出现ora-280000 the account is locked 提示,换system /manager 也是ora-280000 the account is locked ,账号也锁定,看来得解决这个问题。
开始-->运行-->cmd 进行DOS界面
输入:sqlplus.exe / as sysdba;
SQL>alert user scott account unlock;
User altered.
sql>commit;
Commit complete.
SQL>conn scott/tiger
ERROR:
ORA-28001:the password has expired
Change password for scott
New passoword:
Retype new password
Password changed
Connect.
SQL>commit;
Commit complete.
这个时候使用scott/新的密码进行net manager测试可以成功,这样就解决了ora-280000 the account is locked的问题
当使用同样的方法解决system登录时的ora-280000 the account is locked问题时:出现下面问题
SQL> con system/manager
ERROR:
ORA-01017:invalid username/password ;logon denied
Warning :You are no longer connect to ORACLE.
改了密码试了N次,不行,这意味着我忘记了system的密码,呵呵,毕竟两年了。
首先,使用上面提到的方法进入sqlplus
SQL> conn /as sysdba
Connect.
SQL> alter user system identified by manager;
User altered.
SQL>commit;
Commit complete.
SQL>conn system/manager;
Connected.
到此这个问题也解决。
其实不管在Net manager中是否配置了本地服务命名,使用SQL plus 都可以连接服务器,只要不写相应的Host String 就可以。