Oracle Database OS認証について

f:id:recrox:20180701001934j

アイドル状態のOracleデータベースに接続する時に使うOS認証について イマイチ理解しきれていないので調べてみました。

▼前回記事 www.reclog.net


データベース管理者(DBA)

DBAとはデータベース管理者のことです。 Oracleでは初期状態ではsysユーザーがDBAとして設定されています。 SQL*Plusを使ってDBAユーザーでログインする場合は以下のようにas sysdbaをつける必要があります。

SQL> connect sys/○○○○○@DB名 as sysdba

OS認証

DBAユーザーでログインする方法としてOS認証があります。 OracleDatabaseを導入する際にサーバー側にora_dbaというグループが作成されますが、それに所属しているユーザーの場合、「既にOS側で認証が済んでいるので、その認証情報でOracleにも使いますよ」ということらしいです。
SQL*PlusでOS認証でログインする場合は以下のように記述します。

SQL> connect / as sysdba
ora_dbaグループora_dbaグループ内訳

Windows環境において、ora_dbaグループにどのユーザーが所属しているか確認する場合、コンピューターの管理から確認することができます。


SI Object BrowserにもOS認証がある

SIOBのOS認証設定

そういえば「SIOBにもOS認証あるのでは?」と思ったらログイン画面にバッチリありました。 上記のOS認証の部分にもあるようにユーザーがora_dbaに所属していないと使えないため、クライアント環境からはそのままでは接続することができません。

SIOBのヘルプにそのことについて書いてあります。

データベースへの接続にOS認証(外部認証)を用いる場合にチェックを入れます。
※OS認証で接続する際は、あらかじめユーザー情報画面より、外部認証ユーザーを作成している必要があります。
 ユーザー名は、ActiveDirectoryDomain使用時は「OPS$<ドメイン名>\<OSユーザー名>」、未使用時は「OPS$<コンピューター名>\  <OSユーザー名>」にしてください。(ただし、接頭句の「OPS$」は、初期化パラメータOS_AUTHENT_PREFIXより変更可能です。)
◆SI Object Browserヘルプ:ログオンより引用

これは気になるので、WindowsServer側に設定して後で試してみたいと思います。


SIOBのOS認証はスタンバイ状態のデータベースには使えない?

SIOBのOS認証データベース名指定なしの場合SIOBのOS認証でORA-12514

そう思ったのは画像のように「データベースを入力して下さい。」と出たからです。 データベースを指定するとORA-12514が発生しますし、スタンバイ状態のデータベースを起動したい場合はやっぱりサーバー側で作業するしかないんですかね…


OS認証については以上となります。 私自身、OS認証について正直言葉だけしか覚えていない部分だったので勉強になってよかったです。