ヘッダーをスキップ

Oracle Database 管理者ガイド
10gリリース2(10.2)

B19224-02
目次
目次
索引
索引

戻る 次へ

1 Oracle Databaseの管理の概要

この章では、Oracle Database管理者(DBA)の環境とタスクの概要を示します。DBAのセキュリティ、および必要な管理権限の取得方法についても説明します。

この章の内容は、次のとおりです。

Oracle Databaseユーザーのタイプ

ユーザーのタイプとその役割および責任は、データベース・サイトによって異なります。小規模のサイトでは、1名のデータベース管理者を配置して、アプリケーション開発者およびユーザー向けのデータベースを管理できます。大規模なサイトでは、データベース管理者の役割を複数の人および複数の専門グループに分割する必要があります。

この項の内容は、次のとおりです。

データベース管理者

各データベースには、少なくとも1名のDBAが必要です。Oracle Databaseシステムは規模が大きく、多数のユーザーによって使用される可能性があります。したがって、1名の担当者ではデータベースを管理できないため、複数のDBAでグループを編成して役割を分担します。

DBAが担当するタスクは次のとおりです。

セキュリティ管理者

サイトによっては、データベースに1名以上のセキュリティ管理者が必要です。セキュリティ管理者は、ユーザーの登録、データベースに対するユーザー・アクセスの制御と監視およびシステム・セキュリティのメンテナンスを実施します。したがって、サイトにセキュリティ管理者が別にいる場合、DBAはこれらの業務に対する役割を持ちません。セキュリティ管理者の業務の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

ネットワーク管理者

サイトによっては、1名以上のネットワーク管理者がいる場合があります。たとえば、ネットワーク管理者は、Oracle Net ServicesなどのOracleネットワーク製品を管理します。ネットワーク管理者の業務の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

関連項目

分散環境でのネットワーク管理の詳細は、第VII部「分散データベースの管理」を参照してください。 

アプリケーション開発者

アプリケーション開発者は、データベース・アプリケーションを設計し、実装します。アプリケーション開発者が担当するタスクは、次のとおりです。

アプリケーション開発者は、これらのタスクの一部をDBAと協力して実施する場合があります。アプリケーション開発タスクの詳細は、『Oracle Databaseアプリケーション開発者ガイド - 基礎編』を参照してください。

アプリケーション管理者

Oracle Databaseのサイトでは、特定のアプリケーションを管理するために1名以上のアプリケーション管理者が必要な場合があります。アプリケーションごとに専門の管理者を置く場合があります。

データベース・ユーザー

データベース・ユーザーは、アプリケーションまたはユーティリティを介してデータベースと対話します。一般ユーザーが担当するタスクは、次のとおりです。

DBAのタスク

次のタスクは、Oracle Databaseを設計、実装およびメンテナンスするためのアプローチの優先順位を表しています。

タスク1: データベース・サーバー・ハードウェアの評価

タスク2: Oracle Databaseソフトウェアのインストール

タスク3: データベースの計画

タスク4: データベースの作成とオープン

タスク5: データベースのバックアップ

タスク6: システム・ユーザーの登録

タスク7: データベース設計の実装

タスク8: 実行データベースのバックアップ

タスク9: データベースのパフォーマンス・チューニング

タスク10: パッチのダウンロードとインストール

タスク11: 追加ホストへのロールアウト

次の項で、これらのタスクについて説明します。


注意

新しいリリースにアップグレードする場合は、既存の本番環境(ソフトウェアとデータベースの両方)のバックアップを作成してからインストールしてください。 既存の本番データベースの保存方法については、『Oracle Databaseアップグレード・ガイド』を参照してください。 


タスク1: データベース・サーバー・ハードウェアの評価

使用可能なコンピュータ・リソースを、Oracle Databaseとそのアプリケーションで最大限に活用するための評価を行います。この評価では、次のような情報を明らかにする必要があります。

タスク2: Oracle Databaseソフトウェアのインストール

データベース管理者は、Oracle Databaseサーバーのソフトウェアとすべてのフロントエンド・ツール、およびデータベースにアクセスするデータベース・アプリケーションをインストールします。分散処理環境インストールでは、データベースが中核となるコンピュータ(データベース)によって制御され、データベース・ツールとアプリケーションがリモート・マシン(クライアント)で実行される場合があります。このような場合は、Oracle Databaseを実行するコンピュータに、リモート・マシンを接続するために必要なOracle Netコンポーネントもインストールする必要があります。

インストールするソフトウェアの詳細は、「Oracle Databaseソフトウェアのリリースの識別」を参照してください。

関連項目

インストールの特定の要件や指示の詳細は、次のマニュアルを参照してください。

  • 使用しているオペレーティング・システム固有のOracleマニュアル

  • フロントエンド・ツールおよびOracle Netドライバのインストレーション・ガイド

 

タスク3: データベースの計画

DBAは、次のことを計画する必要があります。

重要なことは、データベースの論理記憶域構造が、システムのパフォーマンスと様々なデータベース管理操作にどのように影響を及ぼすかについて計画することです。たとえば、表領域を構成するデータ・ファイルの数、各表領域に格納される情報のタイプ、およびデータ・ファイルの物理的な格納先ディスク・ドライブについて、表領域を作成する前に把握しておく必要があります。データベース構造の論理記憶域全体を計画する際は、実際にデータベースを作成し、稼働したときに、この構造によって生じる影響を考慮します。次の項目について、データベースの論理記憶域構造が及ぼす影響を検討してください。

データベース・オブジェクトのリレーショナル設計と、各オブジェクトの記憶特性について計画します。オブジェクトを作成する前に、オブジェクトと各オブジェクトの物理記憶域間の関連について計画を立てることによって、1つの単位としてのデータベースのパフォーマンスを直接制御できます。データベースの拡張計画についても必ず検討してください。

分散データベース環境では、この計画段階が非常に重要です。頻繁にアクセスされるデータの物理的な位置が、アプリケーションのパフォーマンスに大きな影響を及ぼします。

計画段階中に、データベースのバックアップ計画を作成します。バックアップの効率を改善するために、必要に応じて論理記憶域やデータベースの設計を変更します。

リレーショナル・データベース設計および分散データベース設計については、このマニュアルでは取り扱っていません。このような設計上の問題は、業界標準として認められている資料を参照してください。

データベースの論理記憶域構造、オブジェクトおよび整合性制約の作成方法は、第II部「Oracle Databaseの構造と記憶域」および第IV部「スキーマ・オブジェクト」を参照してください。

タスク4: データベースの作成とオープン

データベース設計が完了すると、データベースを作成し、オープンできます。データベースを作成するには、データベース・コンフィギュレーション・アシスタント(DBCA)を使用してインストール時に作成する方法と、データベースを作成するためのスクリプトを用意する方法があります。

データベースの作成方法については第2章「Oracle Databaseの作成」を、データベース起動時のガイドラインについては第3章「起動と停止」を参照してください。

タスク5: データベースのバックアップ

データベース構造の作成後、データベースに対して予定していたバックアップ計画を実行します。追加のREDOログ・ファイルを作成し、データベース全体の最初のバックアップ(オンラインまたはオフライン)を作成して、その後の定期的なデータベース・バックアップをスケジュールします。

関連項目

  • 『Oracle Databaseバックアップおよびリカバリ基礎』

  • 『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』

タスク6: システム・ユーザーの登録

データベース構造のバックアップが完了した後、Oracleのライセンス契約に従ってデータベースのユーザーを登録し、登録したユーザーに対して適切な権限とロールを付与できます。このタスクのガイドラインについては、第22章「ユーザーの管理とデータベースのセキュリティ保護」を参照してください。

タスク7: データベース設計の実装

データベースを作成して起動し、システム・ユーザーを登録した後、必要なすべての表領域を作成して、計画したデータベースの論理構造を実装できます。表領域の作成を完了すると、データベース・オブジェクトを作成できます。

データベースの論理記憶域構造とオブジェクトの作成方法は、第II部「Oracle Databaseの構造と記憶域」および第IV部「スキーマ・オブジェクト」を参照してください。

タスク8: 実行データベースのバックアップ

データベースがすべて実装されたときに、再度バックアップを作成します。定期的にバックアップを作成するようにスケジュールし、また、データベース構造の変更を実装した直後にも必ずデータベースのバックアップを作成するようにします。

タスク9: データベースのパフォーマンス・チューニング

データベースのパフォーマンスの最適化は、DBAの日常的な作業の1つです。Oracle Databaseでは、DBAが各種ユーザー・グループへのリソースの割当てを制御できるように、データベース・リソース管理機能が提供されています。データベース・リソース・マネージャについては、第24章「データベース・リソース・マネージャの使用」を参照してください。

関連項目

データベースとアプリケーションのチューニング方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

タスク10: パッチのダウンロードとインストール

インストール後および定期的に、パッチをダウンロードしてインストールします。パッチは、1つの暫定パッチおよびパッチ・セット(またはパッチ・リリース)として使用可能です。暫定パッチは個々のソフトウェアの不具合を修正するもので、インストールの際に必要となる可能性がありますが、不要な場合もあります。パッチ・リリースは、すべてのカスタマに適用されるバグ・フィックスのコレクションです。パッチ・リリースには番号が付けられています。たとえば、Oracle Database 10.2.0.0がインストールされている場合、最初のパッチ・リリースには10.2.0.1.という番号が付けられます。

関連項目

パッチのダウンロードおよびインストールに関する方法については、該当するプラットフォーム用の『Oracle Databaseインストレーション・ガイド』を参照してください。 

タスク11: 追加ホストへのロールアウト

Oracle Databaseのインストレーションを正しく構成し、チューニングし、パッチを適用してテストした後、必要に応じてそのインストレーションをそのまま別のホストにロールアウトできます。このようなロールアウトは、次のような場合に行います。

それぞれの追加ホストへインストール、チューニングおよびパッチを行うかわりに、テスト済のOracle Databaseインストレーションを別のホストにクローニングすることで、時間の節約と不整合をなくすことができます。次の2つのタイプのクローニングを使用できます。

環境変数を使用したインスタンスの選択

SQL*Plusを使用してローカルをOracleインスタンスに接続する前に、環境変数を正しく設定する必要があります。1つのサーバー上に複数のデータベース・インスタンスが存在している、あるいは1つ以上のデータベース・インスタンスと同じサーバー上に、自動ストレージ管理(ASM)インスタンスが存在している場合、環境変数により、SQL*Plusが接続するインスタンスが決定されます。(サーバー上にOracleインスタンスが1つしかない場合でも同じです。)

たとえば、各Oracleインスタンス(データベースまたはASM)には固有のシステム識別子(SID)があります。インスタンスに接続するには、少なくともORACLE_SID環境変数をそのインスタンスのSIDに設定します。オペレーティング・システムに応じて、別の環境変数を設定し、インスタンスを別のインスタンスに正しく変更する必要があります。

環境変数に関する詳細およびインスタンスの切替えに関する情報は、『Oracle Databaseインストレーション・ガイド』または使用しているオペレーティング・システムの管理ガイドを参照してください。


注意

この説明は、ローカル接続を行う場合のみに適用されます。つまり、Oracle Net Services接続識別子を指定せずに、SQL*Plus接続をターゲット・インスタンスが常駐する同じマシンから起動する場合です。ローカルまたはリモート・マシン上のSQL*PlusあるいはEnterprise Managerのいずれかを使用して、Oracle Net Servicesを介して接続を行うと、ユーザーの環境が自動的に設定されます。

接続識別子に関する詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。 


Solarisの例

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の例

Windowsでは、ORACLE_SID環境変数のみ設定し、インスタンスを選択してからSQL*Plusを起動します。

SET ORACLE_SID=SAL1

Oracle Databaseソフトウェアのリリースの識別

Oracle Databaseは継続的に開発が進められ、メンテナンスが必要なため、定期的に新リリースが作成されています。すべての顧客が、新リリースを最初に利用したり、既存のリリースに対する特定のメンテナンスを必要とするわけではありません。この結果、複数の製品リリースが同時に存在することになります。

特定のリリースを完全に識別するには、5つの番号が必要です。以降の項では、各番号の意味について説明します。

リリース番号の形式

Oracleで使用されているリリースの命名体系を理解するために、Oracle Databaseのリリース番号「リリース10.1.0.1.0」を例として説明します。

図 1-1    Oracle Databaseのリリース番号の例


画像の説明


注意

リリース9.2からは、Oracle Databaseのメンテナンス・リリースはリリース番号の2桁目の変更で示されます。以前のリリースでは、3桁目が特定のメンテナンス・リリースを示していました。  


データベースのバージョン番号

1桁目が最も一般的な識別子です。この番号は、重要な新機能が含まれる、ソフトウェアの主な新規バージョンを表します。

データベースのメンテナンス・リリース番号

2桁目は、メンテナンス・リリース・レベルを表します。新機能がいくつか含まれている場合もあります。

Application Serverのリリース番号

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
...

オラクル社にソフトウェアの問題を報告する際は、この問合せの結果を伝えることが重要です。

DBAのセキュリティと権限

Oracle Database管理者の管理タスクを実行するには、データベースとそのデータベースが稼働するサーバーのオペレーティング・システムで特定の権限が必要です。DBAアカウントへのアクセスは厳しく管理する必要があります。

この項の内容は、次のとおりです。

DBAのオペレーティング・システム・アカウント

データベースに対する管理業務の多くを実行するには、オペレーティング・システム・コマンドを実行できる必要があります。Oracle Databaseが稼働するオペレーティング・システムによって異なりますが、オペレーティング・システムにアクセスするには、オペレーティング・システム・アカウント(ID)が必要になります。その場合、そのオペレーティング・システム・アカウントに対しては、他のデータベース・ユーザーには不要なオペレーティング・システム権限やアクセス権(Oracle Databaseソフトウェアのインストールの実行など)が必要になります。Oracle Databaseファイルを自分のアカウント内に格納する必要はありませんが、それらに対するアクセス権は必要です。

関連項目

使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。DBAのアカウントの作成方法は、オペレーティング・システムによって異なります。 

DBAのユーザー名

Oracle Databaseのインストール時には、次の2つのユーザー・アカウントが自動的に作成されます。

日常的な管理タスクを実施するときに使用する管理者ユーザーを最低1つ追加作成し、そのユーザーに適切な管理ロールを付与してください。これらの目的のためにSYSおよびSYSTEMを使用しないでください。


セキュリティ拡張に関する注意

このリリースのOracle Databaseと以降のリリースで、デフォルトのデータベース・ユーザー・アカウントのセキュリティを確保するために、セキュリティ機能が拡張されています。このリリースのセキュリティ・チェックリストは、『Oracle Databaseセキュリティ・ガイド』にあります。このチェックリストを参照し、その内容に従ってデータベースを構成してください。  


SYS

Oracle Databaseを作成すると、ユーザーSYSが自動的に作成され、DBAロールが付与されます。

データベースのデータ・ディクショナリの実表とビューはすべて、SYSスキーマに格納されます。この実表とビューは、Oracle Databaseの操作にとって非常に重要です。データ・ディクショナリの整合性を維持するために、SYSスキーマ内の表はデータベースによってのみ操作されます。ユーザーやDBAはそれらの表を修正したり、ユーザーSYSのスキーマ内に表を作成しないでください。(ただし、必要に応じてデータ・ディクショナリ設定の記憶域パラメータを変更することは可能です)。

ほとんどのデータベース・ユーザーに対して、SYSアカウントによるOracle Databaseへの接続を禁止する必要があります。

SYSTEM

Oracle Databaseを作成すると、ユーザーSYSTEMが自動的に作成され、DBAロールが付与されます。

このユーザー名SYSTEMを使用して、管理情報を表示する追加表とビュー、および各種のOracle Databaseのオプションとツール製品で使用される内部表とビューが作成されます。管理ユーザー以外のユーザーに関係する表の格納に、SYSTEMスキーマを使用しないでください。

DBAロール

事前に定義されたDBAロールは、Oracle Databaseのインストールで自動的に作成されます。このロールには、ほとんどのデータベース・システム権限が含まれています。このため、DBAロールは実際のDBAにのみ付与してください。


注意

DBAロールには、SYSDBAまたはSYSOPERシステム権限が含まれていません。これらは、データベースとインスタンスの起動や停止など、基本的なデータベース管理タスクの実行を管理者に許可する特別な管理権限です。これらのシステム権限については、「管理権限」を参照してください。 


DBAの認証

DBAは、データベースの起動や停止などの特別な操作を実行します。これらの操作はDBAのみが実行する必要があるため、DBAのユーザー名には安全性の高い認証方式が必要です。

この項の内容は、次のとおりです。

管理権限

管理者が基本的なデータベース操作を実行するために必要な管理権限は、SYSDBAおよびSYSOPERという2つの特別なシステム権限によって付与されます。必要な認可レベルに応じて、どちらか一方の権限をDBAに付与する必要があります。


注意

SYSDBAおよびSYSOPERシステム権限を使用すると、データベースがオープンしていなくてもデータベース・インスタンスにアクセスできます。これらの権限の制御は、完全にデータベース機能の範囲外にあります。

SYSDBASYSOPER権限も、他の方法では権限を付与できない特定のデータベース操作を実行するための接続の一種とみなすことができます。たとえば、SYSDBA権限がある場合は、CONNECT AS SYSDBAを指定することでデータベースに接続できます。 


SYSDBAとSYSOPER

SYSDBAおよびSYSOPERシステム権限で許可されている操作は、次のとおりです。

システム権限  許可されている操作 

SYSDBA  

  • STARTUPおよびSHUTDOWN操作の実行

  • ALTER DATABASE OPEN/MOUNT/BACKUP/CHARACTER SET

  • CREATE DATABASE

  • DROP DATABASE

  • CREATE SPFILE

  • ALTER DATABASE ARCHIVELOG

  • ALTER DATABASE RECOVER

  • RESTRICTED SESSION権限を含む

実際は、このシステム権限を使用することにより、ユーザーSYSとして接続できます。 

SYSOPER  

  • STARTUPおよびSHUTDOWN操作の実行

  • CREATE SPFILE

  • ALTER DATABASE OPEN/MOUNT/BACKUP

  • ALTER DATABASE ARCHIVELOG

  • ALTER DATABASE RECOVER(完全リカバリのみ。UNTIL TIME|CHANGE|CANCEL|CONTROLFILEなど、不完全リカバリの形式では、SYSDBAで接続する必要があります。)

  • RESTRICTED SESSION権限を含む

この権限を使用すると、ユーザー・データの表示を除く基本操作を実行できます。 

これらの権限の使用を許可する方法は、使用する認証方式によって異なります。

SYSDBAまたはSYSOPER権限で接続した場合は、一般的にユーザー名に対応付けられているスキーマではなく、デフォルトのスキーマで接続します。デフォルトのスキーマは、SYSDBAの場合はSYSSYSOPERの場合は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用に選択できる認証方式を示しています。

図 1-2    DBAの認証方式


画像の説明

リモート・データベース管理の場合は、Oracle Net関連マニュアルを参照して、セキュリティで保護された接続を使用しているかどうかを判断してください。TCP/IPやDECnetなどの最も一般的な接続プロトコルは、セキュリティによって保護されていません。

関連項目

『Oracle Database Net Services管理者ガイド』 

セキュリティで保護されていないリモート接続

セキュリティで保護されていない接続で、権限を持つユーザーとしてOracle Databaseに接続するには、パスワード・ファイルによる認証を受ける必要があります。パスワード・ファイル認証を使用すると、SYSDBAまたはSYSOPERシステム権限を付与されたデータベース・ユーザー名を追跡管理するために、パスワード・ファイルが使用されます。 この認証方式については、「パスワード・ファイル認証の使用」を参照してください。

ローカル接続およびセキュリティで保護されたリモート接続

ローカル接続またはセキュリティで保護されたリモート接続で、権限を持つユーザーとしてOracle Databaseに接続するには、次の2通りの方法があります。

オペレーティング・システム認証の使用

ここでは、オペレーティング・システムを使用した管理者の認証方法について説明します。

OSDBAとOSOPER

オペレーティング・システム認証を使用する場合は、2つの特別なオペレーティング・システム・グループによってデータベース管理者の接続が制御されます。これらのグループは一般にOSDBAおよびOSOPERと呼ばれます。各グループはデータベースのインストール・プロセスで作成され、特定の名前が割り当てられます。グループの名前は、次の表に示すようにオペレーティング・システムによって異なります。

オペレーティング・システム・グループ  UNIXユーザー・グループ  Windowsユーザー・グループ 

OSDBA 

dba  

ORA_DBA  

OSOPER 

oper  

ORA_OPER  

Oracle Universal Installerで提示されるデフォルト名は変更できます。OSDBAおよびOSOPERグループは、オペレーティング・システム固有の方法で作成されます。

OSDBAまたはOSOPERグループでのメンバーシップは、データベースへの接続に次のように影響します。

オペレーティング・システム認証を使用するための準備

オペレーティング・システムを使用して管理ユーザーを認証するには、次の手順を実行する必要があります。

  1. ユーザーのオペレーティング・システム・アカウントを作成します。

  2. オペレーティング・システムで定義されたOSDBAまたはOSOPERグループにアカウントを追加します。

オペレーティング・システム認証を使用した接続

次のどちらかのSQL*Plusコマンドを入力すると、ユーザーが管理ユーザーとして認証され、ローカル・データベースに接続できます。

CONNECT / AS SYSDBA
CONNECT / AS SYSOPER

安全な接続を介したリモート・データベース接続の場合、ユーザーはリモート・データベースのネット・サービス名も指定する必要があります。

CONNECT /@net_service_name AS SYSDBA
CONNECT /@net_service_name AS SYSOPER

関連項目

CONNECTコマンドの構文は、『SQL*Plus ユーザーズ・ガイドおよびリファレンス』を参照してください。 

パスワード・ファイル認証の使用

ここでは、パスワード・ファイル認証を使用した管理ユーザーの認証方法について説明します。

パスワード・ファイル認証を使用するための準備

パスワード・ファイル認証を使用して管理ユーザーを認証するには、次の手順を実行する必要があります。

  1. 作成していない場合は、次のようにORAPWDユーティリティを使用してパスワード・ファイルを作成します。

    ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users
    
    
  2. REMOTE_LOGIN_PASSWORDFILE初期化パラメータをEXCLUSIVEに設定します。(これはデフォルトです。)


    注意

    REMOTE_LOGIN_PASSWORDFILEは静的初期化パラメータです。そのため、データベースを再起動しなければ変更することはできません。 


  3. ユーザーSYS(または管理権限を持つ他のユーザー)としてデータベースに接続します。

  4. データベース内にユーザーが存在しない場合は、ユーザーを作成します。

  5. 次のコマンドを入力して、ユーザーにSYSDBAまたはSYSOPERシステム権限を付与します。

    GRANT SYSDBA to oe;
    
    

    この文を実行すると、パスワード・ファイルにユーザーが追加され、AS SYSDBAとして接続できるようになります。

    関連項目

    パスワード・ファイルの作成とメンテナンスの方法は、「パスワード・ファイルの作成とメンテナンス」を参照してください。 

パスワード・ファイル認証を使用した接続

SQL*PlusのCONNECTコマンドを使用すると、管理ユーザーが認証され、ローカルまたはリモート・データベースに接続できます。接続時には、ユーザー名とパスワード、およびAS SYSDBAまたはAS SYSOPER句を指定します。 たとえば、ユーザーoeSYSDBA権限を付与されているため、次のコマンドで接続できます。

CONNECT oe/oe AS SYSDBA

しかし、ユーザーoeSYSOPER権限を付与されていないため、次のコマンドは失敗します。

CONNECT oe/oe AS SYSOPER


注意

オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。 特に、オペレーティング・システムのOSDBAまたはOSOPERグループに属しているユーザーが、SYSDBAまたSYSOPERで接続すると、指定したユーザー名とパスワードに関係なく、関連付けられた管理権限を使用して接続されます。

OSDBAグループまたはOSOPERグループに属しておらず、パスワード・ファイルにも指定されていない場合、SYSDBAまたはSYSOPERとして接続しようとすると失敗します。 


関連項目

CONNECTコマンドの構文は、『SQL*Plus ユーザーズ・ガイドおよびリファレンス』を参照してください。 

パスワード・ファイルの作成とメンテナンス

パスワード・ファイル作成ユーティリティORAPWDを使用して、パスワード・ファイルを作成できます。一部のオペレーティング・システムでは、標準インストール時にこのファイルを作成できます。

この項の内容は、次のとおりです。

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ユーティリティのパラメータについて説明します。

FILE

このパラメータは、作成するパスワード・ファイルの名前を設定します。ファイルにはフルパス名を指定する必要があります。このファイルの内容は暗号化されているため、ユーザーは直接読むことができません。これは必須パラメータです。

パスワード・ファイルで許可されているファイル名のタイプは、オペレーティング・システムによって異なります。一部のオペレーティング・システムでは、パスワード・ファイルを特定の形式で作成して特定のディレクトリに格納する必要があります。また、環境変数を使用してパスワード・ファイルの名前と位置を指定できるオペレーティング・システムもあります。 UnixおよびLinuxオペレーティング・システムに関する名前と位置の情報は、UNIXベースのオペレーティング・システムの管理者ガイドを参照してください。 Windowsに関しては、Microsoft Windowsのプラットフォーム・ガイドを参照してください。その他のオペレーティング・システムに関しては、使用しているオペレーティング・システムのマニュアルを参照してください。

Oracle Real Application Clustersを使用して複数のOracle Databaseインスタンスを稼働している場合は、各インスタンスの環境変数が同じパスワード・ファイルを指している必要があります。


注意

パスワード・ファイルやパスワード・ファイルの位置を特定する環境変数の保護は、システムのセキュリティにとって非常に重要です。パスワード・ファイルや環境変数にアクセスできるユーザーは、接続に対するセキュリティを脅かす潜在的な可能性を持っています。 


PASSWORD

このパラメータは、ユーザーSYS用のパスワードを設定します。データベースに接続した後、ALTER USER文を発行してSYSのパスワードを変更すると、データ・ディクショナリに格納されているパスワードとパスワード・ファイルに格納されているパスワードの両方が更新されます。これは必須パラメータです。


注意

REMOTE_LOGIN_PASSWORDFILESHAREDに設定されている場合、SYSのパスワードは変更できません。パスワードを変更しようとすると、エラー・メッセージが発行されます。 


ENTRIES

このパラメータは、パスワード・ファイルで受け入れるエントリの数を指定します。この数は、データベースにSYSDBAまたはSYSOPERとして接続できるユーザーの数に対応します。ORAPWDユーティリティでは、オペレーティング・システム・ブロックがいっぱいになるまでパスワード・エントリの割当てが継続されるため、実際にはユーザー数より多くのエントリを入力できます。たとえば、オペレーティング・システムのブロック・サイズが512バイトの場合は、4つのパスワード・エントリが格納されます。そのため、割り当てられたパスワード・エントリの数は常に4の倍数になります。

パスワード・ファイルにユーザーを追加したり、パスワード・ファイルからユーザーを削除したりすると、エントリは再利用されます。REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVEを指定し、ユーザーにSYSDBAおよびSYSOPER権限を付与する場合、このパラメータは必須です。


注意

割り当てられたパスワード・エントリ数を超える場合は、新しいパスワード・ファイルを作成する必要があります。新しいパスワード・ファイルを作成しなくて済むように、必要と思われる数よりも大きいエントリ数を指定してください。 


FORCE

このパラメータがYに設定されている場合、既存のパスワード・ファイルを上書きできます。同じ名前のパスワード・ファイルがすでに存在し、このパラメータが省略されているか、あるいはNに設定されている場合は、エラーが戻されます。

REMOTE_LOGIN_PASSWORDFILEの設定

パスワード・ファイルを作成する他に、初期化パラメータREMOTE_LOGIN_PASSWORDFILEを適切な値に設定する必要があります。認識される値は、次のとおりです。

REMOTE_LOGIN_PASSWORDFILEEXCLUSIVEまたはSHAREDに設定され、パスワード・ファイルが欠落している場合は、REMOTE_LOGIN_PASSWORDFILENONEに設定されているのと同じです。

パスワード・ファイルへのユーザーの追加

ユーザーにSYSDBAまたはSYSOPER権限を付与すると、そのユーザーの名前と権限情報がパスワード・ファイルに追加されます。データベースにEXCLUSIVEパスワード・ファイルがない場合、つまり、初期化パラメータREMOTE_LOGIN_PASSWORDFILENONEまたはSHARED、あるいはパスワード・ファイルが欠落している場合は、これらの権限を付与しようとするとエラーが発行されます。

ユーザーがこの2つの権限のうち1つでも持っている間は、そのユーザーの名前がパスワード・ファイルに残っています。これらの権限を両方とも取り消すと、Oracle Databaseによって、そのユーザーはパスワード・ファイルから削除されます。

パスワード・ファイルを作成した新規ユーザーの追加方法

パスワード・ファイルを作成して新規ユーザーを追加するには、次の手順を実行します。

  1. 「ORAPWDの使用方法」に記載された指示に従って、パスワード・ファイルを作成します。

  2. REMOTE_LOGIN_PASSWORDFILE初期化パラメータをEXCLUSIVEに設定します。(これはデフォルトです。)


    注意

    REMOTE_LOGIN_PASSWORDFILEは静的初期化パラメータです。そのため、データベースを再起動しなければ変更することはできません。 


  3. 次の例に示すように、SYSDBA権限で接続します。

    CONNECT SYS/password AS SYSDBA
    
    
  4. 必要であれば、インスタンスを起動してデータベースを作成します。または、既存のデータベースをマウントしてオープンします。

  5. 必要に応じて、ユーザーを登録します。DBA自身、および必要に応じて他のユーザーにSYSDBAまたはSYSOPER権限を付与します。このセクションの後半にある、「SYSDBAおよびSYSOPER権限の付与と取消し」を参照してください。

SYSDBAおよびSYSOPER権限の付与と取消し

データベースでEXCLUSIVEパスワード・ファイルを使用している場合は、次の例に示すように、GRANT文を使用して、ユーザーにSYSDBAまたはSYSOPERシステム権限を付与します。

GRANT SYSDBA TO oe;

ユーザーのSYSDBAまたはSYSOPERシステム権限を取り消すには、次のようにREVOKE文を使用します。

REVOKE SYSDBA FROM oe;

SYSDBASYSOPERは最も強力なデータベース権限であるため、WITH ADMIN OPTIONは、GRANT文で使用されません。つまり、権限受領者が別のユーザーにSYSDBAまたはSYSOPER権限を付与することはできません。現在SYSDBAとして接続しているユーザーのみが、別のユーザーにSYSDBAまたはSYSOPERシステム権限を付与できます。また、別のユーザーのシステム権限を取り消すこともできます。この2つの権限は、ロールには付与できません。ロールはデータベースを起動しないかぎり使用できないためです。SYSDBASYSOPERのデータベース権限とオペレーティング・システム・ロールを混同しないでください。

関連項目

システム権限の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 

パスワード・ファイル・メンバーの表示

データベースのSYSDBAまたはSYSOPERシステム権限を付与されているユーザーを確認するには、V$PWFILE_USERSビューを使用します。このビューで表示される列は、次のとおりです。

  説明 

USERNAME  

パスワード・ファイルで認識されるユーザー名。 

SYSDBA  

この列の値がTRUEの場合、そのユーザーはSYSDBAシステム権限でログインできます。 

SYSOPER  

この列の値がTRUEの場合、そのユーザーはSYSOPERシステム権限でログインできます。 

パスワード・ファイルのメンテナンス

この項の内容は、次のとおりです。

パスワード・ファイルのユーザー数の追加

ユーザーにSYSDBAまたはSYSOPERシステム権限を付与しようとしたときに、パスワード・ファイルが満杯(ORA-01996)というエラーが出力された場合は、よりサイズの大きいパスワード・ファイルを作成し、ユーザーに再度権限を付与する必要があります。

パスワード・ファイルの置換

パスワード・ファイルを置換するには、次の手順を実行します。

  1. V$PWFILE_USERSビューを問い合せて、どのユーザーがSYSDBAまたはSYSOPER権限を持っているかを確認します。

  2. 既存のパスワード・ファイルを削除します。

  3. 「ORAPWDの使用方法」の指示に従って、ORAPWDユーティリティを使用してパスワード・ファイルを新しく作成します。ENTRIESパラメータには、必要と思われる数よりも大きい数を指定してください。

  4. 「パスワード・ファイルへのユーザーの追加」の指示に従います。

パスワード・ファイルの削除

ユーザー認証にパスワード・ファイルを使用する必要がなくなったと判断した場合は、パスワード・ファイルを削除して、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概要』および『Oracle Database 2日でデータベース管理者』を参照してください。

  • 自動ワークロード・リポジトリを統計収集に使用する方法の詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。

自動メンテナンス・タスク

Oracle Databaseは、AWRに格納されている情報を使用して、オプティマイザ統計のリフレッシュや索引の再作成など、定型的なメンテナンス・タスクの実行が必要かどうかを識別します。次に、スケジューラを使用して、事前定義のメンテナンス・ウィンドウでこれらのタスクを実行します。

関連項目

サーバー生成アラート

自動的に解決できない一部の問題は、データベース管理者が対応する必要があります。Oracle Databaseには、領域不足などの問題について、その問題の発生時に管理者に通知するサーバー生成アラートが用意されています。このアラートでは、問題の解決方法に関する推奨処置も通知されます。

関連項目

APIを使用してサーバー生成アラートを管理する方法の詳細は、「サーバー生成アラート」を参照してください。 

アドバイザ

Oracle Databaseには、データベース内の多数のサブシステムを最適化するために役立つアドバイザが用意されています。アドバイザ・フレームワークによって、アドバイザの起動方法と結果のレポート方法の一貫性が保証されます。アドバイザは主に、データベースによるパフォーマンスの最適化に使用されます。ただし、特定のサブコンポーネントの機能性を詳しく調べるために、管理者が起動することもできます。

関連項目

  • アドバイザの概要については、『Oracle Database概要』を参照してください。

  • アドバイザの使用方法の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

データ・ユーティリティ

Oracle Databaseには、データのメンテナンスに役立つ様々なユーティリティが用意されています。ここでは、それらのユーティリティの中から次の2つを紹介します。

SQL*Loader

SQL*Loaderは、データベース管理者とOracle Databaseの他のユーザーの双方によって使用されます。それは、オペレーティング・システムの標準ファイル(テキストやCデータ形式のファイルなど)からデータベース表にデータをロードします。

エクスポート・ユーティリティとインポート・ユーティリティ

Oracleのエクスポート・ユーティリティとインポート・ユーティリティを使用すると、複数のOracle Database間でOracle形式の既存データを移動できます。たとえば、エクスポート・ファイルを使用すると、データベースのデータをアーカイブしたり、同一のオペレーティング・システムまたは異なるオペレーティング・システム上で稼働している複数のデータベース間でデータを移動できます。


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引