OS 認証とパスワードファイル認証
システム権限の SYSDBA や SYSOPER でデータベースに接続する場合、
OS 認証とパスワードファイル認証の2つの方式がある。
(どちらも利用可能な場合は、OS 認証が優先される)
パスワードファイル認証の作成手順
orapwdでパスワードファイルを作成
orapwd ユーティリティで作成する( $ORACLE_HOME/dbs で実行)
※ 既にファイルが作成済みなら、 SYSDBA 権限の付与 から実施。
% orapwd file=orapwORCL password=oracle entries=10 ※ コマンド orapwd file=orapwpassword=<パスワード> entries=<ユーザ数>
ファイルが作成されたことを確認
% ls -l orapwORCL -rw-r----- 1 oracle oinstall 2560 7月 29日 22:07 orapwORCL
初期化パラメータ確認
パスワードファイル認証でリモートから接続する場合は
初期化パラメータ remote_login_passwordfile を確認する。
デフォルトは、リモートから接続を許容する EXCLUSIVE となっているが、
NONE であれば必要に応じて変更する。(再起動で有効)
SQL> show parameter remote_login_passwordfile NAME TYPE VALUE ------------------------- ------ --------- remote_login_passwordfile string EXCLUSIVE
SYSDBA 権限の付与
% sqlplus / as sysdba SQL> grant sysdba to hoge; 権限付与が成功しました。
接続可能であることを確認
% sqlplus hoge/hoge@ORCL as sysdba
動的パフォーマンスビュー v$pwfile_users を参照すると、
DBA 権限の有するユーザに追加されたことが確認できる。
SQL> select * from v$pwfile_users; USERNAME SYSDBA SYSOPER SYSASM ---------- --------- ---------- ---------- SYS TRUE TRUE FALSE HOGE TRUE FALSE FALSE
※補足:SYSDBA 権限を剥奪した場合
SQL> revoke sysdba from hoge; 取消しが成功しました。 % sqlplus hoge/hoge@ORCL as sysdba ERROR: ORA-01031: 権限が不足しています。