認証方法とインスタンスの管理ORACLE MASTER Silver DBAポイント解説(1)

» 2004年03月05日 00時00分 公開
[小野寺智子@IT]

これまで連載してきた「ORACLE MASTER Goldポイント解説」では第4回までは「PL/SQL」を解説し、第5回以降にDBAの解説を行っている。しかし、2003年10月の資格制度の変更に合わせ、連載タイトルを「新ORALCE MASTER Silver DBAポイント解説」に変更する。そのため、本連載は「ORACLE MASTER Goldポイント解説」で紹介した内容を確認したうえでお読みいただきたい。


ORACLE MASTERの新資格制度について

 「ORACLE MASTER Goldポイント解説」の連載が始まって半年後に9iがリリースされ、9iに対応すべく原稿を書き始めたのもつかの間、2003年の10月から資格制度が変わり、この2年くらいの間に、ORACLE MASTERの資格制度そのものが大きく変化を遂げています。

 そのため、これからORACLE MASTERを勉強しようと思っている方や、Silverを取得して次のステップに進もうと思っていた方には混乱を招いているのではないでしょうか。

 筆者である私も資格制度の変更に伴い日々、資格に関する情報収集などに精を出しております。新資格制度のいきさつや、新資格の制度については@ITでも紹介していますので、そちらを参照してください(制度改定の参考記事:「ORACLE MASTERはこう変わる!」)。

 資格制度の変更により、本連載も「新ORACLE MASTER Silver DBAポイント解説」という名称に変わりました。SQLやORACLE入門をクリアされた方を対象にしています。silverFELLOWからSilverへのステップアップをお手伝いできればと思っております。

 資格制度や名称は変わりますが、少しでも私の解説によってこれからORACLE MASTERの取得を考えていらっしゃる方のお力になれればと思い、この連載を頑張って続けていこうと思っております。

第5回 Oracle9iで変更されたDBAのポイント
第6回 DBA-Iの基本ポイント
※「ORACLE MASTER Gold ポイント解説」のうち、上記の記事については、本記事を読む前に理解しておいてほしい

認証方法とインスタンスの管理

 今回はOracle Serverの認証方法とインスタンスの管理の部分について解説をしていきます。認証方法については認証ユーザーと使用するパラメータについて押さえてください。

  • データベースの管理者ユーザー

 データベースの起動・停止を行うことができるユーザーは「SYSDBA」か「SYSOPER」です。どちらの認証方法を採用するかは、データベースをローカルで管理するか、リモートで管理するかによって変わってきます。ここで、注意すべきことは、データベースの管理者ユーザー「SYS」または「SYSTEM」では、データベースの起動・停止を行うことはできないということを押さえておいてください。

●認証の方法

 ここでは、認証の方法の違いをしっかり押さえてください。認証の判断基準は図1のとおりです。

図1 データベース管理者の認証の判断基準 図1 データベース管理者の認証の判断基準

オペレーティング・システム(OS)認証:OSのユーザーアカウントを作成して「OSDBA」か「OSOPER」グループに所属させ認証する方法

 この場合、初期化パラメータを「REMOTE_LOGIN_PASSWORDFILE = NONE」に設定します。

パスワード・ファイル認証:特殊な管理作業を行うユーザーのためのパスワード・ファイルを作成し、最高権限を付与したいユーザーをパスワード・ファイルに追加して認証する方法

 「Password File Utility」を使用してパスワード・ファイルを作成します。この場合、初期化パラメータを「REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE」に設定します。複数のインスタンスが1つのパスワードファイルを共有する場合は、初期化パラメータを「REMOTE_LOGIN_PASSWORDFILE =SHARED」に設定します。オペレーティング・システム認証とパスワード・ファイルの認証や接続するスキーマは表1のとおりです(表1)。なお、権限の詳細については次回以降で取り上げる「権限の管理」で解説たします。

認証方法 接続するユーザー システム権限 スキーマ
オペレーティング・システム認証 AS SYSDBA
AS SYSOPER
SYSDBA
SYSOPER
SYS
PUBLIC
パスワード・ファイル認証 AS SYSDBA
AS SYSOPER
SYSDBA SYSOPER SYS
PUBLIC
表1 オペレーティング・システム認証とパスワード・ファイル認証の権限や接続するスキーマ

 それから、「CONNECT INTERNAL」による接続が廃止されました。Oracle 9iではINTERNALで接続しようとすると「有効な接続ではない」というエラーが返されます(ORA-09275のエラーメッセージが返されます)。

 なお、SYSDBA、SYSOPERが最高権限を持っていますが、すべてのアクションに対して権限を持っているわけではないので気を付けてください。例えば、オブジェクトに関する権限などは所有しておりません。

●OEM(Oracle Enterprise Manager)

 OEMはデータベースの管理者ツールです。GUIベースで複雑な管理も割と簡単な操作で行える便利なツールです。

 OEMを使用して設定された情報は「リポジトリ」に格納されます(図2)。リポジトリとは管理対象ノードを格納している表の集合のことを指します。

図2 OEMを使用して設定された情報は「リポジトリ」に格納されます 図2 OEMを使用して設定された情報は「リポジトリ」に格納されます

●インスタンスの起動と停止

 データベースが起動していなければユーザーはアクセスして、データベースを使用することができません。しかし、ここでいままでは意識しなかったORACLEの内部構造を知る必要があります。初めにインスタンスの管理から紹介します。DBAIを受験するに当たって意識してほしい個所の1つです。

 ユーザーは与えられた制限内でのデータの操作方法が分かればOracleが内部的にどのようなことを行っているかなど意識する必要はありません。しかし、管理者となると知っておく必要があります。

 Oracleでは、起動において図3にあるフェイズを踏んでいます。

図3 Oracle Serverの起動のフェイズ。画面をクリックすると拡大表示します 図3 Oracle Serverの起動のフェイズ。画面をクリックすると拡大表示します

 このように起動の各フェイズで読み込む情報が違います。どのフェイズでどんなことが行われているかが分かると、どのフェイズでどのようなメンテナンスができるかも分かります。そして各フェイズで確認することができるデータ・ディクショナリ・ビュー、動的パフォーマンス・ビューを理解することができます。

 停止については図4を参照してください。停止は起動と違って段階を踏みません。Oracleでは4つの停止モードを用意しています。

図4 Oracle Serverの4つの停止モード。画面をクリックすると拡大表示されます 図4 Oracle Serverの4つの停止モード。画面をクリックすると拡大表示されます

 通常はNORMALで停止します。緊急時などよほどのことがない限り、ABORTで停止するということはありません。停止のモードによってトランザクションの状態やセッションの状態が変わりますので、各停止モードでのセッションやトランザクションの状態をしっかり押さえてください。

●初期化パラメータ・ファイル

 Oracle Serverは「初期化パラメータ・ファイル」を読み込み、設定された情報を基にインスタンスを起動します。つまり、パラメータ・ファイルにはインスタンスの起動のための情報が記録されているので、インスタンス起動時にだけ読み込まれます。管理者はこのファイルを管理でき、任意にパラメータ値を設定できます。9iからは初期化パラメータ・ファイルが2種類になりました。

PFILE(静的初期化パラメータ・ファイル):管理者が任意にパラメータ値を設定することができるファイルです。テキスト・ファイルのため、エディタで変更できます。パラメータ値を変更した場合は再起動して、変更内容を反映させます。一部、インスタンスが起動中でも「ALTER文」で変更できますが、変更した内容は反映されません(画面1)。

画面1 PFILEは、テキスト・ファイルのため、エディタで変更できる 画面1 PFILEは、テキスト・ファイルのため、エディタで変更できる

SPFILE(永続パラメータ・ファイル):9iから追加されたバイナリファイルで、サーバパラメータファイルといいます。設定した内容を見ることはできますが、そのパラメータ値をPFILEのように手動で変更することはできません。SPFILEはインスタンス起動中に「ALTER SYSTEM文」を使用してパラメータ値を変更することができます。また、変更したパラメータ値を次のオプションを使用してSPFILEへの変更記録を制御することができます(画面2)。

画面2 9iから追加されたバイナリファイル 画面2 9iから追加されたバイナリファイル
  • SPFILEに反映する適応範囲を指定するオプション

MEMORY:現在のインスタンス内のパラメータ値のみを変更
SPFILE:SPFILE内のパラメータ値のみを変更。実行中のインスタンスの内容は変わらない
BOTH:現在のインスタンスとSPFILE内のパラメータ値を変更する。デフォルトの設定はBOTH

 両パラメータファイルが存在するときは次の優先順位で使用されます。なお、OS環境(UNIX、Windows)によってディレクトリの場所は変わるので、ディレクトリ名は省略しています。

  1. 起動時にPFILEを指定した場合:STARTUP PFILE='PFILE名'
  2. SPFILEの情報を基に作成されたPFILE:spfile<SID>.ora
  3. spfile.ora
  4. init<SID>.ora

CREATE SPFILE FROM PFILE

 SPFILEはCREATE SPFILE文で作成します。その際にはインスタンスを起動できるユーザーでなければ作成できません。そのため、「SYSDBA」権限がないと作成できません。CREATE PFILE FROM SPFILE文は、SPFILEをテキスト・ファイルにエクスポートします。次の表では参考までに主要な初期化パラメータを紹介します(表2)。

パラメータ名 説明
INSTANCE_NAME インスタンス識別子
DB_NAME データベース識別子
DB_BLOCK_SIZE データベース標準ブロックサイズ
CONTROL_FILES 制御ファイルの名前・場所
表2 CREATE PFILE FROM SPFILE文の主な初期化パラメータの名前とその説明

OMF(Oracle Managed Files)

 Oracle Managed Files(OMF)は9iの新機能です。この機能を有効にするとファイル管理が容易になります。つまり、Oracle Serverにファイル管理を任せてしまうということです。

 OMFを使用する場合は以下のパラメータを初期化パラメータに設定します。

−DB_CREATE_FILE_DEST
−DB_CREATE_ONLINE_LOG_DEST_n

 OMFについての詳しい内容は別の機会に紹介します。

診断ファイル

 Oracle Serverを運用していく中で何かしら問題が発生することがあるかもしれません。しかし、その原因が分からなければ問題の解決はできません。Oracleでは、通常の管理作業、また問題が発生したとき、解決するために使用する3種類の診断ファイルがあります。この3つのファイルの存在は押さえておいてください。

  • アラート・ファイル(画面3)画面3
  • バックグラウンド・トレース・ファイル
  • ユーザー・トレース・ファイル
画面3 アラートファイルの例。アラートファイルにはデータベースの起動・停止時刻や、初期化パラメータで指定したパラメータ値などが記録される。また、内部エラーやブロックの破損エラーなどもアラートファイルに記録される 画面3 アラートファイルの例。アラートファイルにはデータベースの起動・停止時刻や、初期化パラメータで指定したパラメータ値などが記録される。また、内部エラーやブロックの破損エラーなどもアラートファイルに記録される

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。