プライマリ・コンテンツに移動
Oracle® Database管理者ガイド
12cリリース2 (12.2)
E72998-04
目次へ移動
目次
索引へ移動
索引

前
次

1 データベース管理スタート・ガイド

データベース管理を開始するには、データベース・ユーザーのタイプ、データベース・セキュリティ、権限など、データベースの基本概念を理解する必要があります。データベースへのコマンドとSQLの送信やパスワード・ファイルの作成などの基本タスクを実行できる必要もあります。

1.1 Oracle Databaseユーザーのタイプ

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

1.1.1 データベース管理者

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

データベース管理者が担当するタスクは次のとおりです。

  • Oracle Databaseサーバーとアプリケーション・ツールをインストールおよびアップグレードします。

  • データベース・システムにシステム記憶域を割り当て、将来の記憶域要件を計画します。

  • アプリケーション開発者がアプリケーションを設計した後、プライマリ・データベースの記憶域構造(表領域)を作成します。

  • アプリケーション開発者がアプリケーションを設計した後、プライマリ・オブジェクト(表、ビュー、索引)を作成します。

  • アプリケーション開発者から得た情報に基づき、必要に応じてデータベース構造を修正します。

  • ユーザーを登録し、システム・セキュリティをメンテナンスします。

  • Oracleのライセンス契約に従っていることを確認します。

  • データベースに対するユーザー・アクセスを制御し、監視します。

  • データベースのパフォーマンスを監視し、最適化します。

  • データベース情報のバックアップおよびリカバリの計画を立てます。

  • テープ上のアーカイブ済データをメンテナンスします。

  • データベースをバックアップおよびリストアします。

  • 技術サポートについてOracleサポート・サービスに連絡します。

1.1.2 セキュリティ管理者

サイトによっては、データベースに1名以上のセキュリティ管理者が必要です。セキュリティ管理者は、ユーザーの登録、データベースに対するユーザー・アクセスの制御と監視およびシステム・セキュリティのメンテナンスを実施します。

したがって、サイトにセキュリティ管理者が別にいる場合、DBAはこれらの業務に対する役割を持ちません。

セキュリティ管理者の業務の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

1.1.3 ネットワーク管理者

サイトによっては、1名以上のネットワーク管理者がいる場合があります。たとえば、ネットワーク管理者は、Oracle Net ServicesなどのOracleネットワーク製品を管理します。

ネットワーク管理者の業務の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

関連項目:

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

1.1.4 アプリケーション開発者

アプリケーション開発者は、データベース・アプリケーションを設計し、実装します。

アプリケーション開発者が担当するタスクは、次のとおりです。

  • データベース・アプリケーションを設計、開発します。

  • アプリケーションのためのデータベース構造を設計します。

  • アプリケーションに対する記憶域要件を見積ります。

  • アプリケーションのためのデータベース構造の変更を指定します。

  • データベース管理者にこのような情報を伝えます。

  • 開発中にアプリケーションをチューニングします。

  • 開発中にアプリケーションに対するセキュリティ手段を確立します。

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

1.1.5 アプリケーション管理者

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

1.1.6 データベース・ユーザー

データベース・ユーザーは、アプリケーションまたはユーティリティを介してデータベースと対話します。

一般ユーザーが担当するタスクは、次のとおりです。

  • 許された範囲でデータを入力、修正および削除します。

  • データのレポートを作成します。

1.2 データベース管理者のタスク

Oracle Databaseを設計、実装およびメンテナンスするには、いくつかの特定のタスクを完了する必要があります。

注意:

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

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

使用可能なコンピュータ・リソースを、Oracle Databaseとそのアプリケーションで最大限に活用するための評価を行います。

この評価では、次のような情報を明らかにする必要があります。

  • Oracle製品に使用可能なディスク・ドライブ数

  • Oracle製品に使用可能な専用テープ・ドライブ数(テープ・ドライブがある場合)

  • Oracle Databaseインスタンスで使用可能なメモリーの量(システムの構成マニュアルを参照)

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

データベース管理者は、Oracle Databaseサーバーのソフトウェアとすべてのフロントエンド・ツール、およびデータベースにアクセスするデータベース・アプリケーションをインストールします。

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

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

関連項目:

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

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

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

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

データベース管理者は、データベースの論理記憶域構造、全体的なデータベース設計、データベースのバックアップ戦略を計画する必要があります。

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

  • Oracle Databaseを実行しているコンピュータのパフォーマンス

  • データ・アクセス操作中のデータベースのパフォーマンス

  • データベースのバックアップおよびリカバリの手順の効率

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

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

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

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

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

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

データベース設計が完了すると、データベースを作成し、オープンできます。

データベースを作成するには、Database Configuration Assistantを使用してインストール時に作成する方法と、データベースを作成するためのスクリプトを用意する方法があります。

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

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

データベース構造の作成後、データベースに対して予定していたバックアップ計画を実行します。

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

関連項目:

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

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

データベース構造のバックアップが完了した後、Oracleのライセンス契約に従ってデータベースのユーザーを登録し、登録したユーザーに対して適切な権限とロールを付与できます。

このタスクのガイドラインについては、「ユーザーの管理とデータベースのセキュリティ保護」を参照してください。

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

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

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

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

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

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

データベースのパフォーマンスの最適化は、DBAの日常的な作業の1つです。Oracle Databaseでは、各種ユーザー・グループへのリソースの割当てを制御できるよう、データベース・リソース管理機能が提供されています。

データベース・リソース・マネージャについては、「Oracle Database Resource Managerを使用したリソースの管理」を参照してください。

関連項目:

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

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

インストール後および定期的に、パッチをダウンロードしてインストールします。

パッチは単一の暫定パッチおよびパッチ・セット(またはパッチ・リリース)として使用できます。暫定パッチは個々のソフトウェアの不具合を修正するもので、使用中のインストールに必要な場合と必要ではない場合があります。パッチ・リリースは、すべての顧客に適用される不具合の修正の集合です。パッチ・リリースにはリリース番号が付けられています。たとえば、Oracle Database 12c リリース1 (12.1.0.1)をインストールした場合、最初のパッチ・リリースのリリース番号は12.1.0.2です。

関連項目:

パッチのダウンロードおよびインストールの手順は、使用中のプラットフォームの『Oracle Databaseインストレーション・ガイド』を参照してください。

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

Oracle Databaseのインストールを正しく構成し、チューニングし、パッチを適用してテストした後、そのインストールを他のホストにロール・アウトする必要がある場合があります。

ロール・アウトは、次のような場合に行います。

  • 複数の本番データベース・システムがある場合。

  • 本番システムと同じ開発システムやテスト・システムを作成する場合。

追加の各ホストでインストール、チューニングおよびパッチ適用を実行するかわりに、テスト済のOracle Databaseインストールを他のホストにクローニングすると、時間を節約でき、不整合をなくすことができます。次の2種類のクローニングを使用できます。

  • Oracleホームのクローニング: Oracleホーム・ディレクトリとサブディレクトリの構成済およびパッチ適用済バイナリのみが宛先のホストにコピーされ、新しい環境にあわせて調整されます。その後、このクローニングしたホームを使用してインスタンスを起動し、データベースを作成できます。

    Oracle Enterprise Manager Cloud Controlを使用すると、Oracleホームを1つ以上の宛先ホストにクローニングできます。提供されているスクリプトのセットとOracle Universal Installerを使用して、Oracleホームを手動でクローニングできます。

  • データベースのクローニング: データベース・ファイルや初期化パラメータなどのチューニング済のデータベースが、既存のOracleホーム(おそらくクローニングしたホーム)にクローニングされます。

    Cloud Controlを使用すると、Oracle Databaseインスタンスを既存のOracleホームにクローニングできます。

関連項目:

1.3 SQL文

Oracle Databaseとのやり取りは主にSQL文を発行して行います。

1.3.1 データベースに対するコマンドとSQLの発行

これらのSQL文やコマンドをOracle Databaseに発行する方法は複数あります。

  • SQL*Plusのコマンドライン・インタフェースを使用する直接的な方法

  • Oracle Enterprise Manager Database Express (EM Express)やOracle Enterprise Manager Cloud Control (Cloud Control)などのグラフィカル・ユーザー・インタフェース使用する間接的な方法

    これらのツールを使用すると、使いやすいグラフィカル・インタフェースを使用してデータベースを管理できます(SQL文やコマンドは、ツールが内部的に発行します)。

    詳細は、『Oracle Database 2日でデータベース管理者』およびツールのオンライン・ヘルプを参照してください。

  • SQL Developerを使用する直接的な方法

    開発者はSQL Developerを使用してデータベース・スキーマとアプリケーションの作成およびテストをしますが、SQL Developerはデータベースの管理作業にも使用できます。

    詳細は、『Oracle SQL Developerユーザーズ・ガイド』を参照してください。

Oracle Databaseでは、データベースの起動と停止およびデータベース設定の変更などのコマンドを含む、SQLのスーパーセットもサポートされています。

1.3.2 SQL*Plusについて

SQL*PlusはOracle Databaseへの主要なコマンドライン・インタフェースです。SQL*Plusは、データベースの起動と停止、データベース初期化パラメータの設定、ユーザーの作成と管理、データベース・オブジェクト(表や索引など)の作成と変更、データの挿入と更新、SQL問合せの実行などを行うために使用します。

SQL文とコマンドを発行する前に、データベースに接続する必要があります。SQL*Plusでは、ローカル接続またはリモート接続が可能です。ローカル接続とは、SQL*Plusを実行しているのと同じコンピュータで動作しているOracle Databaseに接続することです。リモート接続とは、リモート・コンピュータで動作しているOracle Databaseにネットワークを介して接続することです。そのようなデータベースはリモート・データベースと呼ばれます。Oracle Databaseの完全インストール、Oracle ClientのインストールまたはInstant Clientのインストールを行うと、ローカル・コンピュータにSQL*Plus実行可能ファイルが提供されます。

関連項目:

『SQL*Plusユーザーズ・ガイドおよびリファレンス』

1.3.3 SQL*Plusを使用したデータベースへの接続

SQL*Plusを使用して接続するときには、Oracleインスタンスに接続します。

1.3.3.1 SQL*Plusを使用したデータベースへの接続について

Oracle Databaseには次のコンポーネントが含まれています。プロセスとメモリーの集まりであるOracle Databaseインスタンス、およびユーザー・データとシステム・データを含むディスク・ファイルのセットです。

それぞれのインスタンスには、システムID(SID)とも呼ばれるインスタンスIDがあります。ホスト・コンピュータ上に複数のOracleインスタンスが存在し、各インスタンスがそれぞれのデータファイル・セットを持つ可能性があるため、接続先のインスタンスを特定する必要があります。ローカル接続の場合は、オペレーティング・システムの環境変数を設定してインスタンスを識別します。リモート接続では、ネットワーク・アドレスとデータベース・サービス名を指定して、インスタンスを識別します。ローカル接続とリモート接続のいずれの場合も、環境変数を設定して、SQL*Plusの実行可能ファイルをオペレーティング・システムが検出できるようにし、実行可能ファイルにサポート・ファイルとスクリプトへのパスを設定する必要があります。

関連項目:

Oracleインスタンスに関するバックグラウンド情報は、『Oracle Database概要』を参照してください。

1.3.3.2 手順1: コマンド・ウィンドウのオープン

プラットフォームで必要な処理を実行して、オペレーティング・システムのコマンドを入力できるウィンドウを開きます。

  • コマンド・ウィンドウを開きます。

1.3.3.3 手順2: オペレーティング・システムの環境変数の設定

プラットフォームによっては、SQL*Plusを起動する前に、環境変数を設定するか少なくとも正しく設定されていることを確認することが必要な場合があります。

たとえば、ほとんどのプラットフォームでは、ORACLE_SIDORACLE_HOMEを設定する必要があります。さらに、PATH環境変数にORACLE_HOME/binディレクトリを含めるように設定することもお薦めします。一部のプラットフォームでは、さらに環境変数の設定が必要な場合があります。

  • UNIXおよびLinuxプラットフォームでは、オペレーティング・システムのコマンドを入力して環境変数を設定します。

  • Windowsプラットフォームでは、Windowsレジストリ内のORACLE_HOMEORACLE_SIDにOracle Universal Installer(OUI)によって値が自動的に割り当てられます。

インストール時にデータベースを作成しなかった場合は、レジストリ内のORACLE_SIDがOUIによって設定されないため、後でデータベースを作成するときに、ORACLE_SID環境変数をコマンド・ウィンドウから設定する必要があります。

UNIXおよびLinuxのインストールには、oraenvcoraenvの2つのスクリプトが含まれています。これらのスクリプトを使用すると、環境変数を容易に設定できます。詳細は、管理者リファレンスfor UNIX Systemsを参照してください。

いずれのプラットフォームでも、異なるOracleホームを使用するインスタンス間で切り替える場合は、ORACLE_HOME環境変数を変更する必要があります。同じOracleホームを複数のインスタンスで共有している場合は、インスタンスを切り替えるときにORACLE_SIDのみを変更する必要があります。

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

例1-1 UNIXの環境変数の設定(Cシェル)

setenv ORACLE_SID orcl
setenv ORACLE_HOME /u01/app/oracle/product/12.1.0/db_1
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib

例1-2 Windowsの環境変数の設定

SET ORACLE_SID=orawin2

例1-2では、ORACLE_HOMEおよびORACLE_SIDがレジストリに設定されているが、別のインスタンスに接続するにはORACLE_SIDのレジストリ値を上書きする必要があると仮定しています。

Windowsでは、コマンド・プロンプト・ウィンドウで設定した環境変数値でレジストリの値が上書きされます。

1.3.3.4 手順3: SQL*Plusの起動

SQL*Plusを起動します。

  1. 次のいずれかを行います:
    • PATH環境変数にORACLE_HOME/binが含まれていることを確認します。

    • ORACLE_HOME/binディレクトリに移動します。

  2. 次のコマンドを入力します(UNIXとLinuxでは大/小文字が区別されます)。
    sqlplus /nolog

1.3.3.5 手順4: SQL*PlusのCONNECTコマンドの発行

最初にOracleインスタンスに接続するか別のユーザーとして再接続するには、SQL*PlusのCONNECTコマンドを発行します。

  • SQL*Plusで、CONNECTコマンドを発行します。

例1-3 ローカル・データベース・ユーザーへの接続

次の簡単な例では、ユーザーSYSTEMでローカル・データベースに接続します。SQL*Plusによって、ユーザーSYSTEMのパスワードの入力が求められます。

connect system

例1-4 SYSDBA権限でのローカル・データベース・ユーザーへの接続

次の例では、SYSDBA権限のユーザーSYSでローカル・データベースに接続します。SQL*Plusによって、ユーザーSYSのパスワードの入力が求められます。

connect sys as sysdba

ユーザーSYSとして接続するときには、AS SYSDBAを指定して接続する必要があります。

例1-5 SYSBACKUP権限でのローカル・データベース・ユーザーへの接続

次の例では、SYSBACKUP権限のユーザーSYSBACKUPでローカル・データベースに接続します。SQL*Plusによって、ユーザーSYSBACKUPのパスワードの入力が求められます。

connect sysbackup as sysbackup

ユーザーSYSBACKUPとして接続するときには、AS SYSBACKUPを指定して接続する必要があります。

例1-6 オペレーティング・システム認証によるSYSDBA権限でのローカルな接続

次の例では、オペレーティング・システム認証を使用してSYSDBA権限でローカルに接続します。

connect / as sysdba

例1-7 簡易接続構文による接続

この例では、簡易接続の構文を使用し、ユーザーsalesadminとして、ホストdbhost.example.comで動作するリモート・データベースに接続します。Oracle Netリスナー(リスナー)は、デフォルト・ポート(1521)でリスニングしています。データベース・サービスは、sales.example.comです。SQL*Plusによって、ユーザーsalesadminのパスワードの入力が求められます。

connect salesadmin@"dbhost.example.com/sales.example.com"

例1-8 サービス・ハンドラ・タイプを指定した簡易接続構文による接続

次の例は、サービス・ハンドラのタイプが指定されていること以外は例1-7と同じです。

connect salesadmin@"dbhost.example.com/sales.example.com:dedicated"

例1-9 デフォルト以外のリスナー・ポートを使用した簡易接続構文による接続

次の例は、デフォルト・ポート番号ではない1522でリスナーがリスニングしていること以外は例1-7と同じです。

connect salesadmin@"dbhost.example.com:1522/sales.example.com"

例1-10 ホストIPアドレスを使用した簡易接続構文による接続

この例は例1-7とほぼ同じで、ホスト名のかわりにホストのIPアドレスが使用されている点のみが異なります。

connect salesadmin@"192.0.2.5/sales.example.com"

例1-11 IPv6アドレスによる接続

この例では、IPv6アドレスを使用して接続します。角括弧で囲まれている点に注意してください。

connect salesadmin@"[2001:0DB8:0:0::200C:417A]/sales.example.com"

例1-12 インスタンスの指定による接続

次の例では、接続先のインスタンスを指定し、データベース・サービス名を省略します。デフォルトのデータベース・サービスが指定されている必要があり、それ以外の場合はエラーが生成されます。インスタンスのみを指定する場合はサービス・ハンドラのタイプを指定できないことに注意してください。

connect salesadmin@"dbhost.example.com//orcl"

例1-13 ネット・サービス名による接続

次の例では、ユーザーsalesadminとして、ネット・サービス名sales1によって指定されたデータベース・サービスにリモート接続します。SQL*Plusによって、ユーザーsalesadminのパスワードの入力が求められます。

connect salesadmin@sales1

例1-14 外部認証による接続

次の例では、外部認証を使用して、ネット・サービス名sales1によって指定されたデータベース・サービスにリモート接続します。

connect /@sales1

例1-15 SYSDBA権限と外部認証による接続

次の例では、外部認証を使用してSYSDBA権限で、ネット・サービス名sales1によって指定されたデータベース・サービスにリモート接続します。

connect /@sales1 as sysdba

例1-16 サービス名を使用したユーザーとしての接続

次の例では、ユーザーsalesadminとして、ネット・サービス名sales1によって指定されたデータベース・サービスにリモート接続します。データベース・セッションは、rev21エディションで開始されます。SQL*Plusによって、ユーザーsalesadminのパスワードの入力が求められます。

connect salesadmin@sales1 edition=rev21
1.3.3.5.1 SQL*PlusのCONNECTコマンドの構文

Oracleインスタンスに初めて接続するか、Oracleインスタンスに再接続するには、SQL*Plus CONNECTコマンドを使用します。

構文

CONN[ECT] [logon] [AS {SYSOPER | SYSDBA | SYSBACKUP | SYSDG | SYSKM | SYSRAC}]

logonの構文は、次のとおりです。

{username | /}[@connect_identifier] [edition={edition_name | DATABASE_DEFAULT}]

usernameを入力すると、パスワードの入力を求めるプロンプトがSQL*Plusによって表示されます。パスワードは入力しても画面には表示されません。

次の表で、CONNECTコマンドの構文の構成要素を説明します。

構文の構成要素 説明

/

接続要求の外部認証を呼び出します。このタイプの認証では、データベース・パスワードは使用しません。最も一般的な外部認証方式はオペレーティング・システム認証で、この方式では、特定のホスト・ユーザー・アカウントを使用してホスト・オペレーティング・システムにログインすることで、データベース・ユーザーの認証を行います。また、Oracleウォレットまたはネットワーク・サービスを使用して、外部認証を実行することもできます。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。「オペレーティング・システム認証の使用」も参照してください。

AS {SYSOPER | SYSDBA | SYSBACKUP | SYSDG | SYSKM | SYSRAC}

データベース・ユーザーが管理権限で接続していることを示します。この権限で接続できるのは、事前定義された特定の管理ユーザーまたはパスワード・ファイルに追加されているユーザーのみです。詳細は、「管理権限」を参照してください。

username

有効なデータベース・ユーザー名。usernameをデータ・ディクショナリと一致させて、ユーザー・パスワードの入力を求めることによって、データベースが接続要求を認証します。

connect_identifier (1)

リモート接続用のOracle Net接続識別子。正確な構文はOracle Netの構成によって異なります。省略すると、SQL*Plusはローカル・インスタンスへの接続を試みます。

一般的な接続識別子はnet service nameです。この識別子は、Oracle Net接続記述子(ネットワーク・アドレスとデータベース・サービス名)の別名です。通常、この別名はローカル・コンピュータのtnsnames.oraファイルで解決されますが、他の方法でも解決できます。

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

connect_identifier (2)

別の方法として、接続識別子で簡易接続の構文も使用できます。簡易接続では、クライアント(ローカル)コンピュータでOracle Net Servicesを設定しなくても、すぐにTCP/IP接続が可能になります。

接続識別子用の簡易接続の構文は次のとおりです(前後の二重引用符も必要です)。

"host[:port][/service_name][:server][/instance_name]"

ここで:

  • hostは、リモート・データベースがあるコンピュータのホスト名またはIPアドレスです。

    IPバージョン4(IPv4)およびIPバージョン6(IPv6)の両方のアドレスに対応しています。IPv6アドレスは大カッコで囲む必要があります。IPv6アドレスの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  • porthostのOracle Netリスナーがデータベース接続をリスニングするTCPポートです。省略すると1521になります。

  • service_nameは、接続先のデータベース・サービス名です。リモート・ホスト上のNet Servicesのリスナー構成でデフォルトのサービスが指定されている場合は省略可能です。デフォルトのサービスが構成されていない場合は、service_nameを指定する必要があります。通常、各データベースではグローバル・データベース名と同じ名前の標準サービスが提供され、グローバル・データベース名はDB_NAMEDB_DOMAIN初期化パラメータで次のように構成されます。

    DB_NAME.DB_DOMAIN

    DB_DOMAINがNULLの場合は、標準サービス名はDB_NAMEのみです。たとえば、DB_NAMEorclDB_DOMAINus.example.comの場合、標準サービス名はorcl.us.example.comです。

    詳細は、「データベース・サービスでのアプリケーション・ワークロードの管理」 を参照してください。

  • serverはサービス・ハンドラのタイプです。有効な値は、dedicatedsharedおよびpooledです。省略されている場合、サーバーのデフォルトのタイプはリスナーによって選択され、構成されている場合は共有サーバー、それ以外の場合は専用サーバーになります。

  • instance_nameは、接続先のインスタンスです。サービス名とインスタンス名の両方を指定することもできますが、通常、このような指定はOracle Real Application Clusters (Oracle RAC)環境でのみ行います。Oracle RAC環境または単一インスタンス環境で、インスタンス名のみを指定した場合は、デフォルトのデータベース・サービスに接続されます。listener.oraファイルにデフォルト・サービスが構成されていない場合は、エラーが生成されます。インスタンス名は、INSTANCE_NAME初期化パラメータから取得できます。

簡易接続の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

edition={edition_name | DATABASE_DEFAULT}

新規のデータベース・セッションを開始するエディションを指定します。エディションを指定した場合はそのエディションが必ず存在する必要があり、また、エディションに対するUSE権限が必要になります。この句が指定されていない場合は、セッションではデータベースのデフォルトのエディションが使用されます。

エディションおよびエディションに基づく再定義の詳細は、『Oracle Database開発ガイド』を参照してください。

関連項目:

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

特定のリリースを完全に識別するには、5つの番号が必要です。

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

1.4.1 リリース番号の書式

Oracle Databaseリリース番号は、特定の形式に従います。

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

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

図1-1の説明が続きます
「図1-1 Oracle Databaseのリリース番号の例」の説明

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

最初の数字は、最も一般的な識別子です。ソフトウェアの主要な新バージョン(大きな新機能など)を表します。

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

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

1.4.1.3 Fusion Middlewareリリース番号

3番目の数字には、Oracle Fusion Middlewareのリリース・レベルが反映されます。

1.4.1.4 コンポーネント固有のリリース番号

4番目の数字では、コンポーネント固有のリリース・レベルが識別されます。コンポーネントが異なると、ここに表示される数値も異なることがあります。これは、コンポーネントのパッチ・セットや仮リリースなどに基づきます。

1.4.1.5 プラットフォーム固有のリリース番号

5番目の数字では、プラットフォーム固有のリリースが識別されます。通常、これはパッチ・セットです。異なるプラットフォームに同等のパッチ・セットが必要な場合、この数字は影響を受けるプラットフォーム間で同じになります。

1.4.2 現行のリリース番号のチェック

現在インストールされているOracle Databaseのリリースを識別し、使用している他のデータベース・コンポーネントのリリース・レベルを確認するには、データ・ディクショナリ・ビューPRODUCT_COMPONENT_VERSIONを問い合せます。

問合せの例を次に示します。(コンポーネント・レベルの情報は、V$VERSIONビューを問い合せて確認することもできます。)他の製品のリリース・レベルは、データベース・サーバーと関係なく増加する場合があります。

COL PRODUCT FORMAT A40
COL VERSION FORMAT A15
COL STATUS FORMAT A15 
SELECT * FROM PRODUCT_COMPONENT_VERSION;

PRODUCT                                  VERSION     STATUS
---------------------------------------- ----------- -----------
NLSRTL                                   12.1.0.0.1  Production
Oracle Database 12c Enterprise Edition   12.1.0.0.1  Production
PL/SQL                                   12.1.0.0.1  Production
...

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

1.5 データベース管理者のセキュリティと権限の概要

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

1.5.1 データベース管理者のオペレーティング・システム・アカウント

データベースに対する管理業務の多くを実行するには、オペレーティング・システム・コマンドを実行できる必要があります。

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

関連項目:

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

1.5.2 管理ユーザー・アカウント

Oracle Databaseでは、管理権限に関連付けられている複数の管理ユーザー・アカウントが用意されています。

1.5.2.1 管理ユーザー・アカウントについて

管理ユーザー・アカウントには、CREATE ANY TABLE権限やALTER SESSION権限、SYSスキーマが所有するパッケージのEXECUTE権限のような、データベースの領域の管理に必要となる特別な権限があります。

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

  • SYS

  • SYSTEM

  • SYSBACKUP

  • SYSDG

  • SYSKM

  • SYSRAC

注意:

Oracle Universal Installer(OUI)およびDatabase Configuration Assistant(DBCA)では、SYSおよびSYSTEMのパスワードの入力が要求され、それぞれデフォルトのパスワードである"change_on_install"または"manager"は受け入れられません。

データベースを手動で作成する場合は、これらのデフォルト・パスワードを使用しないで、SYSSYSTEMのパスワードをデータベースの作成時に指定することをお薦めします。詳細は、「データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定」を参照してください。

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

注意:

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

1.5.2.2 SYS

Oracle Databaseを作成すると、すべての権限を持つユーザーSYSが自動的に作成されます。

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

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

1.5.2.3 SYSTEM

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

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

1.5.2.4 SYSBACKUP、SYSDG、SYSKMおよびSYSRAC

Oracle Databaseを作成すると、データベース管理者の業務の分離を容易にするために、SYSBACKUPSYSDGSYSKMおよびSYSRACの各ユーザーが自動的に作成されます。

これらのユーザーは次の方法で業務を分離します。

  • SYSBACKUPによって、RMANまたはSQL*PlusからのOracle Recovery Manager (RMAN)バックアップおよびリカバリ操作が容易になります。

  • SYSDGによって、Data Guardの操作が容易になります。ユーザーは、Data Guard BrokerまたはDGMGRLコマンドライン・インタフェースを使用して操作を実行できます。

  • SYSKMによって、透過的データ暗号化キーストア操作が容易になります。

  • SYSRACによって、SRVCTLなどのOracle RACユーティリティにかわってClusterwareエージェントでデータベースに接続することで、Oracle Real Application Clusters (Oracle RAC)操作が容易になります

    SYSRAC管理権限はデータベース・ユーザーに付与できず、パスワード・ファイルでサポートされません。SYSRAC管理権限は、オペレーティング・システム認証を使用してデータベースに接続するためにOracle ClusterwareのOracleエージェントによってのみ使用されます。

これらの各アカウントには、新しい管理権限のために指定された、同じ名前を持つ1つのユーザーがあります。具体的には、SYSBACKUPアカウントには、SYSBACKUP管理権限に対して指定されたユーザーがあります。SYSDGアカウントには、SYSDG管理権限に対して指定されたユーザーがあります。SYSKMアカウントには、SYSKM管理権限に対して指定されたユーザーがあります。

ユーザーを作成し、そのユーザーに、日常的な管理タスクを実施するときに使用する、適切な管理権限を付与します。これにより、各ユーザー・アカウントを個別に管理し、各ユーザー・アカウントに個別のパスワードを割り当てることができます。SYSBACKUPSYSDGまたはSYSKMユーザー・アカウントはこれらの目的のために使用しないでください。これらのアカウントはデフォルトでロックされており、ロックされたままにしておく必要があります。

これらの管理権限のいずれかを使用するには、接続するときにAS SYSBACKUPAS SYSDGまたはAS SYSKMを指定して権限を使用する必要があります。認証が成功すると、ユーザーは管理権限が有効になっているセッションに接続されます。この場合、セッション・ユーザーは対応する管理ユーザー・アカウントになります。たとえば、ユーザーbradminAS SYSBACKUP管理権限で接続した場合、セッション・ユーザーはSYSBACKUPになります。

注意:

SYSBACKUPSYSDGSYSKMおよびSYSRACユーザー・アカウントは削除できません。

関連項目:

1.5.2.5 DBAロール

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

注意:

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

関連項目:

1.6 データベース管理者の認証

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

1.6.1 管理権限

管理者が基本的なデータベース操作を実行するために必要な管理権限は、特別なシステム権限によって付与されます。

これらの権限を次に示します。

  • SYSDBA

  • SYSOPER

  • SYSBACKUP

  • SYSDG

  • SYSKM

  • SYSRAC

SYSRAC権限を除き、必要な認可レベルに応じてこれらの権限がユーザーに付与されます。SYSRAC権限は、オペレーティング・システム認証を使用してデータベースに接続するためにOracle ClusterwareのOracleエージェントによってのみ使用されるため、ユーザーに付与できません。

Oracle Database 12cリリース1 (12.1)からは、SYSBACKUPSYSDGおよびSYSKM管理権限を使用できるようになりました。Oracle Database 12cリリース2 (12.2)からは、SYSRAC管理権限を使用できます。それぞれの新しい管理権限によって、管理の各領域におけるタスクを完了するのに必要な最小限の権限が付与されます。新しい管理権限を使用すると、数多くの一般的なタスクに対してSYSDBA管理権限を付与することを回避できます。

注意:

これらの管理権限を使用すると、データベースがオープンしていなくてもデータベース・インスタンスにアクセスできます。これらの権限の制御は、完全にデータベース機能の範囲外にあります。これらの権限を持つデータベース管理者を認証する方式には、オペレーティング・システム(OS)認証、パスワード・ファイルおよびディレクトリベースの認証サービスによる強力な認証があります。

また、これらの権限は、他の方法では権限を付与できない特定のデータベース操作を実行可能にする接続のタイプと考えることもできます。たとえば、SYSDBA権限がある場合はCONNECTコマンドのAS SYSDBA句を指定してデータベースに接続し、STARTUPおよびSHUTDOWN操作を実行できます。「データベース管理者の認証方法」を参照してください。

1.6.2 管理権限で許可されている操作

各管理権限は、操作の特定のセットを認可します。

次の表に、各管理権限で許可されている操作を示します。

管理権限 許可される操作

SYSDBA

  • STARTUPおよびSHUTDOWN操作の実行

  • ALTER DATABASE: オープン、マウント、バックアップまたはキャラクタ・セットの変更

  • CREATE DATABASE

  • DROP DATABASE

  • CREATE SPFILE

  • ALTER DATABASE ARCHIVELOG

  • ALTER DATABASE RECOVER

  • RESTRICTED SESSION権限を含む

この管理権限を使用すると、ユーザー・データの表示を含め、ほとんどの操作を実行できます。これは最も強力な管理権限です。

SYSOPER

  • STARTUPおよびSHUTDOWN操作の実行

  • CREATE SPFILE

  • ALTER DATABASE: オープン、マウントまたはバックアップ

  • ALTER DATABASE ARCHIVELOG

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

  • RESTRICTED SESSION権限を含む

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

SYSBACKUP

この権限を使用すると、Oracle Recovery Manager (RMAN)またはSQL*Plusからバックアップおよびリカバリ操作を実行できます。

この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

SYSDG

この権限を使用すると、Data Guard操作を実行できます。Data Guard BrokerまたはDGMGRLコマンドライン・インタフェースでこの権限を使用できます。

この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

SYSKM

この権限を使用すると、透過的データ暗号化キーストア操作を実行できます。

この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

SYSRAC

この権限により、Oracle ClusterwareのOracleエージェントはOracle Real Application Clusters (Oracle RAC)操作を実行できます。

この管理権限で許可される操作の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

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

管理権限で接続すると、通常ユーザー名に関連付けられていない現行スキーマで接続が確立されます。SYSDBAの場合、現行スキーマはSYSです。SYSOPERの場合、現行スキーマはPUBLICです。SYSBACKUPSYSDGおよびSYSRACの場合、現行スキーマは名前解決のためのSYSです。ただし、SYSKMの現行スキーマはSYSKMです。

また、管理権限で接続すると、特定のセッション・ユーザーを使用して接続が確立されます。SYSDBAとして接続した場合、セッション・ユーザーはSYSとなります。SYSOPERの場合、セッション・ユーザーはPUBLICとなります。SYSBACKUPSYSDGSYSKMSYSRACの場合、セッション・ユーザーはそれぞれSYSBACKUPSYSDGSYSKMSYSRACとなります。

関連項目:

例1-17 AS SYSDBA接続時の現行スキーマ

この例では、ユーザーがSYSDBA管理権限で接続したときに、他のスキーマ(SYS)に割り当てられることを説明します。SYSDBA管理権限を付与されているサンプル・ユーザーmydbaが、次のコマンドおよび文を発行したと想定します。

CONNECT mydba
CREATE TABLE admin_test(name VARCHAR2(20));

後で、ユーザーmydbaが次のコマンドおよび文を発行します。

CONNECT mydba AS SYSDBA
SELECT * FROM admin_test;

ユーザーmydbaは次のエラー・メッセージを受け取ります。

ORA-00942: table or view does not exist 

SYSDBAで接続しているため、ユーザーmydbaは現在SYSスキーマを参照していますが、表はmydbaスキーマに作成されています。

例1-18 AS SYSBACKUP接続時の現行スキーマおよびセッション・ユーザー

この例では、ユーザーがSYSBACKUP管理権限で接続したときに、他のスキーマ(SYS)および他のセッション・ユーザー(SYSBACKUP)に割り当てられることを説明します。SYSBACKUP管理権限を付与されているサンプル・ユーザーmydbaが、次のコマンドおよび文を発行したと想定します。

CONNECT mydba AS SYSBACKUP

SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM DUAL;

SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
--------------------------------------------------------------------------------
SYS

SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL;

SYS_CONTEXT('USERENV','SESSION_USER')
--------------------------------------------------------------------------------
SYSBACKUP

1.6.3 データベース管理者の認証方法

データベース管理者は、アカウント・パスワード、オペレーティング・システム(OS)認証、パスワード・ファイル、またはOracle Internet Directoryなどのディレクトリベースの認証サービスを使用した強力な認証によって認証できます。

1.6.3.1 データベース管理者の認証方法について

データベース管理者を認証する方法は複数あります。

Oracleデータベースは、他のユーザーと同様に(アカウント・パスワードを使用して)、データ・ディクショナリを介してデータベース管理者を認証できます。データベース・パスワードでは、大/小文字が区別されることに注意してください。データベース・パスワードの大/小文字区別の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

通常のデータ・ディクショナリ認証に加えて、SYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM権限を持つデータベース管理者の認証には、次の方式を使用できます。

  • オペレーティング・システム(OS)認証

  • パスワード・ファイル(KerberosおよびSSL認証サービスを含む)

  • Oracle Internet Directoryなどのディレクトリ・ベースの認証サービスによる強力な認証

注意:

SYSRAC権限は、Oracle ClusterwareのOracleエージェントによるOS認証のみ許可します。パスワード・ファイルおよび強力な認証は、SYSRAC権限では使用できません。

これらの方式は、データベースが起動していない場合や使用できない場合にデータベース管理者を認証する際に必要になります。(データベースが使用可能な場合にも使用できます。)

ここからは、オペレーティング・システム認証とパスワード・ファイル認証について説明します。ディレクトリベースの認証を使用してデータベース管理者を認証する方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

注意:

オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。オペレーティング・システム認証の要件を満たしている場合は、パスワード・ファイルを使用している場合でもオペレーティング・システム認証によって認証されます。

データベースと同じシステム上でデータベースをローカルで管理するか、または単一のリモート・クライアントから複数の異なるデータベースを管理するかによって、選択が決まります。次の図は、データベース管理者用に選択できる認証方式を示しています。

図1-2 データベース管理者の認証方式

図1-2の説明が続きます。
「図1-2 データベース管理者の認証方式」の説明

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

関連項目:

  • ディレクトリベースの認証を使用してデータベース管理者を認証する方法の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

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

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

セキュリティで保護されていない接続で、権限を持つユーザーとしてOracle Databaseに接続するには、パスワード・ファイルによる認証を受ける必要があります。

パスワード・ファイル認証を使用すると、SYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM管理権限を付与されたデータベース・ユーザー名を追跡管理するために、データベースでは、パスワード・ファイルを使用します。この認証方式については、「パスワード・ファイル認証の使用」を参照してください。

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

ローカル接続またはセキュリティで保護されたリモート接続で、権限を持つユーザーとしてOracle Databaseに接続できます。

接続には、次の2つの方法があります。

  • データベースにパスワード・ファイルがあり、ユーザーがシステム権限を付与されている場合は、パスワード・ファイルを使用して接続し、認証を受けることができます。

  • サーバーでパスワード・ファイルを使用していない場合や、ユーザーにシステム権限が付与されていないためにパスワード・ファイルにアクセスできない場合は、オペレーティング・システム認証を使用できます。ほとんどのオペレーティング・システムでは、データベース管理者の認証には、データベース管理者のオペレーティング・システム・ユーザー名を特別なグループに配置する必要があります。

    たとえば、OSDBAグループのユーザーには、SYSDBA管理権限が付与されます。同様に、OSOPERグループはユーザーにSYSOPER管理権限を付与するために使用され、OSBACKUPDBAグループはユーザーにSYSBACKUP管理権限を付与するために使用され、OSDGDBAグループはユーザーにSYSDG管理権限を付与するために使用され、OSKMDBAグループはユーザーにSYSKM管理権限を付与するために使用され、OSRACDBAグループはユーザーにSYSRAC管理権限を付与するために使用されます。

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

特別なオペレーティング・システム・グループにメンバーシップがあると、DBAは、データベースのユーザー名とパスワードを使用するかわりに、オペレーティング・システムを経由してデータベースに対する認証を行うことができます。このことはオペレーティング・システム認証と呼ばれます。

1.6.4.1 オペレーティング・システム・グループ

オペレーティング・システム・グループは、データベースのインストール・プロセスで作成され、特定の名前が割り当てられます。

オペレーティング・システム・グループのデフォルトの名前は、次の表に示すようにオペレーティング・システムによって異なります。

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

OSDBA

dba

ORA_DBA (すべてのOracleホーム)

ORA_HOMENAME_DBA (特定のOracleホームごと)

OSOPER

oper

ORA_OPER (すべてのOracleホーム)

ORA_HOMENAME_OPER (特定のOracleホームごと)

OSBACKUPDBA

backupdba

ORA_HOMENAME_SYSBACKUP

OSDGDBA

dgdba

ORA_HOMENAME_SYSDG

OSKMDBA

kmdba

ORA_HOMENAME_SYSKM

OSRACDBA

racdba

ORA_HOMENAME_SYSRAC

Windowsユーザー・グループ名では、HOMENAMEをOracleホーム名で置き換えます。

Oracle Universal Installerではデフォルトの名前が使用されますが、UNIXまたはLinuxではこの名前は上書きできます。UNIXまたはLinuxで、上書きする理由の1つは、異なるOracleホームの同じホスト・コンピュータ上で複数のインスタンスが実行されている場合です。各インスタンスのプリンシパルDBAを異なるユーザーにする場合は、各インスタンスに対して異なるグループを作成することによって、各インスタンスのセキュリティを高めることができます。

たとえば、異なるOracleホームの同じUNIXまたはLinuxホスト上の2つのインスタンスについて、1つ目のインスタンスのOSDBAグループの名前をdba1とし、2つ目のインスタンスのOSDBAの名前をdba2にできます。1人目のDBAはdba1のみのメンバーとし、2人目のDBAはdba2のみのメンバーとします。これにより、オペレーティング・システム認証を使用すると、各DBAは割り当てられたインスタンスに対してのみ接続できます。

Windowsでは、デフォルトのユーザー・グループ名は変更できません。HOMENAMEプレースホルダを使用すると、同じホストWindowsコンピュータ上で複数のインスタンスが実行されている場合に異なるユーザー・グループ名を指定できます。

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

  • データベースへの接続時に、OSDBAグループに属するユーザーがAS SYSDBAを指定した場合、そのユーザーは、SYSDBA管理権限でデータベースに接続します。

  • データベースへの接続時に、OSOPERグループに属するユーザーがAS SYSOPERを指定した場合、そのユーザーは、SYSOPER管理権限でデータベースに接続します。

  • データベースへの接続時に、OSBACKUPDBAグループに属するユーザーがAS SYSBACKUPを指定した場合、そのユーザーは、SYSBACKUP管理権限でデータベースに接続します。

  • データベースへの接続時に、OSDGDBAグループに属するユーザーがAS SYSDGを指定した場合、そのユーザーは、SYSDG管理権限でデータベースに接続します。

  • データベースへの接続時に、OSKMDBAグループに属するユーザーがAS SYSKMを指定した場合、そのユーザーは、SYSKM管理権限でデータベースに接続します。

  • データベースへの接続時に、OSRACDBAグループに属するユーザーがAS SYSRACを指定した場合、そのユーザーは、SYSRAC管理権限でデータベースに接続します。

  • これらのオペレーティング・システム・グループのいずれにも属していないユーザーがSYSDBASYSOPERSYSBACKUPSYSDGSYSKMまたはSYSRACとして接続しようとした場合、CONNECTコマンドを発行するとエラーが発生します。

関連項目:

OSDBAおよびOSOPERグループの作成方法の詳細は、使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。

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

DBAは、データベース・ユーザー名およびパスワード以外のオペレーティング・システムを通じてデータベースに対して認証できます。

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

  1. ユーザーのオペレーティング・システム・アカウントを作成します。
  2. 適切なオペレーティング・システムで定義されたグループにアカウントを追加します。

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

ユーザーは、オペレーティング・システム認証を使用してデータベースに接続できます。

オペレーティング・システム認証は、次のいずれかのアクションを実行することで使用できます。

  • 次のどちらかのSQL*Plusコマンドを入力すると、ユーザーが管理ユーザーとして認証され、ローカル・データベースに接続できます。
    CONNECT / AS SYSDBA
    CONNECT / AS SYSOPER
    CONNECT / AS SYSBACKUP
    CONNECT / AS SYSDG
    CONNECT / AS SYSKM
    
  • セキュリティで保護された接続を介したリモート・オペレーティング・システム認証がサポートされているのは、Windowsプラットフォームのみです。リモート・データベースのネット・サービス名を指定する必要があります。
    CONNECT /@net_service_name AS SYSDBA
    CONNECT /@net_service_name AS SYSOPER
    CONNECT /@net_service_name AS SYSBACKUP
    CONNECT /@net_service_name AS SYSDG
    CONNECT /@net_service_name AS SYSKM
    

    クライアント・コンピュータとデータベース・ホスト・コンピュータの両方がWindowsドメイン上にあることが必要です。

注意:

SYSRAC管理権限は、オペレーティング・システム認証を使用してデータベースに接続するためにOracle ClusterwareのOracleエージェントによってのみ使用されます。

関連項目:

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

Oracle DatabaseインスタンスおよびOracle Automatic Storage Management(Oracle ASM)インスタンスのパスワード・ファイル認証を使用できます。Oracle Databaseのパスワード・ファイルはデータベース・パスワード・ファイルと呼ばれ、Oracle ASMのパスワード・ファイルはOracle ASMパスワード・ファイルと呼ばれます。

関連項目:

Oracle ASMパスワード・ファイルの作成の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

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

パスワード・ファイル認証を準備するには、パスワード・ファイルを作成し、REMOTE_LOGIN_PASSWORDFILE初期化パラメータを設定し、権限を付与する必要があります。

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

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

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

    注意:

    • Oracle Databaseのインストール・プロセスでDatabase Configuration Assistant (DBCA)を起動した場合は、DBCAによってパスワード・ファイルが作成されます。

    • パスワード・ファイルをFORMAT=LEGACY引数を使用して作成した場合、管理権限SYSBACKUPSYSDGおよびSYSKMはパスワード・ファイルでサポートされません。

    • FORMATコマンドライン引数のデフォルトは12.2です。

    • 管理権限SYSRACは、パスワード・ファイルではサポートされません。

    • 管理権限は、ファイルがFORMAT=12.2引数で作成された場合にのみ外部ユーザーに付与できます。FORMAT=12.2では、管理ユーザーのSSLおよびKerberos認証も有効になります。

    • Oracle ASMディスク・グループに格納されるデータベース・パスワード・ファイルを作成する場合、それを複数のOracle RACデータベース・インスタンスで共有できます。パスワード・ファイルは、各Oracle RACデータベース・インスタンスには複製されません。

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

    注意:

    REMOTE_LOGIN_PASSWORDFILEは静的な初期化パラメータであるため、変更するにはデータベースを再起動する必要があります。

  3. ユーザーSYS(または管理権限を持つ他のユーザー)としてデータベースに接続します。
  4. データベース内にユーザーが存在しない場合は、ユーザーを作成し、パスワードを割り当てます。

    データベース・パスワードでは、大/小文字が区別されることに注意してください。データベース・パスワードの大/小文字区別の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  5. ユーザーに、SYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM管理権限を付与します。次に例を示します。
    GRANT SYSDBA to mydba;
    

    この文はパスワード・ファイルにユーザーを追加し、これにより接続AS SYSDBAAS SYSOPERAS SYSBACKUPAS SYSDGまたはAS SYSKMを可能にします。

    関連項目:

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

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

パスワード・ファイル認証を使用すると、SQL*PlusのCONNECTコマンドを使用することによって、管理ユーザーが認証され、ローカルまたはリモート・データベースに接続できます。デフォルトでは、パスワードは大/小文字が区別されます。

パスワード・ファイル認証を使用して接続する手順:

  • SQL*Plusでは、有効なユーザー名とパスワードおよびAS SYSDBAAS SYSOPERAS SYSBACKUPAS SYSDGまたはAS SYSKM句を使用してCONNECTコマンドを実行します。

たとえば、ユーザーmydbaSYSDBA権限を付与されている場合、次のコマンドで接続できます。

CONNECT mydba AS SYSDBA

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

CONNECT mydba AS SYSOPER

注意:

オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。具体的には、ユーザーが適切なオペレーティング・システム・グループ(OSDBAやOSOPERなど)のメンバーであるときに、適切な句(AS SYSDBAなど)を使用して接続すると、指定したユーザー名/パスワードにかかわらず、関連付けられている管理権限で接続されます。

ユーザーがいずれのオペレーティング・システム・グループにも属しておらず、パスワード・ファイルにも指定されていない場合、句を使用して接続しようとすると失敗します。

関連項目:

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

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

関連項目:

1.7.1 ORAPWD構文およびコマンドライン引数の説明

ORAPWDコマンドでは、パスワード・ファイルを作成およびメンテナンスします。

ORAPWDコマンドの構文は次のとおりです。

orapwd FILE=filename [FORCE={y|n}] [ASM={y|n}] [DBUNIQUENAME=dbname] 
[FORMAT={12.2|12}] [SYS={Y|password|external('sys-external-name')}] 
[SYSBACKUP={password|external('sysbackup-external-name')}] 
[SYSDG={password|external('sysdg-external-name')}}] 
[SYSKM={password|external('syskm-external-name')}}] 
[DELETE={y|n}] [INPUT_FILE=input-fname]
orapwd DESCRIBE FILE=filename

次の表にコマンドの引数がまとめられています。

引数 説明

FILE

DESCRIBE引数が含まれていない場合は、新しいパスワード・ファイルに割り当てる名前を指定します。完全なパスを指定する必要があります。ファイル名のみを指定した場合、ファイルはカレント・ディレクトリに書き込まれます。

DESCRIBE引数が含まれている場合は、既存のパスワード・ファイルの名前を指定します。

FORCE

(オプション)yの場合は、既存のパスワード・ファイルが上書きされます。

ASM

(オプション) yの場合は、Oracle ASMディスク・グループにOracle ASMパスワード・ファイルを作成します。

デフォルトのnの場合、オペレーティング・システムのファイル・システムにパスワード・ファイルを作成します。DBUNIQUENAME引数を指定した場合、パスワード・ファイルはデータベース・パスワード・ファイルになります。DBUNIQUENAME引数を指定しない場合、パスワード・ファイルはデータベース・パスワード・ファイルまたはOracle ASMパスワード・ファイルにできます。

DBUNIQUENAME

ASMディスク・グループのみに存在するデータベース・パスワード・ファイルを識別するために使用される一意のデータベース名です。データベース・パスワード・ファイルがOracle ASMディスク・グループに格納される場合、この引数は必須です。Oracle ASMパスワード・ファイルがASM引数をyに設定することによって作成される場合、この引数は無視されます。

FORMAT

(オプション)次のいずれかの値を指定します。

  • 12.2 (デフォルト)では、パスワード・ファイルが12.2形式で作成されます。この形式では、外部ユーザーへの管理権限の付与がサポートされ、管理ユーザーに対してSSLおよびKerberos認証が有効化されます。

  • 12では、パスワード・ファイルがOracle Database 12c形式で作成されます。この形式では、SYSBACKUPSYSDGおよびSYSKM管理権限がサポートされます。

SYS

(オプション)この引数は、Ypasswordまたはexternal('sys-external-name')に設定できます。

パスワード・ファイル・エントリを移行するためにSYS=YおよびINPUT_FILEが指定されている場合、SYS管理ユーザーの新しいパスワードの入力を求められます。

passwordの場合は、SYS管理ユーザーのパスワードの入力を求められます。

external('sys-external-name')の場合は、sys-external-nameSYS管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

SYSBACKUP

(オプション) この引数は、passwordexternal('sysbackup-external-name')yまたはnに設定できます。

passwordの場合は、SYSBACKUP管理ユーザーのパスワードの入力を求められます。

external('sysbackup-external-name')の場合は、sysbackup-external-nameSYSBACKUP管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

SYSDG

(オプション) この引数は、passwordexternal('sysdg-external-name')yまたはnに設定できます。

passwordの場合は、SYSDG管理ユーザーのパスワードの入力を求められます。

external('sysdg-external-name')の場合は、sysdg-external-nameSYSDG管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

SYSKM

(オプション) この引数は、passwordexternal('syskm-external-name')yまたはnに設定できます。

passwordの場合は、SYSKM管理ユーザーのパスワードの入力を求められます。

external('syskm-external-name')の場合は、syskm-external-nameSYSKM管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

yの場合は、パスワード・ファイルにSYSKMエントリを作成します。パスワードの入力を求められます。パスワードは、作成されたパスワード・ファイルに保存されます。

nの場合、パスワード・ファイルにSYSKMエントリは作成されません。

注意: SYSKM引数のyおよびn値は、Oracle Database 12cリリース2 (12.2.0.1)で非推奨になり、将来のリリースでサポートされなくなる可能性があります。

DELETE

(オプション) yの場合は、指定されたパスワード・ファイルを削除します。

n (デフォルト)の場合は、指定されたパスワード・ファイルを作成します。

INPUT_FILE

(オプション)入力パスワード・ファイルの名前。ORAPWDによって、入力ファイルのエントリが新しいパスワード・ファイルに移行されます。

この引数は、パスワード・ファイルをある形式から別の形式に変換するために使用できます。たとえば、12形式から12.2形式に変換できます。

また、この引数を使用して、SYS管理ユーザーのパスワードをリセットできます。

ORAPWDは、Oracle ASMディスク・グループに格納されている入力パスワードを移行することはできません。

DESCRIBE

指定したパスワード・ファイルのプロパティを表示します(FORMAT値(12.2または12)を含む)。

等号(=)文字の前後にスペースは使用できません。

次の項では、一部のORAPWDコマンドライン引数について詳しく説明します。

FILE

この引数には、作成するパスワード・ファイルの名前を設定します。これは必須の引数です。

Oracle ASMディスク・グループにおける場所を指定した場合、データベース・パスワード・ファイルはクラスタ内のノード間で自動的に共有されます。Oracle ASMディスク・グループを使用してパスワード・ファイルを格納し、Oracle Managed Filesを使用しない場合は、フルパスを含むパスワード・ファイルの名前を指定する必要があります。Oracle Managed Filesを使用する場合、フルパス名は必要ありません。

Oracle ASMディスク・グループにおける場所を指定しない場合、パスワード・ファイルに必要なファイル名はオペレーティング・システムによって異なります。一部のオペレーティング・システムでは、パスワード・ファイルを特定の形式で作成して特定のディレクトリに格納する必要があります。また、環境変数を使用してパスワード・ファイルの名前と位置を指定できるオペレーティング・システムもあります。

次の表は、UNIX、LinuxおよびWindowsプラットフォームにおいてパスワード・ファイルに必要な名前と場所を示しています。その他のプラットフォームについては、プラットフォーム固有のマニュアルを参照してください。

プラットフォーム 必要な名前 必要な場所

UNIXおよびLinux

orapwORACLE_SID

ORACLE_HOME/dbs

Windows

PWDORACLE_SID.ora

ORACLE_HOME\database

たとえば、SIDがorcldwのデータベース・インスタンスの場合、パスワード・ファイルの名前は、Linuxではorapworcldwとなり、WindowsではPWDorcldw.oraとなります。

Oracle Real Application Clusters (Oracle RAC)環境で、環境変数がパスワード・ファイルのパスに設定される必要があるプラットフォームでは、各インスタンスの環境変数は同じパスワード・ファイルを指し示す必要があります。

ポリシー管理のOracle RACデータベースまたは形式db_unique_name_n (nは数字)のORACLE_SIDを使用したOracle RAC One Nodeデータベースの場合、ORACLE_HOME/dbs/orapwsid_prefixまたはORACLE_HOME\database\PWDsid_prefix.oraを使用して、パスワード・ファイルが最初に検索されます。パスワード・ファイルの検索には、sid_prefix (データベース名の最初の8文字)が使用されます。

注意:

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

FORCE

この引数をyに設定すると、既存のパスワード・ファイルを上書きできます。同じ名前のパスワード・ファイルがすでに存在している場合に、この引数を省略するかまたはnに設定すると、エラーが返されます。

ASM

この引数をyに設定すると、ORAPWDによりOracle ASMパスワード・ファイルが作成されます。FILE引数にはOracle ASMディスク・グループ内の場所を指定する必要があります。

この引数をn (デフォルト)に設定すると、ORAPWDによりパスワード・ファイルが作成されます。FILE引数にはOracle ASMディスク・グループ内の場所、またはオペレーティング・システムのファイル・システム内の場所を指定できます。DBUNIQUENAME引数を指定した場合、パスワード・ファイルはデータベース・パスワード・ファイルになります。DBUNIQUENAME引数を指定しない場合、パスワード・ファイルはデータベース・パスワード・ファイルまたはOracle ASMパスワード・ファイルにできます。

関連項目:

Oracle ASMパスワード・ファイルの作成およびメンテナンスの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。

DBUNIQUENAME

この引数には、Oracle ASMディスク・グループに作成するデータベース・パスワード・ファイルの一意のデータベース名を設定します。データベース・パスワード・ファイルの場所で更新するデータベース・リソースを識別します。

データベース・パスワード・ファイルがオペレーティング・システムのファイル・システムに作成される場合、この引数は必要ありません。

Oracle ASMパスワード・ファイルがASM引数をyに設定することによって作成される場合、この引数は無視されます。

FORMAT

この引数が12.2に設定されている場合(デフォルト)、ORAPWDは12.2形式のデータベース・パスワード・ファイルを作成します。パスワード・ファイルで外部ユーザーへの管理権限の付与と管理ユーザーに対するSSLおよびKerberos認証をサポートするには、12.2形式が必要です。ユーザーに割り当てられるパスワード・プロファイルは、管理ユーザーにも強制されます。

この引数を12に設定すると、ORAPWDによりデータベース・パスワード・ファイルがOracle Database 12c形式で作成されます。Oracle Database 12c形式は、パスワード・ファイルでSYSBACKUPSYSDGおよびSYSKM管理権限をサポートするために必要です。

この引数をlegacyに設定すると、ORAPWDによりOracle Database 12c以前の形式でデータベース・パスワード・ファイルが作成されます。パスワード・ファイルではSYSDBAおよびSYSOPER管理権限はサポートされますが、SYSBACKUPSYSDGおよびSYSKM管理権限はサポートされません。

SYS

パスワード・ファイル・エントリを移行するためにSYS=YおよびINPUT_FILEが指定されている場合、SYS管理ユーザーの新しいパスワードの入力を求められます。

passwordの場合は、SYS管理ユーザーのパスワードの入力を求められます。

external('sys-external-name')の場合は、sys-external-nameSYS管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

SYSBACKUP

passwordの場合は、SYSBACKUP管理ユーザーのパスワードの入力を求められます。

external('sysbackup-external-name')の場合は、sysbackup-external-nameSYSDG管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

SYSDG

passwordの場合は、SYSDG管理ユーザーのパスワードの入力を求められます。

external('sysdg-external-name')の場合は、sysdg-external-nameSYSDG管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

SYSKM

passwordの場合は、SYSKM管理ユーザーのパスワードの入力を求められます。

external('syskm-external-name')の場合は、syskm-external-nameSYSKM管理ユーザーのSSLまたはKerberos認証の外部名で置換します。

DELETE

この引数をyに設定すると、ORAPWDにより指定したパスワード・ファイルが削除されます。yを指定した場合は、FILEASMまたはDBUNIQUENAMEを指定する必要があります。FILEを指定した場合は、ファイルをASMディスク・グループに格納する必要があります。

この引数をn (デフォルト)に設定すると、ORAPWDによりパスワード・ファイルが作成されます。

INPUT_FILE

この引数では入力パスワード・ファイルの名前を指定します。ORAPWDによって、入力ファイルのエントリが新しいパスワード・ファイルに移行されます。この引数は、パスワード・ファイルをある形式から別の形式に変換できます。たとえば、12形式から12.2形式に変換できます。

また、この引数を使用して、SYS管理ユーザーのパスワードをリセットできます。

INPUT_FILE引数を指定すると、ORAPWDにより新しいエントリは作成されません。したがって、ORAPWDでは次の引数が無視されます。

  • PASSWORD

  • SYSBACKUP

  • SYSDG

  • SYSKM

入力ファイルを指定し、入力ファイルが新しいパスワード・ファイルで置き換えられる場合は、FORCEyに設定する必要があります。

注意:

FORMAT引数を指定しない場合、デフォルトでは、新しいパスワード・ファイルは入力ファイルから12.2形式で作成されます。

1.7.2 ORAPWDを使用したデータベース・パスワード・ファイルの作成

ORAPWDを使用してデータベース・パスワード・ファイルを作成できます。

データベース・パスワード・ファイルを作成する手順:

  • ORAPWDコマンドを実行します。

例1-19 Oracle ASMディスク・グループに格納されるデータベース・パスワード・ファイルの作成

次のコマンドでは、リリース12.2形式のorapworclという名前のデータベース・パスワード・ファイルが作成され、Oracle ASMディスク・グループに格納されます。データベース・パスワード・ファイルはOracle ASMディスク・グループに格納されるため、DBUNIQUENAME引数が必要です。

orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' FORMAT=12.2

例1-20 SYSBACKUPエントリを使用したデータベース・パスワード・ファイルの作成

次の例は、データベース・パスワード・ファイルにSYSBACKUPエントリが作成されることを除き、例1-19に似ています。パスワード・ファイルは、デフォルトでは12.2形式です。

orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' SYSBACKUP=password FORMAT=12.2

例1-21 SYSおよびSYSKMの外部認証を使用したデータベース・パスワード・ファイルの作成

次の例は、SYSおよびSYSKM管理ユーザーに外部名を指定することを除いて例1-19と同様です。

orapwd FILE='+DATA/orcl/orapworcl' DBUNIQUENAME='orcl' FORMAT=12.2 
sys=external('KerberosUserSYS@example.com')
syskm=external('KerberosUserSYSKM@example.com')

例1-22 ファイル・システムに格納されるデータベース・パスワード・ファイルの作成

次のコマンドでは、12.2形式のorapworclという名前のデータベース・パスワード・ファイルが作成され、オペレーティング・システムのファイル・システムのデフォルトの場所に格納されます。

orapwd FILE='/u01/oracle/dbs/orapworcl' FORMAT=12.2

例1-23 レガシー・データベース・パスワード・ファイルのOracle Database 12c形式への移行

次のコマンドでは、レガシー形式のデータベース・パスワード・ファイルが12.2形式に移行されます。パスワード・ファイルの名前はorapworclで、オペレーティング・システムのファイル・システムに格納されます。新しいデータベース・パスワード・ファイルで既存のデータベース・パスワード・ファイルが置き換えられます。このため、FORCEyに設定する必要があります。

orapwd FILE='/u01/oracle/dbs/orapworcl' FORMAT=12.2 INPUT_FILE='/u01/oracle/dbs/orapworcl' FORCE=y

例1-24 SYS管理ユーザーのパスワードのリセット

次のコマンドは、SYS管理ユーザーのパスワードをリセットします。新しいデータベース・パスワード・ファイルで既存のデータベース・パスワード・ファイルが置き換えられます。このため、FORCEyに設定する必要があります。

orapwd FILE='/u01/oracle/dbs/orapworcl' SYS=Y INPUT_FILE='/u01/oracle/dbs/orapworcl' FORCE=y

SYS管理ユーザーの新しいパスワードを入力するように求められます。

例1-25 パスワード・ファイルの説明

次のコマンドは、orapworclパスワード・ファイルを説明します。

orapwd DESCRIBE FILE='orapworcl' 
Password file Description : format=12.2

1.7.3 データベース・パスワード・ファイルの共有と無効化

初期化パラメータREMOTE_LOGIN_PASSWORDFILEを使用して、データベース・パスワード・ファイルが複数のOracle Databaseインスタンス間で共有されるかどうかを制御します。このパラメータを使用して、パスワード・ファイル認証を無効にすることもできます。

パスワード・ファイルを共有またはパスワード・ファイル認証を無効にする手順:

  • REMOTE_LOGIN_PASSWORDFILE初期化パラメータを設定します。

REMOTE_LOGIN_PASSWORDFILE初期化パラメータを次のいずれかの値に設定できます。

  • none: このパラメータをnoneに設定すると、Oracle Databaseはパスワード・ファイルが存在しない場合と同じように動作します。つまり、セキュリティで保護されていない接続では、権限付きの接続は許可されません。

  • exclusive: (デフォルト) exclusiveのパスワード・ファイルは、1つのデータベースのみが使用できます。exclusiveのファイルのみを変更できます。exclusiveのパスワード・ファイルを使用すると、ユーザーの追加、変更および削除を行えます。また、ALTER USERコマンドを使用して、SYSSYSBACKUPSYSDGまたはSYSKMのパスワードを変更することもできます。

    exclusiveのパスワード・ファイルがOracle ASMディスク・グループに格納される場合、単一インスタンス・データベースまたはOracle Real Application Clusters (Oracle RAC)データベースの複数のインスタンスでパスワード・ファイルを使用できます。

    exclusiveのパスワード・ファイルは、オペレーティング・システムに格納されている場合、1つのデータベースの1つのインスタンスでのみ使用できます。

  • shared: sharedパスワード・ファイルは、オペレーティング・システムに格納される場合にも、同じサーバーで稼働している複数のデータベース、またはOracle RACデータベースの複数のインスタンスで使用できます。sharedパスワード・ファイルは読取り専用であり、変更できません。したがって、sharedパスワード・ファイルにはユーザーを追加できません。ユーザーを追加しようとしたり、SYSのパスワードあるいは管理権限のあるユーザーのパスワードを変更しようとすると、エラーが生成されます。REMOTE_LOGIN_PASSWORDFILEexclusiveに設定されている間に、管理権限を必要とするすべてのユーザーをパスワード・ファイルに追加する必要があります。すべてのユーザーを追加した後で、REMOTE_LOGIN_PASSWORDFILEsharedに変更すると、ファイルを共有できます。

    このオプションは、1つのパスワード・ファイルで複数のデータベースを管理する場合に役立ちます。

    Oracle ASMパスワード・ファイルにはsharedを指定できません。

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

1.7.4 管理者パスワードとデータ・ディクショナリとの同期の維持

REMOTE_LOGIN_PASSWORDFILE初期化パラメータをnoneからexclusiveまたはsharedに変更した場合、または別のSYSパスワードを使用してパスワード・ファイルを再作成した場合、データ・ディクショナリ内のパスワードとSYSユーザーのパスワード・ファイルが同じになるようにする必要があります。

SYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM管理権限を使用してログインするSYS以外のユーザーのパスワードを同期化するには、次に示すように、ユーザーの権限を取り消して再度付与する必要があります。

  1. SYSDBA権限を付与されているすべてのユーザーを特定します。
    SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSDBA='TRUE';
    
  2. これらのユーザーのSYSDBA権限を取り消して再度付与します。
    REVOKE SYSDBA FROM non-SYS-user;
    GRANT SYSDBA TO non-SYS-user;
    
  3. SYSOPER権限を付与されているすべてのユーザーを特定します。
    SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSOPER='TRUE';
    
  4. これらのユーザーのSYSOPER権限を取り消して再度付与します。
    REVOKE SYSOPER FROM non-SYS-user;
    GRANT SYSOPER TO non-SYS-user;
    
  5. SYSBACKUP権限を付与されているすべてのユーザーを特定します。
    SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSBACKUP ='TRUE';
    
  6. これらのユーザーのSYSBACKUP権限を取り消して再度付与します。
    REVOKE SYSBACKUP FROM non-SYS-user;
    GRANT SYSBACKUP TO non-SYS-user;
    
  7. SYSDG権限を付与されているすべてのユーザーを特定します。
    SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSDG='TRUE';
    
  8. これらのユーザーのSYSDG権限を取り消して再度付与します。
    REVOKE SYSDG FROM non-SYS-user;
    GRANT SYSDG TO non-SYS-user;
    
  9. SYSKM権限を付与されているすべてのユーザーを特定します。
    SELECT USERNAME FROM V$PWFILE_USERS WHERE USERNAME != 'SYS' AND SYSKM='TRUE';
    
  10. これらのユーザーのSYSKM権限を取り消して再度付与します。
    REVOKE SYSKM FROM non-SYS-user;
    GRANT SYSKM TO non-SYS-user;
    

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

ユーザーにSYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM管理権限を付与すると、そのユーザーの名前と権限情報がデータベース・パスワード・ファイルに追加されます。

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

注意:

SYSBACKUPSYSDGまたはSYSKM管理権限をサポートするには、FORMAT=12.2またはFORMAT=12引数を指定してパスワード・ファイルを作成する必要があります。

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

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

  1. 「ORAPWDを使用したデータベース・パスワードの作成」に記載されている指示に従って、パスワード・ファイルを作成します。
  2. REMOTE_LOGIN_PASSWORDFILE初期化パラメータをexclusiveに設定します。(デフォルト値。)

    これらの権限を付与しようとしたときに初期化パラメータREMOTE_LOGIN_PASSWORDFILEが正しく設定されていない場合、Oracle Databaseによってエラーが発行されます。

    注意:

    REMOTE_LOGIN_PASSWORDFILEは静的な初期化パラメータであるため、変更するにはデータベースを再起動する必要があります。

  3. 次の例に示すように、SYSDBA権限で接続し、プロンプトが表示されたらSYSのパスワードを入力します。
    CONNECT SYS AS SYSDBA
    
  4. 必要であれば、インスタンスを起動してデータベースを作成します。または、既存のデータベースをマウントしてオープンします。
  5. 必要に応じて、ユーザーを登録します。必要に応じて、自分と他のユーザーにSYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM管理権限を付与します。「管理権限の付与と取消し」を参照してください。

1.7.6 管理権限の付与と取消し

管理権限を付与するにはGRANT文を使用します。管理権限を取り消すにはREVOKE文を使用します。

ユーザーにSYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKM管理権限を付与する手順:

  • GRANT文を実行します。

例:

GRANT SYSDBA TO mydba;

ユーザーから管理権限を取り消す手順:

  • REVOKE文を実行します。

例:

REVOKE SYSDBA FROM mydba;

管理権限を付与するGRANTに指定された場合、WITH ADMIN OPTIONは無視され、次のルールが適用されます。

  • 現在SYSDBAとして接続しているユーザーは、別のユーザーに他の任意の管理権限を付与して、別のユーザーの管理権限を取り消すことができます。

  • 現在SYSOPERとして接続しているユーザーは、別のユーザーに管理権限を付与できず、別のユーザーの管理権限を取り消すことができません

  • 現在SYSBACKUPとして接続しているユーザーは、別のユーザーのSYSBACKUP管理権限を取り消すことができます。

  • 現在SYSDGとして接続しているユーザーは、別のユーザーのSYSDG管理権限を取り消すことができます。

  • 現在SYSKMとして接続しているユーザーは、別のユーザーのSYSKM管理権限を取り消すことができます。

ロールはデータベースが起動してから使用できるようになるため、管理権限はロールには付与できません。データベース管理権限を、オペレーティング・システムのロールと混同しないでください。

関連項目:

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

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

V$PWFILE_USERSビューには、管理権限を付与されたユーザーに関する情報が含まれます。

管理権限を付与されたユーザーを判別する手順:

  • V$PWFILE_USERSビューを問い合せます。

関連項目:

V$PWFILE_USERSビューの詳細は、『Oracle Databaseリファレンス』を参照してください

1.7.8 データベース・パスワード・ファイルの削除

不要になった場合はデータベース・パスワードを削除できます。

ユーザーを認証するためのデータベース・パスワード・ファイルが不要になったと判断した場合は、それを削除します。

  • データベース・パスワード・ファイルを削除し、オプションでREMOTE_LOGIN_PASSWORDFILE初期化パラメータをnoneにリセットします。

このファイルを削除した後は、オペレーティング・システムによって認証されたユーザーのみがSYSDBASYSOPERSYSBACKUPSYSDGまたはSYSKMデータベース管理の操作を実行できます。

1.8 データ・ユーティリティ

Oracle Databaseのデータのメンテナンスに役立つOracleユーティリティが用意されています。

SQL*Loader

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

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

データ・ポンプ・ユーティリティを使用すると、データをアーカイブしたり、Oracle Database間でデータを移動できます。また、従来のインポート(IMP)およびエクスポート(EXP)ユーティリティを使用して、以前のリリースとの間でデータをインポートおよびエクスポートできます。

関連項目:

  • SQL*Loaderの詳細は、『Oracle Databaseユーティリティ』を参照してください。

  • データ・ポンプの詳細は、『Oracle Databaseユーティリティ』を参照してください。