ORACLEMASTER 備忘録7(8/10)
続き
管理権限を使用する場合の認証方式
SYSDBAやSYSOPER、Oracle Database 12cから追加された3つの管理権限をした接続と、一般ユーザーとしての接続では“認証方式”が異なる。
一般ユーザーの一般的な認証はパスワード認証であり、ユーザーのパスワードはデータディクショナリに格納されている。そのため、一般ユーザーはデータベースがOPEN状態でないとデータベースに接続できない。
一方、管理権限を使用して接続すると、ユーザーはデータベースが“オープンされていない場合でも、インスタンスへのサクセスが許可されている”。データベース管理者として、インスタンスの起動/停止や、バックアップ/リカバリをする際には、管理権限を行使して接続する必要がある。
管理権限を使用した接続の認証は、データディクショナリ(データベース内)ではなく、データベースの外部で行われ、「OS認証」と「パスワードファイル認証」という2つの認証方式がある。
・管理権限を使用した接続の認証方式
OS(オペレーティングシステム)認証:
OSのグループ(OSDBAグループ、OSOPERグループ、OSBACKUPDBAグループ、OSDGDBAグループ、OSKMDBAグループ)によって認証を行う方式。データベースと同じマシン上(ローカル)で、データベースを管理する場合に使用する。
パスワードファイル認証:
Oracleデータベース以外にパスワードファイルを作成することによって認証を行う方式。単一のリモートクライアントから複数のデータベースを管理する場合に使用する。
OS認証とは、OSを経由してデータベースに対する認証方式である。特別なOSグループにメンバーシップがあると、データベースのユーザー名とパスワードを使用する代わりに、OSで認証が行われたユーザーを管理権限を持つユーザーとして認証できる。したがって、ユーザー名、パスワードを入力する必要はない。
パスワード認証とは、データベースに対してパスワードファイルを作成し、そこに管理権限が付与さえたユーザーを登録しておき、認証を行う認証方式であるデータベースのインストール時に規定の設定でデータベースを作成した場合は、DBCAによってパスワードファイルが作成されており、デフォルトで「SYS」が登録される。
管理権限を使用した接続
SYSDBAシステム権限が必要な操作を行いたい場合は「AS SYSDBA」を指定して接続する。SYSユーザーには、インストール時にSYSDBAシステム権限が自動的に付与される。
SYSDBAとして接続する場合は、次のように指定する。
OS認証で接続
connect / as sysdba
パスワードファイル認証で接続
connect ユーザー名/パスワード as sysdba
SYSDBAシステム権限またはSYSOPERシステム権限で接続すると、指定したユーザー名に関連付けられているスキーマではなく、SYSDBAの場合は「SYS」、SYSOPERの場合は「PUBLIC」として接続が確立される。SYSDBAとして接続した場合はSYSユーザーとなるため、データディクショナリの表の所有者となり、データディクショナリに対する権限は無期限となる。そのためデータディクショナリの表を誤って変更しないよう注意する必要がある。