Oracle数据库12560及更改密码为永久

    小厂子的程序员还要折腾Oracle维护。这这里简单记录一下Oracle数据库服务器使用时遇到并解决的一些问题。

  1. 在Oracle数据库服务器上(即安装Oracle数据库端的机器上),可以使用命令 【sqlplus /nolog】(CMD命令)和【conn /as sysdba】(SQL命令)以数据库dba身份登录,而无需密码。原理见这儿

 

  2. 当你在Oracle服务器端服务器上使用【conn /as sysdba】命令,并且打开了那两个最关键的服务【监听服务ListerService和数据库服务YourSIDservice】却还是报12560错误时,这时应该

  a. 使用 【conn sys/yourpwd@yourSID as sysdba】命令进行登录(即使用含有SID的完整命令进行登录)

  b. 在CMD窗口【set oracle_sid=yourSID】后,重新打开一个新的CMD窗口(此时上一句命令才生效),使用【sqlplus /nolog】和【conn /as sysdba】进行登录。

如果你知道sys的密码推荐方法 a。

 

  3. Oracle的密码经常几个月过期,导致交付给用户的系统也无法正常使用了。所以,对于小厂子的程序员来说,这是及其恶心的。所以,有必要对 Oracle 的帐号密码期限进行修改。改为 无限制。

关键语句:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

   1、查看用户的proifle是哪个,一般是default:

    sql> SELECT username,PROFILE FROM dba_users;

    2、查看指定概要文件(如default)的密码有效期设置:

    sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

    3、将密码有效期由默认的180天修改成“无限制”:

    sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

    修改之后不需要重启动数据库,会立即生效。

    4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;

    已经被提示的帐户必须再改一次密码

    sql> alter user <用户名> identified by <原来的密码> ----不用换新密码

  

 

<完>

posted @ 2015-12-23 18:24  HolyGrail  阅读(541)  评论(0编辑  收藏  举报
设计良好的程序将用户的注意力视为有限的宝贵资源,只有在必要时才要求使用。 ——《Unix编程艺术》