| Oracle Database 管理者ガイド 10gリリース2(10.2) B19224-02 |
|
この章では、Oracle Database管理者(DBA)の環境とタスクの概要を示します。DBAのセキュリティ、および必要な管理権限の取得方法についても説明します。
この章の内容は、次のとおりです。
ユーザーのタイプとその役割および責任は、データベース・サイトによって異なります。小規模のサイトでは、1名のデータベース管理者を配置して、アプリケーション開発者およびユーザー向けのデータベースを管理できます。大規模なサイトでは、データベース管理者の役割を複数の人および複数の専門グループに分割する必要があります。
この項の内容は、次のとおりです。
各データベースには、少なくとも1名のDBAが必要です。Oracle Databaseシステムは規模が大きく、多数のユーザーによって使用される可能性があります。したがって、1名の担当者ではデータベースを管理できないため、複数のDBAでグループを編成して役割を分担します。
DBAが担当するタスクは次のとおりです。
サイトによっては、データベースに1名以上のセキュリティ管理者が必要です。セキュリティ管理者は、ユーザーの登録、データベースに対するユーザー・アクセスの制御と監視およびシステム・セキュリティのメンテナンスを実施します。したがって、サイトにセキュリティ管理者が別にいる場合、DBAはこれらの業務に対する役割を持ちません。セキュリティ管理者の業務の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
サイトによっては、1名以上のネットワーク管理者がいる場合があります。たとえば、ネットワーク管理者は、Oracle Net ServicesなどのOracleネットワーク製品を管理します。ネットワーク管理者の業務の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
アプリケーション開発者は、データベース・アプリケーションを設計し、実装します。アプリケーション開発者が担当するタスクは、次のとおりです。
アプリケーション開発者は、これらのタスクの一部をDBAと協力して実施する場合があります。アプリケーション開発タスクの詳細は、『Oracle Databaseアプリケーション開発者ガイド - 基礎編』を参照してください。
Oracle Databaseのサイトでは、特定のアプリケーションを管理するために1名以上のアプリケーション管理者が必要な場合があります。アプリケーションごとに専門の管理者を置く場合があります。
データベース・ユーザーは、アプリケーションまたはユーティリティを介してデータベースと対話します。一般ユーザーが担当するタスクは、次のとおりです。
次のタスクは、Oracle Databaseを設計、実装およびメンテナンスするためのアプローチの優先順位を表しています。
タスク2: Oracle Databaseソフトウェアのインストール
次の項で、これらのタスクについて説明します。
使用可能なコンピュータ・リソースを、Oracle Databaseとそのアプリケーションで最大限に活用するための評価を行います。この評価では、次のような情報を明らかにする必要があります。
データベース管理者は、Oracle Databaseサーバーのソフトウェアとすべてのフロントエンド・ツール、およびデータベースにアクセスするデータベース・アプリケーションをインストールします。分散処理環境インストールでは、データベースが中核となるコンピュータ(データベース)によって制御され、データベース・ツールとアプリケーションがリモート・マシン(クライアント)で実行される場合があります。このような場合は、Oracle Databaseを実行するコンピュータに、リモート・マシンを接続するために必要なOracle Netコンポーネントもインストールする必要があります。
インストールするソフトウェアの詳細は、「Oracle Databaseソフトウェアのリリースの識別」を参照してください。
DBAは、次のことを計画する必要があります。
重要なことは、データベースの論理記憶域構造が、システムのパフォーマンスと様々なデータベース管理操作にどのように影響を及ぼすかについて計画することです。たとえば、表領域を構成するデータ・ファイルの数、各表領域に格納される情報のタイプ、およびデータ・ファイルの物理的な格納先ディスク・ドライブについて、表領域を作成する前に把握しておく必要があります。データベース構造の論理記憶域全体を計画する際は、実際にデータベースを作成し、稼働したときに、この構造によって生じる影響を考慮します。次の項目について、データベースの論理記憶域構造が及ぼす影響を検討してください。
データベース・オブジェクトのリレーショナル設計と、各オブジェクトの記憶特性について計画します。オブジェクトを作成する前に、オブジェクトと各オブジェクトの物理記憶域間の関連について計画を立てることによって、1つの単位としてのデータベースのパフォーマンスを直接制御できます。データベースの拡張計画についても必ず検討してください。
分散データベース環境では、この計画段階が非常に重要です。頻繁にアクセスされるデータの物理的な位置が、アプリケーションのパフォーマンスに大きな影響を及ぼします。
計画段階中に、データベースのバックアップ計画を作成します。バックアップの効率を改善するために、必要に応じて論理記憶域やデータベースの設計を変更します。
リレーショナル・データベース設計および分散データベース設計については、このマニュアルでは取り扱っていません。このような設計上の問題は、業界標準として認められている資料を参照してください。
データベースの論理記憶域構造、オブジェクトおよび整合性制約の作成方法は、第II部「Oracle Databaseの構造と記憶域」および第IV部「スキーマ・オブジェクト」を参照してください。
データベース設計が完了すると、データベースを作成し、オープンできます。データベースを作成するには、データベース・コンフィギュレーション・アシスタント(DBCA)を使用してインストール時に作成する方法と、データベースを作成するためのスクリプトを用意する方法があります。
データベースの作成方法については第2章「Oracle Databaseの作成」を、データベース起動時のガイドラインについては第3章「起動と停止」を参照してください。
データベース構造の作成後、データベースに対して予定していたバックアップ計画を実行します。追加のREDOログ・ファイルを作成し、データベース全体の最初のバックアップ(オンラインまたはオフライン)を作成して、その後の定期的なデータベース・バックアップをスケジュールします。
データベース構造のバックアップが完了した後、Oracleのライセンス契約に従ってデータベースのユーザーを登録し、登録したユーザーに対して適切な権限とロールを付与できます。このタスクのガイドラインについては、第22章「ユーザーの管理とデータベースのセキュリティ保護」を参照してください。
データベースを作成して起動し、システム・ユーザーを登録した後、必要なすべての表領域を作成して、計画したデータベースの論理構造を実装できます。表領域の作成を完了すると、データベース・オブジェクトを作成できます。
データベースの論理記憶域構造とオブジェクトの作成方法は、第II部「Oracle Databaseの構造と記憶域」および第IV部「スキーマ・オブジェクト」を参照してください。
データベースがすべて実装されたときに、再度バックアップを作成します。定期的にバックアップを作成するようにスケジュールし、また、データベース構造の変更を実装した直後にも必ずデータベースのバックアップを作成するようにします。
データベースのパフォーマンスの最適化は、DBAの日常的な作業の1つです。Oracle Databaseでは、DBAが各種ユーザー・グループへのリソースの割当てを制御できるように、データベース・リソース管理機能が提供されています。データベース・リソース・マネージャについては、第24章「データベース・リソース・マネージャの使用」を参照してください。
インストール後および定期的に、パッチをダウンロードしてインストールします。パッチは、1つの暫定パッチおよびパッチ・セット(またはパッチ・リリース)として使用可能です。暫定パッチは個々のソフトウェアの不具合を修正するもので、インストールの際に必要となる可能性がありますが、不要な場合もあります。パッチ・リリースは、すべてのカスタマに適用されるバグ・フィックスのコレクションです。パッチ・リリースには番号が付けられています。たとえば、Oracle Database 10.2.0.0がインストールされている場合、最初のパッチ・リリースには10.2.0.1.という番号が付けられます。
Oracle Databaseのインストレーションを正しく構成し、チューニングし、パッチを適用してテストした後、必要に応じてそのインストレーションをそのまま別のホストにロールアウトできます。このようなロールアウトは、次のような場合に行います。
それぞれの追加ホストへインストール、チューニングおよびパッチを行うかわりに、テスト済のOracle Databaseインストレーションを別のホストにクローニングすることで、時間の節約と不整合をなくすことができます。次の2つのタイプのクローニングを使用できます。
Enterprise ManagerのOracleホームのクローニング・ツールを使用して、Oracleホームを1つ以上の接続先ホストにクローニングできます。また、付属のスクリプト・セットおよびOracle Universal Installerを使用して、Oracleホームを手動でクローニングすることもできます。
Enterprise Managerのデータベースのクローン・ツールを使用して、Oracleデータベース・インスタンスを既存のOracleホームにクローニングできます。
SQL*Plusを使用してローカルをOracleインスタンスに接続する前に、環境変数を正しく設定する必要があります。1つのサーバー上に複数のデータベース・インスタンスが存在している、あるいは1つ以上のデータベース・インスタンスと同じサーバー上に、自動ストレージ管理(ASM)インスタンスが存在している場合、環境変数により、SQL*Plusが接続するインスタンスが決定されます。(サーバー上にOracleインスタンスが1つしかない場合でも同じです。)
たとえば、各Oracleインスタンス(データベースまたはASM)には固有のシステム識別子(SID)があります。インスタンスに接続するには、少なくともORACLE_SID環境変数をそのインスタンスのSIDに設定します。オペレーティング・システムに応じて、別の環境変数を設定し、インスタンスを別のインスタンスに正しく変更する必要があります。
環境変数に関する詳細およびインスタンスの切替えに関する情報は、『Oracle Databaseインストレーション・ガイド』または使用しているオペレーティング・システムの管理ガイドを参照してください。
Solarisにおけるインスタンスの選択に必要な環境変数の設定例を次に示します。異なるOracleホーム間でインスタンスを切り替えるには、ORACLE_HOME環境変数を変更します。
% setenv ORACLE_SID SAL1 % setenv ORACLE_HOME /u01/app/oracle/product/10.1.0/db_1 % setenv LD_LIBRARY_PATH /usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
大部分のUNIXインストールは2つのスクリプト、oraenvおよびcoraenvが付属しており、これらのスクリプトを使用して環境変数を容易に設定できます。 詳細は、UNIXシステムの管理者ガイドを参照してください。
Windowsでは、ORACLE_SID環境変数のみ設定し、インスタンスを選択してからSQL*Plusを起動します。
SET ORACLE_SID=SAL1
Oracle Databaseは継続的に開発が進められ、メンテナンスが必要なため、定期的に新リリースが作成されています。すべての顧客が、新リリースを最初に利用したり、既存のリリースに対する特定のメンテナンスを必要とするわけではありません。この結果、複数の製品リリースが同時に存在することになります。
特定のリリースを完全に識別するには、5つの番号が必要です。以降の項では、各番号の意味について説明します。
Oracleで使用されているリリースの命名体系を理解するために、Oracle Databaseのリリース番号「リリース10.1.0.1.0」を例として説明します。
1桁目が最も一般的な識別子です。この番号は、重要な新機能が含まれる、ソフトウェアの主な新規バージョンを表します。
2桁目は、メンテナンス・リリース・レベルを表します。新機能がいくつか含まれている場合もあります。
3桁目には、Oracle Application Server(OracleAS)のリリース・レベルが反映されます。
4桁目では、コンポーネント固有のリリース・レベルが識別されます。この桁の番号は、パッチ・セットや暫定リリースなどに応じてコンポーネントごとに異なる場合があります。
5桁目では、プラットフォーム固有のリリースが識別されます。通常、これはパッチ・セットです。異なるプラットフォームに同等のパッチ・セットが必要な場合、この数字は影響を受けるプラットフォーム間で同じになります。
現在インストールされているOracle Databaseのリリースを識別し、使用している他のデータベース・コンポーネントのリリース・レベルを確認するには、データ・ディクショナリ・ビューPRODUCT_COMPONENT_VERSIONを問い合せます。問合せの例は、次のとおりです(コンポーネント・レベルの情報は、V$VERSIONビューを問い合せて確認することもできます)。他の製品のリリース・レベルは、データベース・サーバーと関係なく増加する場合があります。
COL PRODUCT FORMAT A35 COL VERSION FORMAT A15 COL STATUS FORMAT A15 SELECT * FROM PRODUCT_COMPONENT_VERSION; PRODUCT VERSION STATUS ---------------------------------------- ----------- ----------- NLSRTL 10.2.0.1.0 Production Oracle Database 10g Enterprise Edition 10.2.0.1.0 Prod PL/SQL 10.2.0.1.0 Production ...
オラクル社にソフトウェアの問題を報告する際は、この問合せの結果を伝えることが重要です。
Oracle Database管理者の管理タスクを実行するには、データベースとそのデータベースが稼働するサーバーのオペレーティング・システムで特定の権限が必要です。DBAアカウントへのアクセスは厳しく管理する必要があります。
この項の内容は、次のとおりです。
データベースに対する管理業務の多くを実行するには、オペレーティング・システム・コマンドを実行できる必要があります。Oracle Databaseが稼働するオペレーティング・システムによって異なりますが、オペレーティング・システムにアクセスするには、オペレーティング・システム・アカウント(ID)が必要になります。その場合、そのオペレーティング・システム・アカウントに対しては、他のデータベース・ユーザーには不要なオペレーティング・システム権限やアクセス権(Oracle Databaseソフトウェアのインストールの実行など)が必要になります。Oracle Databaseファイルを自分のアカウント内に格納する必要はありませんが、それらに対するアクセス権は必要です。
Oracle Databaseのインストール時には、次の2つのユーザー・アカウントが自動的に作成されます。
SYS(デフォルトのパスワード: CHANGE_ON_INSTALL)
SYSTEM(デフォルトのパスワード: MANAGER)
Oracle Universal Installer(OUI)およびデータベース・コンフィギュレーション・アシスタント(DBCA)では、
データベースを手動で作成する場合は、これらのデフォルト・パスワードを使用しないで、
注意
SYSおよびSYSTEMのパスワードの入力が要求され、それぞれデフォルトのパスワードである"change_on_install"または"manager"は受け入れられません。
SYSとSYSTEMのパスワードをデータベースの作成時に指定することをお薦めします。詳細は、「データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定」を参照してください。
日常的な管理タスクを実施するときに使用する管理者ユーザーを最低1つ追加作成し、そのユーザーに適切な管理ロールを付与してください。これらの目的のためにSYSおよびSYSTEMを使用しないでください。
Oracle Databaseを作成すると、ユーザーSYSが自動的に作成され、DBAロールが付与されます。
データベースのデータ・ディクショナリの実表とビューはすべて、SYSスキーマに格納されます。この実表とビューは、Oracle Databaseの操作にとって非常に重要です。データ・ディクショナリの整合性を維持するために、SYSスキーマ内の表はデータベースによってのみ操作されます。ユーザーやDBAはそれらの表を修正したり、ユーザーSYSのスキーマ内に表を作成しないでください。(ただし、必要に応じてデータ・ディクショナリ設定の記憶域パラメータを変更することは可能です)。
ほとんどのデータベース・ユーザーに対して、SYSアカウントによるOracle Databaseへの接続を禁止する必要があります。
Oracle Databaseを作成すると、ユーザーSYSTEMが自動的に作成され、DBAロールが付与されます。
このユーザー名SYSTEMを使用して、管理情報を表示する追加表とビュー、および各種のOracle Databaseのオプションとツール製品で使用される内部表とビューが作成されます。管理ユーザー以外のユーザーに関係する表の格納に、SYSTEMスキーマを使用しないでください。
事前に定義されたDBAロールは、Oracle Databaseのインストールで自動的に作成されます。このロールには、ほとんどのデータベース・システム権限が含まれています。このため、DBAロールは実際のDBAにのみ付与してください。
|
注意
DBAロールには、 |
DBAは、データベースの起動や停止などの特別な操作を実行します。これらの操作はDBAのみが実行する必要があるため、DBAのユーザー名には安全性の高い認証方式が必要です。
この項の内容は、次のとおりです。
管理者が基本的なデータベース操作を実行するために必要な管理権限は、SYSDBAおよびSYSOPERという2つの特別なシステム権限によって付与されます。必要な認可レベルに応じて、どちらか一方の権限をDBAに付与する必要があります。
SYSDBAおよびSYSOPERシステム権限で許可されている操作は、次のとおりです。
これらの権限の使用を許可する方法は、使用する認証方式によって異なります。
SYSDBAまたはSYSOPER権限で接続した場合は、一般的にユーザー名に対応付けられているスキーマではなく、デフォルトのスキーマで接続します。デフォルトのスキーマは、SYSDBAの場合はSYS、SYSOPERの場合はPUBLICです。
この例では、ユーザーがSYSDBAシステム権限で接続したときに、他のスキーマ(SYS)に割り当てられることを説明します。SYSDBAシステム権限が付与されているサンプル・ユーザーoeが、次の文を発行したとします。
CONNECT oe/oe CREATE TABLE admin_test(name VARCHAR2(20));
後で、ユーザーoeが次の文を発行します。
CONNECT oe/oe AS SYSDBA SELECT * FROM admin_test;
ユーザーoeは次のエラー・メッセージを受け取ります。
ORA-00942: 表またはビューが存在しません。
SYSDBAで接続しているため、ユーザーoeは現在SYSスキーマを参照していますが、表はoeスキーマに作成されています。
DBAの認証には、次の方式を利用できます。
データベースと同じマシン上でデータベースをローカルで管理するか、または単一のリモート・クライアントから複数の異なるデータベースを管理するかによって、どちらの認証方式を選択するかが決まります。図1-2は、DBA用に選択できる認証方式を示しています。
リモート・データベース管理の場合は、Oracle Net関連マニュアルを参照して、セキュリティで保護された接続を使用しているかどうかを判断してください。TCP/IPやDECnetなどの最も一般的な接続プロトコルは、セキュリティによって保護されていません。
セキュリティで保護されていない接続で、権限を持つユーザーとしてOracle Databaseに接続するには、パスワード・ファイルによる認証を受ける必要があります。パスワード・ファイル認証を使用すると、SYSDBAまたはSYSOPERシステム権限を付与されたデータベース・ユーザー名を追跡管理するために、パスワード・ファイルが使用されます。 この認証方式については、「パスワード・ファイル認証の使用」を参照してください。
ローカル接続またはセキュリティで保護されたリモート接続で、権限を持つユーザーとしてOracle Databaseに接続するには、次の2通りの方法があります。
SYSDBAまたはSYSOPERシステム権限を付与されている場合は、パスワード・ファイルを使用して接続し、認証を受けることができます。
SYSDBAまたはSYSOPER権限を付与されていないため、パスワード・ファイルに登録されていない場合は、オペレーティング・システム認証を使用できます。ほとんどのオペレーティング・システムでは、データベース管理者のオペレーティング・システム認証のために、データベース管理者のオペレーティング・システム・ユーザー名を特別なグループに登録します。このグループは一般にOSDBAと呼ばれます。そのグループのユーザーには、SYSDBA権限が付与されます。ユーザーにSYSOPER権限を付与するには、同様のグループOSOPERが使用されます。
ここでは、オペレーティング・システムを使用した管理者の認証方法について説明します。
オペレーティング・システム認証を使用する場合は、2つの特別なオペレーティング・システム・グループによってデータベース管理者の接続が制御されます。これらのグループは一般にOSDBAおよびOSOPERと呼ばれます。各グループはデータベースのインストール・プロセスで作成され、特定の名前が割り当てられます。グループの名前は、次の表に示すようにオペレーティング・システムによって異なります。
| オペレーティング・システム・グループ | UNIXユーザー・グループ | Windowsユーザー・グループ |
|---|---|---|
|
OSDBA |
|
|
|
OSOPER |
|
|
Oracle Universal Installerで提示されるデフォルト名は変更できます。OSDBAおよびOSOPERグループは、オペレーティング・システム固有の方法で作成されます。
OSDBAまたはOSOPERグループでのメンバーシップは、データベースへの接続に次のように影響します。
AS SYSDBAを指定した場合、そのユーザーは、SYSDBAシステム権限でデータベースに接続します。
AS SYSOPERを指定した場合、そのユーザーは、SYSOPERシステム権限でデータベースに接続します。
SYSDBAまたはSYSOPERとして接続しようとした場合、CONNECTコマンドを発行すると、エラーが発生します。オペレーティング・システムを使用して管理ユーザーを認証するには、次の手順を実行する必要があります。
次のどちらかのSQL*Plusコマンドを入力すると、ユーザーが管理ユーザーとして認証され、ローカル・データベースに接続できます。
CONNECT / AS SYSDBA CONNECT / AS SYSOPER
安全な接続を介したリモート・データベース接続の場合、ユーザーはリモート・データベースのネット・サービス名も指定する必要があります。
CONNECT /@net_service_name AS SYSDBA CONNECT /@net_service_name AS SYSOPER
ここでは、パスワード・ファイル認証を使用した管理ユーザーの認証方法について説明します。
パスワード・ファイル認証を使用して管理ユーザーを認証するには、次の手順を実行する必要があります。
ORAPWDユーティリティを使用してパスワード・ファイルを作成します。
ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users
REMOTE_LOGIN_PASSWORDFILE初期化パラメータをEXCLUSIVEに設定します。(これはデフォルトです。)SYS(または管理権限を持つ他のユーザー)としてデータベースに接続します。
SYSDBAまたはSYSOPERシステム権限を付与します。
GRANT SYSDBA to oe;
この文を実行すると、パスワード・ファイルにユーザーが追加され、AS SYSDBAとして接続できるようになります。
SQL*PlusのCONNECTコマンドを使用すると、管理ユーザーが認証され、ローカルまたはリモート・データベースに接続できます。接続時には、ユーザー名とパスワード、およびAS SYSDBAまたはAS SYSOPER句を指定します。 たとえば、ユーザーoeはSYSDBA権限を付与されているため、次のコマンドで接続できます。
CONNECT oe/oe AS SYSDBA
しかし、ユーザーoeはSYSOPER権限を付与されていないため、次のコマンドは失敗します。
CONNECT oe/oe AS SYSOPER
パスワード・ファイル作成ユーティリティORAPWDを使用して、パスワード・ファイルを作成できます。一部のオペレーティング・システムでは、標準インストール時にこのファイルを作成できます。
この項の内容は、次のとおりです。
パラメータを指定せずにこのパスワード・ファイル作成ユーティリティを起動すると、次の出力例のようなコマンドの正しい使用方法を示すメッセージが表示されます。
> orapwd Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n> where file - name of password file (mand), password - password for SYS (mand), entries - maximum number of distinct DBAs and OPERs (opt), force - whether to overwrite existing file (opt) There are no spaces around the equal-to (=) character.
次のコマンドを使用すると、acct.pwdという名前のパスワード・ファイルが作成されます。このパスワード・ファイルでは、30人までの権限を持つユーザーと各ユーザー固有のパスワードを設定できます。この例のファイルは、最初はSYSで接続するユーザー用にパスワードsecretを使用して作成されます。
orapwd FILE=acct.pwd PASSWORD=secret ENTRIES=30
次の項では、ORAPWDユーティリティのパラメータについて説明します。
このパラメータは、作成するパスワード・ファイルの名前を設定します。ファイルにはフルパス名を指定する必要があります。このファイルの内容は暗号化されているため、ユーザーは直接読むことができません。これは必須パラメータです。
パスワード・ファイルで許可されているファイル名のタイプは、オペレーティング・システムによって異なります。一部のオペレーティング・システムでは、パスワード・ファイルを特定の形式で作成して特定のディレクトリに格納する必要があります。また、環境変数を使用してパスワード・ファイルの名前と位置を指定できるオペレーティング・システムもあります。 UnixおよびLinuxオペレーティング・システムに関する名前と位置の情報は、UNIXベースのオペレーティング・システムの管理者ガイドを参照してください。 Windowsに関しては、Microsoft Windowsのプラットフォーム・ガイドを参照してください。その他のオペレーティング・システムに関しては、使用しているオペレーティング・システムのマニュアルを参照してください。
Oracle Real Application Clustersを使用して複数のOracle Databaseインスタンスを稼働している場合は、各インスタンスの環境変数が同じパスワード・ファイルを指している必要があります。
このパラメータは、ユーザーSYS用のパスワードを設定します。データベースに接続した後、ALTER USER文を発行してSYSのパスワードを変更すると、データ・ディクショナリに格納されているパスワードとパスワード・ファイルに格納されているパスワードの両方が更新されます。これは必須パラメータです。
このパラメータは、パスワード・ファイルで受け入れるエントリの数を指定します。この数は、データベースにSYSDBAまたはSYSOPERとして接続できるユーザーの数に対応します。ORAPWDユーティリティでは、オペレーティング・システム・ブロックがいっぱいになるまでパスワード・エントリの割当てが継続されるため、実際にはユーザー数より多くのエントリを入力できます。たとえば、オペレーティング・システムのブロック・サイズが512バイトの場合は、4つのパスワード・エントリが格納されます。そのため、割り当てられたパスワード・エントリの数は常に4の倍数になります。
パスワード・ファイルにユーザーを追加したり、パスワード・ファイルからユーザーを削除したりすると、エントリは再利用されます。REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEを指定し、ユーザーにSYSDBAおよびSYSOPER権限を付与する場合、このパラメータは必須です。
このパラメータがYに設定されている場合、既存のパスワード・ファイルを上書きできます。同じ名前のパスワード・ファイルがすでに存在し、このパラメータが省略されているか、あるいはNに設定されている場合は、エラーが戻されます。
パスワード・ファイルを作成する他に、初期化パラメータREMOTE_LOGIN_PASSWORDFILEを適切な値に設定する必要があります。認識される値は、次のとおりです。
NONE: このパラメータをNONEに設定すると、Oracle Databaseはパスワード・ファイルが存在しない場合と同じように動作します。つまり、セキュリティで保護されていない接続では、権限付きの接続は許可されません。
EXCLUSIVE: デフォルトでは、EXCLUSIVEパスワード・ファイルは、1つのデータベースの1つのインスタンスでのみ使用できます。EXCLUSIVEファイルのみ変更できます。EXCLUSIVEパスワード・ファイルを使用して、ユーザーの追加、変更および削除ができます。ALTER USERコマンドを使用して、SYSパスワード・ファイルを変更することもできます。
SHARED: SHAREDパスワード・ファイルは、同じサーバーで稼働している複数のデータベース、またはReal Application Clusters(RAC)データベースの複数のインスタンスで使用できます。 SHAREDパスワード・ファイルは変更できません。これは、SHAREDパスワード・ファイルにユーザーを追加できないことを意味します。 ユーザーの追加を試行したり、SYSのパスワードまたはSYSDBAあるいはSYSOPER権限を持つ他のユーザーのパスワードを変更しようとすると、エラーが発生します。REMOTE_LOGIN_PASSWORDFILEがEXCLUSIVEに設定されている場合、SYSDBAまたはSYSOPERシステム権限を必要とするすべてのユーザーをパスワード・ファイルに追加する必要があります。すべてのユーザーを追加した後、REMOTE_LOGIN_PASSWORDFILEをSHAREDに変更すると、このファイルを共有できます。このオプションは、複数のデータベースまたはRACデータベースを管理する場合に役立ちます。
REMOTE_LOGIN_PASSWORDFILEがEXCLUSIVEまたはSHAREDに設定され、パスワード・ファイルが欠落している場合は、REMOTE_LOGIN_PASSWORDFILEがNONEに設定されているのと同じです。
ユーザーにSYSDBAまたはSYSOPER権限を付与すると、そのユーザーの名前と権限情報がパスワード・ファイルに追加されます。データベースにEXCLUSIVEパスワード・ファイルがない場合、つまり、初期化パラメータREMOTE_LOGIN_PASSWORDFILEがNONEまたはSHARED、あるいはパスワード・ファイルが欠落している場合は、これらの権限を付与しようとするとエラーが発行されます。
ユーザーがこの2つの権限のうち1つでも持っている間は、そのユーザーの名前がパスワード・ファイルに残っています。これらの権限を両方とも取り消すと、Oracle Databaseによって、そのユーザーはパスワード・ファイルから削除されます。
パスワード・ファイルを作成して新規ユーザーを追加するには、次の手順を実行します。
REMOTE_LOGIN_PASSWORDFILE初期化パラメータをEXCLUSIVEに設定します。(これはデフォルトです。)SYSDBA権限で接続します。
CONNECT SYS/password AS SYSDBA
SYSDBAまたはSYSOPER権限を付与します。このセクションの後半にある、「SYSDBAおよびSYSOPER権限の付与と取消し」を参照してください。
データベースでEXCLUSIVEパスワード・ファイルを使用している場合は、次の例に示すように、GRANT文を使用して、ユーザーにSYSDBAまたはSYSOPERシステム権限を付与します。
GRANT SYSDBA TO oe;
ユーザーのSYSDBAまたはSYSOPERシステム権限を取り消すには、次のようにREVOKE文を使用します。
REVOKE SYSDBA FROM oe;
SYSDBAとSYSOPERは最も強力なデータベース権限であるため、WITH ADMIN OPTIONは、GRANT文で使用されません。つまり、権限受領者が別のユーザーにSYSDBAまたはSYSOPER権限を付与することはできません。現在SYSDBAとして接続しているユーザーのみが、別のユーザーにSYSDBAまたはSYSOPERシステム権限を付与できます。また、別のユーザーのシステム権限を取り消すこともできます。この2つの権限は、ロールには付与できません。ロールはデータベースを起動しないかぎり使用できないためです。SYSDBAとSYSOPERのデータベース権限とオペレーティング・システム・ロールを混同しないでください。
データベースのSYSDBAまたはSYSOPERシステム権限を付与されているユーザーを確認するには、V$PWFILE_USERSビューを使用します。このビューで表示される列は、次のとおりです。
| 列 | 説明 |
|---|---|
|
|
パスワード・ファイルで認識されるユーザー名。 |
|
|
この列の値が |
|
|
この列の値が |
この項の内容は、次のとおりです。
ユーザーにSYSDBAまたはSYSOPERシステム権限を付与しようとしたときに、パスワード・ファイルが満杯(ORA-01996)というエラーが出力された場合は、よりサイズの大きいパスワード・ファイルを作成し、ユーザーに再度権限を付与する必要があります。
パスワード・ファイルを置換するには、次の手順を実行します。
V$PWFILE_USERSビューを問い合せて、どのユーザーがSYSDBAまたはSYSOPER権限を持っているかを確認します。
ORAPWDユーティリティを使用してパスワード・ファイルを新しく作成します。ENTRIESパラメータには、必要と思われる数よりも大きい数を指定してください。
ユーザー認証にパスワード・ファイルを使用する必要がなくなったと判断した場合は、パスワード・ファイルを削除して、REMOTE_LOGIN_PASSWORDFILE初期化パラメータを必要に応じてNONEにリセットできます。このファイルを削除した後は、オペレーティング・システムによって認証されたユーザーSYSDBAあるいはSYSOPERのみが、データベース管理の操作を実行できます。
Oracle Databaseは、それ自体の監視、調整および修復を自動的に行う高度な自己管理データベースです。日常的なDBAタスクが自動化されるため、領域、メモリーおよびリソースの複雑な管理が軽減されます。また、特定のオブジェクトを容易に分析できるように、いくつかのアドバイザが用意されています。これらのアドバイザでは、オブジェクトの様々な側面に関するレポートが作成され、推奨される処置が記述されます。Oracle Databaseは、問題が予測される場合や、ユーザーが選択したメトリックが定義済のしきい値を超えている場合に、先行してアラートを送信します。
自己管理機能に加え、Oracle Databaseには、データベースとの間で行うデータ移動に役立つユーティリティが用意されています。
この項では、次のサーバーの管理性について説明します。
Oracle Databaseには自己管理インフラストラクチャがあり、データベースは、データベース自体に関する情報を取得し、この情報を使用してワークロードの変動に適応し、潜在的な問題を自動的に解決できます。この項では、Oracle Databaseの自動管理機能について説明します。
自動ワークロード・リポジトリ(AWR)は、すべてのOracle Databaseに組み込まれているリポジトリです。データベースでは、すべての重要な統計とワークロード情報のスナップショットが一定の間隔で作成され、AWRに格納されます。デフォルトで、スナップショットは60分おきに作成されますが、この頻度は変更できます。スナップショットは一定期間(デフォルトで7日間)AWRに保存された後、自動的にパージされます。
Oracle Databaseは、AWRに格納されている情報を使用して、オプティマイザ統計のリフレッシュや索引の再作成など、定型的なメンテナンス・タスクの実行が必要かどうかを識別します。次に、スケジューラを使用して、事前定義のメンテナンス・ウィンドウでこれらのタスクを実行します。
|
関連項目
|
自動的に解決できない一部の問題は、データベース管理者が対応する必要があります。Oracle Databaseには、領域不足などの問題について、その問題の発生時に管理者に通知するサーバー生成アラートが用意されています。このアラートでは、問題の解決方法に関する推奨処置も通知されます。
Oracle Databaseには、データベース内の多数のサブシステムを最適化するために役立つアドバイザが用意されています。アドバイザ・フレームワークによって、アドバイザの起動方法と結果のレポート方法の一貫性が保証されます。アドバイザは主に、データベースによるパフォーマンスの最適化に使用されます。ただし、特定のサブコンポーネントの機能性を詳しく調べるために、管理者が起動することもできます。
Oracle Databaseには、データのメンテナンスに役立つ様々なユーティリティが用意されています。ここでは、それらのユーティリティの中から次の2つを紹介します。
SQL*Loaderは、データベース管理者とOracle Databaseの他のユーザーの双方によって使用されます。それは、オペレーティング・システムの標準ファイル(テキストやCデータ形式のファイルなど)からデータベース表にデータをロードします。
Oracleのエクスポート・ユーティリティとインポート・ユーティリティを使用すると、複数のOracle Database間でOracle形式の既存データを移動できます。たとえば、エクスポート・ファイルを使用すると、データベースのデータをアーカイブしたり、同一のオペレーティング・システムまたは異なるオペレーティング・システム上で稼働している複数のデータベース間でデータを移動できます。
|
![]() Copyright © 2006 Oracle Corporation. All Rights Reserved. |
|