如何恢复或更改Oracle sysdba密码

15

我们正在使用一种Oracle数据库,但是负责设置它的人“早已离去”,因此不知道sysdba密码,但我们需要它。我们可以通过root访问该服务器(运行在Linux上)。有没有办法恢复或更改sys密码?

2个回答

27

你尝试以已安装的Oracle用户身份登录Linux系统了吗?

sqlplus "/ as sysdba"

当你登录时,你可以更改你的密码。

alter user sys identified by <new password>;

祝你好运 :)


3
如果你拥有 root 访问权限但没有 oracle 用户,那么请先登录 root,然后使用 "su - oracle" 命令,并按照 Paul 的指示操作。同时尝试使用所有默认的 oracle 密码。最后的选择是查看 OUTLN 和 DBSNMP 帐户以及围绕这些帐户的 Oracle 黑客技巧。 - Mark Nold
它帮了我,因为在Oracle 11g中默认密码无法使用。这是否意味着Oracle很容易被攻击? - Xolve

2
您可以使用环境变量的组合在本地连接到数据库:
  • ORACLE_HOME
  • ORACLE_SID
根据您的操作系统(OS)不同,可能会有所不同:

Unix/Linux:

export ORACLE_HOME=<oracle_home_directory_till_db_home>
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=<your_oracle_sid>
SQLPLUS / AS SYSDBA

Windows
set ORACLE_HOME=<oracle_home_path_till_db_home>
set PATH=%PATH%||%ORACLE_HOME%\bin
set ORACLE_SID=<your_oracle_sid>
SQLPLUS / AS SYSDBA

一旦连接成功,您就可以更改用户以修改密码:
ALTER USER username IDENTIFIED BY password;

根据您的服务器设置,您可能还需要更新sqlnet.ora SQLNET.AUTHENTICATION_SERVICES= (NTS)以便运行SQLPLUS / AS SYSDBA。 - TrojanName

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接