Подключить 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
) для всех версий.