データベースをできるだけ安全に保つために、SYSアカウントとSYSTEMアカウントをロックして、誰もログインできないようにします。
仮定して:
これら2つのアカウントをロックすると、悪影響がありますか?それが良いアイデアかどうかについてコメントすることができる人は誰でもこれを以前にやったことがありますか?
SYSTEM
は問題なくロックできます。
SYS
は異なります。ロックすることはできません。たとえロックできるとしても、ロックすることはできません。
_SQL> show user
USER is "SYS"
SQL> alter user sys account lock;
User altered.
SQL> select account_status from dba_users where username = 'SYS';
ACCOUNT_STATUS
--------------------------------
LOCKED
SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> connect sys@ORCL as sysdba
Enter password:
Connected.
SQL> show user
USER is "SYS"
SQL> select account_status from dba_users where username = 'SYS';
ACCOUNT_STATUS
--------------------------------
LOCKED
_
_remote_login_passwordfile
_をSYS
に設定すると、リモートnone
ログインを無効にできるため、ローカルログインのみが許可されます。これにより、たとえばData Guardを使用できなくなります。
_'/ as sysdba'
_にSQLNET.AUTHENTICATION_SERVICES=(none)
を設定することにより、_sqlnet.ora
_を防ぐこともできます。
最後に、上記を_$Oracle_HOME/dbs
_からのパスワードファイルの削除と組み合わせることで、完全にロックアウトできます。この方法では、SYSDBA
またはSYSOPER
としてログインできなくなります。しかし、それでも、SYS
ユーザーは実際にはロックされず、認証されないだけです。パスワードファイルを再作成すると、再びアクセスできるようになります。
両方をロックします(SYS
およびSYSTEM
)。あなたは日常的にそれらを使用する必要はありません、何も壊れません。
日常的には、SYSDBA
またはSYSOPER
を持つ指定されたユーザーアカウントを使用する必要があります。
Tom Kyteはこれを行うことを推奨しています なので、何かがうまくいかなかった場合はいつでも彼を責めることができます:-)