Подключить SQLplus в oracle

Я хочу подключить пользовательский sys в sqlplus oracle, но после подключения я печатаю вот так:

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

  warning:You are no longer to connect oracle.

Помогает ли кто-нибудь решить мою проблему?

Ответ 1

Является ли ваша учетная запись пользователя вашей операционной системы зарегистрированной в качестве члена группы ORA_DBA (Windows) или группы DBA (* nix)?

Если да, то следующее, что нужно проверить, это наличие файла ORACLE_HOME\database\orapwORCL.ora, который содержит пароли для всех пользователей, определенных как пользователи sysdba. Если он не существует, вам необходимо закрыть базу данных и выполнить служебную программу orapwd:

  • cd ORACLE_HOME\database
  • orapwd file = orapwORCL.ora password = 123456 entries = 10

Это определяет пароль sys как 123456. Затем вы можете запустить базу данных и подключить sys/123456 как sysdba

Файл паролей должен существовать для аутентификации на основе пароля на входах sysdba. Причиной этого является тот факт, что sysdba-соединения должны быть разрешены, когда база данных не вставлена, и база данных не может выполнить проверку подлинности.

Ответ 2

Ваш пример выглядит немного искаженным; для подключения к sqlplus через командную строку с пользователем sys и паролем 123456:

sqlplus sys/123456 as sysdba

или

sqlplus "sys/123456 as sysdba"

до Oracle 10. Если вы уже находитесь в sqlplus (как я полагаю из того, что ваш пример начинается с SQL > ), вы используете команду connect:

SQL> connect sys/123456 as sysdba

Во всех случаях, если вы не установили переменную окружения ORACLE_SID, вам необходимо указать, что после пароля, например:

sqlplus sys/[email protected]<mydbname> as sysdba

где <mydbname> является либо формой <hostname>/<sid>, если вы используете Oracle 10 или новее, либо допустимую запись из вашего файла tnsnames.ora (расположенного в $ORACLE_HOME/network/admin) для всех версий.