5

Я хочу войти в базу данных, запустив файл SQL из сценария Unix без указания имени пользователя и пароля (от имени пользователя root). Это возможно?

База данных Oracle.

4 ответа4

3

Вы можете определить пользователей вашей базы данных как Аутентифицированные ОС. На сайте Тима Холла Oracle_Base есть хороший пример того, как это сделать. Вам не нужно позволять людям входить в систему с привилегиями SYSDBA, что является причиной катастрофы.

1

Если ваш пользователь входит в группу оракулов, он может подключиться как SYSDBA.

Пример в Unix env:

$ export ORACLE_SID=MYDB
$ sqlplus /nolog

SQL*Plus: Release...

SP2-0640: Not connected
sql> connect / as sysdba
Connected

SQL> select * from scott.employees ;

Это может быть чем-то излишним для партии (кроме того, что у вас есть все права испортить вашу базу данных).

Однако AFAIK, это единственный вариант.

ОБНОВЛЕНИЕ Учитывая ответ DCookie, это не единственный способ. И, как я уже упоминал и подчеркивал в DCookie, это очень рискованный путь.

1

Когда вы запускаете SQL * Plus, вам необходимо ввести имя пользователя и пароль для входа в схему базы данных Oracle. Ваше имя пользователя и пароль идентифицируют вас как авторизованного пользователя схемы Oracle Database.

Администратор базы данных (DBA) отвечает за создание вашей учетной записи базы данных с необходимыми привилегиями и дает вам имя пользователя и пароль, которые позволяют вам получить доступ к вашей учетной записи.

0

Если вы используете PostgreSQL, вы можете указать метод "trust" для вашей локальной сети в файле "pg_hba.conf". Для MySQL может быть что-то похожее, я не уверен (надеюсь, кто-то здесь, кто знаком с любой базой данных, которую вы используете, может помочь с этим, если это не PostgreSQL).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .