2008-09-09 17 views
11

Chúng tôi đang làm việc với một cơ sở dữ liệu oracle trong đó người thiết lập nó là "đã qua lâu" và do đó không biết mật khẩu sysdba, nhưng cần nó. Chúng tôi có quyền truy cập root vào hộp (trên linux). Có cách nào để khôi phục hoặc thay đổi mật khẩu của sys không?Cách khôi phục hoặc thay đổi mật khẩu Oracle sysdba

Trả lời

21

Bạn đã cố gắng đăng nhập vào Linux như cài đặt sử dụng Oracle của bạn sau đó

sqlplus "/ as sysdba" 

Khi bạn đăng nhập, bạn sẽ có thể thay đổi mật khẩu của bạn.

alter user sys identified by <new password>; 

Chúc may mắn :)

+2

một sự bổ sung ... nếu bạn có quyền root nhưng không phải là người sử dụng oracle, đăng nhập như là người chủ sau đó "su - oracle" và làm theo hướng dẫn của Thánh Phaolô. Ngoài ra hãy thử tất cả các mật khẩu oracle mặc định. Tùy chọn cuối cùng là xem xét các tài khoản OUTLN và DBSNMP và Oracle hack xung quanh đó. –

+0

Nó đã giúp tôi, mật khẩu mặc định trong oracle 11g không hoạt động. Điều này có nghĩa là oracle có thể dễ dàng bị xâm phạm. – Xolve

0

Bạn có thể kết nối với cơ sở dữ liệu cục bộ bằng cách sử dụng sự kết hợp của các biến môi trường:

  • ORACLE_HOME
  • ORACLE_SID.

Tùy thuộc vào OS của bạn:

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 

của 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 

Sau khi kết nối, bạn có thể sau đó thay đổi người sử dụng để thay đổi mật khẩu:

ALTER USER username IDENTIFIED BY password;