2016-11-30 5 views
0

Добрый день. Если я делаю sqlplus user/[email protected], у меня есть успешная связь с db.Oracle DB 12c: sqlplus as sysdba вызывает ORA-01017

Если у меня есть sqlplus user/[email protected] as sysdba У меня ошибка ORA-01017.

Но на сервере эта команда выполняется успешно.

Мои tnsnames.ora:

db = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.175)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = orcl) 
    ) 
) 

Также я не могу сделать sqlplus /@db as sysdba. А после sqlplus [email protected] as sysdba я ввожу пароль и получаю эту ошибку. На сервере это выполняется без ошибок. В чем проблема?

Oracle VirtualBox с Win2008, Oracle 12c

ответ

1

Вы можете использовать as sysdba только если разрешение было предоставлено. Пробег

GRANT SYSDBA TO user; 

для этого.

sqlplus /@db as sysdba невозможно с удаленного компьютера - это откроет базу данных для всего мира, где каждый может подключиться к привилегии SYSDBA без пароля!

sqlplus /@db as sysdba разрешен только с локального компьютера, потому что вы уже прошли аутентификацию (обычно) в качестве OS-User «oracle».

+0

Это хорошее и приемлемое решение, спасибо, но что делать с пользователем системы? Любое исправление для него существует? – Evgeniy175

+0

Что вы подразумеваете под «системным пользователем»? –

+0

Пользователь с именем 'system', который может использоваться для подключения – Evgeniy175

0

С окончанием установки можно установить соединение с SYSDBA с удаленного компьютера, указав пароль и не полагаясь на механизм аутентификации ОС (аутентификация операционной системы не задействована в ходе удаленной аутентификации это).

Только вы должны активировать механизм файлов паролей (который по умолчанию отключен).

Для этого измените значение параметра remote_login_passwordfile на shared или exclusive. Если это shared, он работает для всех баз данных, запущенных на этом компьютере, и может содержать только пользователя SYS (в то время как если он exclusive, он может содержать любого пользователя, а его область - целевая база данных).

Важно: пользователи добавляются в файл паролей только после паролем файл был включен, и после того, как они предоставили SYSDBA или sysoper привилегии; то есть ранее существовавшие пользователи не будут автоматически добавлены (!), вам необходимо повторно предоставить роль SYSDBA или SYSOPER.

Наконец эта точка зрения позволяет взглянуть на логическое содержание файла паролей

select * from v$pwfile_users; 

См Creating and Maintaining a Password File для более подробной информации.