Учетные записи администратора Oracle могут быть отключены?
Существуют ли какие-либо нежелательные эффекты, если я отключаю все учетные записи администратора Oracle (sys, sysman...) и использую новые учетные записи администратора? Боюсь, что сам Oracle может использовать такие стандартные учетные записи администратора для обработки?
Благодарю.
2 ответа
Вы не можете заблокировать / отключить учетные записи SYSDBA (например, SYS) из-за того, что они не проходят аутентификацию в базе данных таким же образом. Вот небольшой тест, который я выполнил на обычном пользователе, которому предоставил SYSDBA, а затем заблокировал учетную запись. Пользователь все еще может войти в систему как SYSDBA, но не как обычный пользователь:
C:\>sqlplus test@testdb as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 26 10:14:42 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
C:\>sqlplus test@testdb
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 26 10:23:43 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter password:
ERROR:
ORA-28000: the account is locked
Enter user-name:
C:\>
Конечно, если я могу войти в систему как пользователь SYSDBA, тогда я могу просто разблокировать свою учетную запись и войти в нее как обычный пользователь.
Я не уверен, почему вы на самом деле хотите сделать это. Это не кажется хорошей идеей. Если бы вы могли на самом деле заблокировать учетные записи SYSDBA, вы могли бы сделать вашу базу данных недоступной. За исключением SYS и SYSTEM, все учетные записи, созданные Oracle при создании базы данных, все равно заблокированы по умолчанию. Что вы пытаетесь достичь?
РЕДАКТИРОВАТЬ:
Вот единственный сценарий, в котором SYSDBA могут быть заблокированы:
- Удалить файл паролей для экземпляра (обычно pwd.ora
- Сделайте ваш SQLNET.AUTHENTICATION_SERVICES= (NONE) (требуется доступ с паролем для SYSDBA)
- Забудьте пароль своей учетной записи oracle DBA OS, чтобы вы не могли воссоздать файл pwd.ora
- Забудьте пароли администратора вашей ОС, чтобы вы не могли разблокировать или создавать новые учетные записи DBA.
Этот сценарий означает, что вы все равно в значительной степени облажались. Также предполагается, что вы не можете изменить файл sqlnet.ora, в котором определен параметр authentication_services, иначе вы можете установить его обратно в NTS, чтобы разрешить аутентификацию ОС (предполагается, что окна).
Вы можете запретить удаленный вход в учетные записи sysdba, установив для REMOTE_LOGIN_PASSWORDFILE значение none. Пользователи sysdba могут проходить аутентификацию только с помощью "connect / as sysdba", когда они вошли в систему на компьютере, на котором работает база данных.
Но вам все равно придется ответить, почему вы хотите это сделать. И что вы подразумеваете под нежелательными эффектами.