Câu hỏi Kết nối SQLplus trong oracle


Tôi muốn kết nối sys người dùng trong sqlplus của oracle nhưng sau khi tôi kết nối, tôi gõ như thế này:

sqlplus sys as sysdba
password:123456
Error:
  ORA-01030:insufficient privilege

  warning:You are no longer to connect oracle.

Có ai giúp tôi giải quyết vấn đề của tôi không?


10
2018-06-13 05:39


gốc


Nếu bạn chắc chắn rằng các đặc quyền của bạn được thiết lập đúng, một điều nữa bạn có thể thử: "tạo một tệp có tên là sqlnet.ora trong thư mục ORA_HOME \ network \ network \ admin của bạn và thêm vào dòng sau: SQLNET.AUTHENTICATION_SERVICES = (NTS ) Sau đó lưu lại. " Xem thêm tại đây: it.toolbox.com/blogs/david/… - bernie


Các câu trả lời:


Tài khoản người dùng hệ điều hành của bạn mà bạn đã đăng nhập với tư cách là thành viên của nhóm ORA_DBA (cửa sổ) hoặc nhóm DBA (* nix)?

Nếu câu trả lời là có, thì điều tiếp theo cần kiểm tra là sự tồn tại của tệp ORACLE_HOME \ database \ orapwORCL.ora, chứa các mật khẩu cho tất cả người dùng được định nghĩa là người dùng sysdba. Nếu nó không tồn tại, bạn cần phải tắt cơ sở dữ liệu và thực thi tiện ích orapwd:

  • cơ sở dữ liệu cd ORACLE_HOME \
  • tệp orapwd = mật khẩu orapwORCL.ora = 123456 mục = 10

Điều này định nghĩa mật khẩu của sys là 123456. Sau đó bạn có thể khởi động cơ sở dữ liệu và kết nối sys / 123456 với tên sysdba

Tệp mật khẩu phải tồn tại để xác thực dựa trên mật khẩu = trên thông tin đăng nhập sysdba. Lý do cho điều này là một thực tế rằng các kết nối sysdba phải được cho phép khi cơ sở dữ liệu không hoạt động và cơ sở dữ liệu không thể xác thực bạn.


6
2018-06-13 15:24





Ví dụ của bạn trông hơi bị cắt xén; để kết nối với sqlplus thông qua dòng lệnh, với người dùng sys và mật khẩu 123456:

sqlplus sys/123456 as sysdba

hoặc là

sqlplus "sys/123456 as sysdba"

trước Oracle 10. Nếu bạn đã ở trong sqlplus (như tôi giả định từ thực tế là ví dụ của bạn bắt đầu với một SQL>), bạn sử dụng lệnh connect:

SQL> connect sys/123456 as sysdba

Trong mọi trường hợp, nếu bạn chưa đặt biến môi trường ORACLE_SID, bạn cần chỉ định rằng sau mật khẩu, như sau:

sqlplus sys/123456@<mydbname> as sysdba

Ở đâu <mydbname> là một trong hai dạng <hostname>/<sid>, nếu bạn đang sử dụng Oracle 10 trở lên hoặc mục nhập hợp lệ từ tnsnames.ora tệp (nằm trong $ORACLE_HOME/network/admin) cho tất cả các phiên bản.


18
2018-06-14 18:34