Oracle 密码丢失解决方法

一种方法:
sqlplus  "/ as sysdba"
SQL>startup
SQL>alter user system identified by root123;
如果sqlplus   "/   as   sysdba"不能进入,让输入密码,我输入原始密码和修改的密码后都不行
的话,修改unix环境下   
1. $ORACLE_HOME\network\admin\SQLNET.ORA   
  中为:   
  SQLNET.AUTHENTICATION_SERVICES=(NTS)   
  重起数据库/监听服务,
  就可以用操作系统认证sqlplus   "/   as   sysdba"了     
  来进入你的数据库,从而轻而易举的搞定你的数据库了
2.sqlplus   /nolog   
  sql>connect   /as   sysdba   

第二种方法:

详细步骤如下:
一:查询视图V$PWFILE_USERS,
select * from V$PWFILE_USERS;
记录下拥有 SYSOPER/SYSDBA系统权限的用户 信 息
二:关闭数据库 shutdown immediate
三:删除密码文件,文件路径一般为:ORACLE_HOME\DATABASE,文件名为  
      PWD<SID>.ORA
四:创建密码文件
      ORAPWD FILE=< FILENAME > PASSWORD =< PASSWORD >
五:向密码文件中增加用户
     CONNECT SYS/internal_user_passsword AS SYSDBA;
     启动数据库实例并打开数据库; 创建相应用户帐号,对其授权
    授予 权限:GRANT SYSDBA TO user_name(如果先前数据库
    只有sys具有sysdba权限,可不做这步)
六:修改密码文件状态,默认密码文件的状态shared,要将初始化参数里的
      REMOTE_LOGIN_PASSWORDFILE 设置成EXCLUSIVE