OS 認証とパスワードファイル認証

システム権限の SYSDBA や SYSOPER でデータベースに接続する場合、
OS 認証とパスワードファイル認証の2つの方式がある。
(どちらも利用可能な場合は、OS 認証が優先される)



パスワードファイル認証の作成手順

orapwdでパスワードファイルを作成

orapwd ユーティリティで作成する( $ORACLE_HOME/dbs で実行)
※ 既にファイルが作成済みなら、 SYSDBA 権限の付与 から実施。

% orapwd file=orapwORCL password=oracle entries=10
※ コマンド orapwd file=orapw password=<パスワード> 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: 権限が不足しています。