Oracle忘记管理员密码处理
[oracle@flyinweb ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 25 22:53:26 2011
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
SQL> connect / as sysdba 
Connected to an idle instance.
SQL> alter user sys identified by password@oracle;
alter user sys identified by password@oracle;
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

SQL> startup
ORACLE instance started.
Total System Global Area 1272213504 bytes
Fixed Size                  1336260 bytes
Variable Size             771755068 bytes
Database Buffers          486539264 bytes
Redo Buffers               12582912 bytes
Database mounted.
Database opened.

SQL> alter user sys identified by password;
User altered.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

以上在Cent OS 5.6 Oracle Database 11g上测试通过

If your administration is as good as anybodies, you are bound to loose the not-so-frequently used password for the SYS and SYSTEM users of oracle. Here are a few ways I found to re-set those passwords:

Method 1: SQLPLUS (Tested on AIX Oracle 9.2.0.1.0)

Log into the database server as a user belonging to ‘dba’ [unix ] or ‘ora_dba’ [windows ] group , typically ‘oracle’, or an administrator on your windos machine. You are able to log into Oracle as SYS user, and change the SYSTEM password by doing the following:

$ sqlplus "/ as sysdba"SQL*Plus: Release 9.2.0.1.0 - Production on Mon Apr 5 15:32:09 2004Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - ProductionSQL> show userUSER is "SYS"SQL> passw system
Changing password for system
New password:
Retype new password:
Password changed
SQL> quit

Next, we need to change the password of SYS:

$ sqlplus "/ as system"SQL*Plus: Release 9.2.0.1.0 - Production on Mon Apr 5 15:36:45 2004Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.SP2-0306: Invalid option.
Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]
where <logon>  ::= <username>[/<password>][@<connect_string>] | /
Enter user-name: system
Enter password:Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - ProductionSQL> passw sys
Changing password for sys
New password:
Retype new password:
Password changed
SQL> quit

You should now be able to log on the SYS and SYSTEM users, with the passwords you just typed in.

Method 2: Creating pwd file (Tested on Windows Oracle 8.1.7)

  1. Stop the Oracle service of the instance you want to change the passwords of.
  2. Find the PWD###.ora file for this instance, this is usuallly located atC:\oracle\ora81\database\, where ### is the SID of your database.
  3. rename the PWD###.ora file to PWD###.ora.bak for obvious safety reasons.
  4. Create a new pwd file by issuing the command:
    orapwd
    file=C:\oracle\ora81\database\PWD###.ora password=XXXXX
    where ### is the SID and XXXXX is the password you would like to use for the SYS and INTERNAL accounts.
  5. Start the Oracle service for the instance you just fixed. You should be able to get in with the SYS user and change other passwords from there.

本日志由 flyinweb 于 2011-07-25 23:08:18 发表,目前已经被浏览 900 次,评论 0 次;

作者添加了以下标签: sysdba

引用通告:http://www.517sou.net/Article/634/Trackback.ashx

评论订阅:http://www.517sou.net/Article/634/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)