2 Oracle Databaseの作成および構成

データベースの計画を作成したら、グラフィカル・ツールまたはSQLコマンドを使用してデータベースを作成できます。

関連項目:

  • 基礎になるオペレーティング・システム・ファイルがOracle Databaseサーバーによって自動的に作成および管理されるデータベースの作成方法の詳細は、「Oracle Managed Filesの使用」を参照してください

  • Oracle Real Application Clusters(Oracle RAC)環境でのデータベース作成に関する情報は、使用しているプラットフォーム固有のOracle Real Application Clustersインストレーション・ガイドを参照してください。

  • フリート・パッチ適用およびプロビジョニング(以前のデータベース・リリースでは高速ホーム・プロビジョニングと呼ばれていた)を使用したデータベース作成の詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

2.1 Oracle Databaseの作成について

通常は、Oracle Databaseソフトウェアのインストール時にデータベースを作成します。ただし、インストール後にもデータベースを作成できます。

インストール後にデータベースを作成する理由には、次のものがあります。

  • Oracle Universal Installer(OUI)を使用してソフトウェアのみをインストールして、データベースを作成しなかったため。

  • 既存のOracle Databaseと同じホスト・コンピュータに別のデータベース(およびデータベース・インスタンス)を作成するため。この場合、この章では、新しいデータベースが既存のデータベースと同じOracleホームを使用すると仮定します。OUIを再度実行すれば、新しいOracleホームにデータベースを作成することもできます。

  • データベースのコピー(クローン)を作成するため。

データベースを作成する具体的な方法には、次の方法があります。

2.2 データベースを作成する前の考慮点

データベースの作成では、いくつかのオペレーティング・システム・ファイルを準備することで、それらのファイルをOracle Databaseとしてまとめて動作できるようにします。データベースは、データファイルの数やアクセスするインスタンスの数にかかわらず、1回のみ作成します。データベースの作成では、既存のデータベース内の情報を消去し、同じ名前と物理構造を持つ新規データベースを作成することもできます。

2.2.1 データベース作成計画

データベースの作成を準備するには、調査と綿密な計画が必要です。

表2-1に、推奨する処理を示します。

表2-1 データベース計画タスク

処置 関連情報

データベース表と索引を計画し、それらが必要とする領域を見積ります。

Oracle Databaseの構造と記憶域

スキーマ・オブジェクト

データベースを構成する基礎になるオペレーティング・システム・ファイルのレイアウトを計画します。ファイルを適切に分散すると、ファイル・アクセス時のI/Oが分散されるため、データベースのパフォーマンスを大幅に向上できます。Oracleソフトウェアをインストールしてデータベースを作成するときにI/Oを分散させるには、いくつかの方法があります。たとえば、REDOログ・ファイルを異なるディスクに配置したり、ストライプ化を使用できます。競合が少なくなるようにデータファイルを配置できます。また、データの密度(データ・ブロック当たりの行数)を制御できます。高速リカバリ領域を作成する場合は、データファイルとは異なる記憶デバイスに配置することをお薦めします。

この計画タスクを大幅に簡素化するには、データベース記憶域を構成するオペレーティング・システム・ファイルの作成および管理に、Oracle Managed Filesおよび自動ストレージ管理の使用を検討します。

Oracle Managed Filesの使用

『Oracle Automatic Storage Management管理者ガイド』

『Oracle Databaseパフォーマンス・チューニング・ガイド』

該当のOracle Databaseインストレーション・ガイドなど、使用しているオペレーティング・システム固有のOracleマニュアル。

グローバル・データベース名を選択します。ネットワーク構造内のデータベースの名前と位置で構成されます。グローバル・データベース名を作成するには、DB_NAME DB_DOMAINの両方の初期化パラメータを設定します。

「グローバル・データベース名の決定」

初期化パラメータ・ファイルに含まれる初期化パラメータについて理解します。特にサーバー・パラメータ・ファイルの概要と操作について理解します。サーバー・パラメータ・ファイルを使用すると、初期化パラメータをサーバー側のディスク・ファイルに永続的に格納して管理できます。

「初期化パラメータと初期化パラメータ・ファイルについて」

「サーバー・パラメータ・ファイルの概要」

『Oracle Databaseリファレンス』

データベース・キャラクタ・セットを選択します。

データ・ディクショナリ内のデータも含め、すべての文字データは、そのデータベースの文字セットに格納されます。データベースの作成時には、データベース文字セットを指定します。

詳細は、「文字セットの選択について」を参照してください。

『Oracle Databaseグローバリゼーション・サポート・ガイド』

データベースでサポートする必要のあるタイム・ゾーンを検討します。

Oracle Databaseでは、2つのタイム・ゾーン・ファイルのいずれかが、有効なタイム・ゾーンのソースとして使用されます。デフォルトのタイム・ゾーン・ファイルはtimezlrg_11.datです。これには、小さいタイム・ゾーン・ファイルtimezone_11.datより、多くのタイム・ゾーンが含まれています。

「データベースのタイム・ゾーン・ファイルの指定」

データベースの標準ブロック・サイズを選択します。このサイズはデータベースの作成時にDB_BLOCK_SIZE初期化パラメータによって指定しますが、データベースの作成後は変更できません。

標準ブロック・サイズは、SYSTEM表領域およびその他の大部分の表領域で使用されます。また、表領域の作成時に、最大4つの非標準ブロック・サイズを指定できます。

「データベース・ブロック・サイズの指定」

セクター・サイズが4KBのディスク上にオンラインREDOログ・ファイルを格納する場合は、REDOログのブロック・サイズを手動で指定する必要があるかどうかを確認します。

「REDOログ・ファイルのブロック・サイズの計画」

SYSAUX表領域の適切な初期サイズを決定します。

「SYSAUX表領域について」

SYSTEM以外のユーザーに対してはデフォルトの表領域を使用し、データベース・オブジェクトがSYSTEM表領域に誤って保存されないようにします。

「デフォルト永続表領域の作成」

UNDOデータを管理するために、UNDO表領域を使用します。

UNDOの管理

目的のデータベースに読取り専用Oracleホームを構成するか、読取り/書込みOracleホームを構成するかを検討します。

読取り専用モードのOracleホームの構成について

バックアップおよびリカバリ計画を作成し、データベースを障害から保護します。重要な点として、多重化による制御ファイルの保護、適切なバックアップ・モードの選択、およびオンラインREDOログ・ファイルとアーカイブREDOログ・ファイルの管理があげられます。

REDOログの管理

アーカイブREDOログ・ファイルの管理

制御ファイルの管理

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

インスタンスの起動と停止、データベースのマウントとオープンの原理およびオプションについて理解します。

起動と停止

2.2.2 文字セットの選択について

データベースに対して適切な文字セットを選択することが重要です。データベース文字セットとして、AL32UTF8をお薦めします。

AL32UTF8とは、Unicode標準であるUTF-8エンコードに対してOracleで使用している名前です。Unicode標準は、現在世界で使用されている言語のほとんどをサポートする汎用文字セットです。Unicode標準を使用することは、データベース処理を含め、すべての多言語テクノロジにおいて不可欠です。

データベースが作成され、本番データが累積された後にデータベース文字セットを変更することは、時間がかかる複雑なプロジェクトになります。そのため、インストール時に適切な文字セットを選択することが重要です。データベースに現在多言語データが格納されていなくても、数年内に多言語データを格納する予定がある場合、通常は、データベース文字セットにAL32UTF8を選択することのみが、適切な判断となります。Unicodeの普遍性と柔軟性は、通常はシングルバイト文字セットと比較した場合のテキスト処理速度の若干の低下や非Unicode文字セットよりも高い非ASCIIテキストの記憶域要件などの関連する追加コストを上回る価値があります。

AL32UTF8を使用せず、ベンダー要件によって選択が制限されない場合は、データベースに推奨としてリストされている文字セットの1つを使用することをお薦めします。推奨される文字セットは、最新のクライアント・オペレーティング・システムの要件に基づいて選択されたものです。Oracle Universal Installer (OUI)は推奨されるリストのみを提示し、非推奨文字セットを選択するにはDatabase Configuration Assistant (DBCA)を別途使用する必要があります。また、DBCAのデフォルトのデータベース作成構成では、推奨される文字セットのみ選択できます。非推奨文字セットを選択するには、DBCAまたはCREATE DATABASE文の高度な構成モードを使用する必要があります。

文字セットの選択肢がOUIまたはDBCAインストール・モードで表示されない場合は、別の文字セットを持つカスタム・データベース・テンプレートが選択されていないかぎり、AL32UTF8がデータベース文字セットとして使用されます。

ノート:

  • データベースの文字セットには、AL32UTF8を使用することをお薦めします。AL32UTF8は、UnicodeのUTF-8エンコーディングの適切な実装です。Oracle Database12cリリース2以降では、Oracle Universal Installer (OUI)およびOracle Database Configuration Assistant (DBCA)を使用してデータベースを作成する際、デフォルトのデータベース文字セットとしてAL32UTF8が使用されます。

  • ASCIIベースのプラットフォーム上のデータベースには、ASCIIベースの文字セットのみ選択できます。

注意:

Oracle8i リリース1 (8.1.7)以前のOracle Databaseクライアントおよびサーバーとの互換性のために必要であるか、またはアプリケーション・ベンダーから明示的に要求された場合以外は、UTF8をデータベース文字セットとして使用しないでください。名称は似ていますが、UTF8はUnicodeエンコーディングUTF-8の適切な実装ではありません。UTF-8処理が予期されている場合にUTF8文字セットが使用されると、データの消失およびセキュリティの問題が発生する場合があります。このことは、XMLやURLアドレスなどのWeb関連データに特に該当します。

AL32UTF8およびUTF8文字セットは、最大文字幅が異なるため、相互に互換性がありません。AL32UTF8の最大文字幅は4バイトで、UTF8の最大文字幅は3バイトです。

関連項目:

データベースに推奨される文字セットの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください

2.2.3 読取り専用モードのOracleホームの構成について

Oracle Databaseリリース18c以降では、読取り専用Oracleホームをソフトウェア・イメージとしてデプロイすることによって、複数のデータベース・サーバー間でのソフトウェアのパッチ適用や一括ロールアウトを簡略化できます。

読取り専用Oracleホーム(ORACLE_HOME)では、Oracleホーム・ディレクトリ内でのファイルの作成および変更が防止されます。Oracleホームを読取り専用モードで構成するには、最初にソフトウェアのみのデプロイメントを使用してOracle Databaseソフトウェアをインストールし、リスナーおよびデータベースを作成する前に読取り専用Oracleホームとして構成します。

従来の読取り/書込みのOracleホームにはインスタンス固有のファイルが含まれているため、それらのファイルにパッチを適用する場合は、各ファイルに個別にパッチを適用する必要があります。ただし、Oracleホームが読取り専用の場合は、インスタンス固有のファイルがOracleホームではなくOracleベース・ディレクトリ(ORACLE_BASE)に別個に保存されます。この構成によって、読取り専用Oracleホームは、静的ファイルのみが格納されるため、複数のデータベース・サーバー間で共有できるソフトウェア・イメージとして使用できます。このオプションを使用すると、複数のデータベース・サーバーにパッチを配布する際に更新する必要のあるOracleホーム・イメージは1つのみになるため、パッチ適用と一括ロールアウトが簡略化されます。

従来のORACLE_BASEディレクトリおよびORACLE_HOMEディレクトリとは異なり、読取り専用Oracleホームには次の追加のディレクトリが存在します。

  • ORACLE_BASE_HOME: ORACLE_BASEディレクトリ内のサブディレクトリです。このディレクトリには、ユーザー固有のファイル、インスタンス固有のファイルおよびログ・ファイルが含まれています。

  • ORACLE_BASE_CONFIG: このディレクトリは、ORACLE_BASEディレクトリと同じものです。このディレクトリには、インスタンス固有の動的ファイル(構成ファイルなど)が含まれています。

関連項目:

読取り専用モードのOracleホームの構成の詳細は、目的のプラットフォームに固有のOracle Databaseインストレーション・ガイドで、「読取り専用Oracleホームの構成」を参照してください。

2.2.4 データベース作成の前提条件

Oracle Databaseが正常に作成されるようにするために、データベースの前提条件を確認してください。

新しいデータベースを作成するには、次の前提条件を満たす必要があります。

  • 必要なOracleソフトウェアがインストールされていること。これには、オペレーティング・システム固有の各環境変数の設定、およびソフトウェアとデータベース・ファイルのディレクトリ構造の設定が含まれます。

  • Oracle Databaseインスタンスを起動するために十分なメモリーが使用可能であること。

  • Oracle Databaseを実行するコンピュータ上に、設計したデータベースのための十分なディスク記憶域が使用可能であること。

各前提条件については、オペレーティング・システム固有の『Oracle Databaseインストレーション・ガイド』を参照してください。Oracle Universal Installerを使用すると、表示される手順に従ってインストールでき、環境変数、ディレクトリ構造および認可の設定に関するヘルプが表示されます。

2.3 DBCAを使用したデータベースの作成

Oracle Database Configuration Assistant (DBCA)は、Oracleデータベースを作成および構成するためのツールです。

2.3.1 DBCAを使用したデータベースの作成について

Database Configuration Assistant(DBCA)はほとんど自動化されており、DBCAが完了するとデータベースが使用可能状態になるので、DBCAを使用してデータベースを作成することをお薦めします。

選択したインストール・タイプによっては、Oracle Universal Installer(OUI)からDBCAを起動できます。また、Oracle Databaseをインストール後は、スタンドアロン・ツールとして、いつでもDBCAを起動できます。

DBCAは、対話型モードまたは非対話型(サイレント)モードで実行できます。対話型モードには、データベースを作成して構成するためのグラフィカル・インタフェースおよびガイド付きワークフローが用意されています。非対話型(サイレント)モードでは、データベース作成スクリプトを記述できます。DBCAを非対話型(サイレント)モードで実行するには、コマンドライン引数またはレスポンス・ファイル、あるいはその両方を指定します。

2.3.2 対話型DBCAを使用したデータベースの作成について

データベースを最も簡単に作成する方法は、Database Configuration Assistant (DBCA)を使用することです。

対話型DBCAを使用したデータベースの作成方法の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

2.3.3 非対話型(サイレント) DBCAを使用したデータベースの作成について

Database Configuration Assistant (DBCA)の非対話型(サイレント)モードを使用してデータベースを作成できます。

関連項目:

非対話型(サイレント)モードのDBCAの使用方法の詳細は、サイレント・モード時のDatabase Configuration Assistantコマンド・リファレンスを参照してください。

2.4 CREATE DATABASE文を使用したデータベースの作成

CREATE DATABASE SQL文の使用は、Oracle Database Configuration Assistant (DBCA)を使用するよりも手動操作の多いデータベース作成アプローチです。DBCAのかわりにこの文を使用する利点は、スクリプト内からデータベースを作成できることです。

2.4.1 CREATE DATABASE文を使用したデータベースの作成について

CREATE DATABASE文を使用する場合は、実行可能なデータベースを作成する前に他の処理が必要です。この処理には、データ・ディクショナリ表のビューの作成、標準PL/SQLパッケージのインストールなどがあります。これらの処理には、提供されたスクリプトを実行します。

データベース作成用の既存のスクリプトがある場合は、Oracle Databaseの新機能を活用するようにこれらのスクリプトを編集することを検討してください。

この項の手順が適用できるのは、単一インスタンスのインストールの場合のみです。Oracle RACデータベースの作成手順の詳細は、使用しているプラットフォーム固有のOracle Real Application Clusters(Oracle RAC)インストレーション・ガイドを参照してください。

ノート:

  • 単一インスタンスとは、単一のホスト・コンピュータに存在できるOracleインスタンスが1つのみであるという意味ではありません。実際には、複数のOracleインスタンス(および関連するデータベース)を、単一のホスト・コンピュータで実行できます。単一インスタンスのデータベースとは、一度に1つのOracleインスタンスのみがアクセスするデータベースのことですが、これに対して、Oracle RACデータベースには、複数ノードの複数Oracleインスタンスが同時にアクセスします。

  • Oracle Database 12cリリース2 (12.2)以降では、読取り専用インスタンスと読取り/書込みインスタンスが単一のOracle RACデータベース内で共存できます。この構成はパラレル問合せのスケーラビリティのために役に立ちます。

ヒント:

Oracle Automatic Storage Management(Oracle ASM)を使用してディスク記憶域を管理している場合は、これらのステップを実行する前に、Oracle ASMインスタンスを起動してディスク・グループを構成する必要があります。『Oracle Automatic Storage Management管理者ガイド』を参照してください。

関連項目:

2.4.2 ステップ1: インスタンス識別子(SID)の指定

ORACLE_SID環境変数は、後で作成して同じホスト・コンピュータで同時に実行する他のOracle Databaseインスタンスと区別するために使用されます。

  1. インスタンスの一意のOracleシステム識別子(SID)を決定します。

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

    ノート:

    後続のステップでは、このコマンド・ウィンドウを使用します。
  3. ORACLE_SID環境変数を設定します。

ORACLE_SIDでの有効な文字に関する制約はプラットフォーム固有です。一部のプラットフォームでは、SIDの大/小文字が区別されます。

ノート:

一般的には、SIDはデータベース名と等しくなるように設定します。データベース名に指定できるのは最大8文字までです。詳細は、『Oracle Databaseリファレンス』DB_NAME初期化パラメータに関する説明を参照してください。

次のUNIXおよびLinuxオペレーティング・システムの例では、「ステップ6: インスタンスへの接続」で接続するインスタンスのSIDを設定しています。

  • Bourne、BashまたはKornシェル:

    ORACLE_SID=mynewdb
    export ORACLE_SID
    
  • Cシェルの場合:

    setenv ORACLE_SID mynewdb
    

次の例では、Windowsオペレーティング・システム用のSIDを設定しています。

set ORACLE_SID=mynewdb

関連項目:

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

2.4.3 ステップ2: 必要な環境変数が設定されていることの確認

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

  • 必要な環境変数を設定します。

たとえば、ほとんどのプラットフォームでは、ORACLE_SIDORACLE_HOMEを設定する必要があります。さらに、PATH変数にORACLE_HOME/binディレクトリを含めるように設定することもお薦めします。UNIXおよびLinuxプラットフォームでは、これらの環境変数を手動で設定する必要があります。Windowsプラットフォームでは、Windowsレジストリ内のORACLE_HOMEORACLE_SIDにOUIが値を自動的に割り当てます。インストール時にデータベースを作成しなかった場合は、レジストリ内のORACLE_SIDをOUIが設定しないため、後でデータベースを作成するときにORACLE_SID環境変数を設定する必要があります。

2.4.4 ステップ3: データベース管理者の認証方式の選択

データベースを作成するには、作成するユーザーが認証を受け、適切なシステム権限が付与されている必要があります。

  • 認証方式を決定します。

必要な権限を付与された管理者として認証されるには、次の方法があります。

  • パスワード・ファイルによる方法

  • オペレーティング・システム認証による方法

パスワード・ファイルによる認証方法を使用するには、「データベース・パスワード・ファイルの作成とメンテナンス」の説明に従ってパスワード・ファイルを作成します。オペレーティング・システム認証による方法を使用するには、必ずオペレーティング・システムの適切なユーザー・グループのメンバーになっているユーザー・アカウントでホスト・コンピュータにログインします。たとえば、UNIXおよびLinuxプラットフォームでは、通常dbaユーザー・グループを使用します。Windowsプラットフォームでは、Oracleソフトウェアをインストールするユーザーが、必要なユーザー・グループに自動的に配置されます。

関連項目:

2.4.5 ステップ4: 初期化パラメータ・ファイルの作成

Oracleインスタンスの起動時に、初期化パラメータ・ファイルが読み込まれます。このファイルには、テキスト・エディタで作成して変更できるテキスト・ファイルか、データベースにより作成されて動的に変更されるバイナリ・ファイルを使用できます。バイナリ・ファイル(こちらの使用を推奨)は、サーバー・パラメータ・ファイルと呼ばれます。ここで示すステップでは、テキスト形式の初期化パラメータ・ファイルを作成します。後述のステップで、テキスト・ファイルからサーバー・パラメータ・ファイルを作成します。

  • 初期化パラメータ・ファイルを作成します。

テキスト形式の初期化パラメータ・ファイルを作成する方法の1つは、「初期化パラメータ・ファイルのサンプル」に記載されているサンプルを編集する方法です。

初期化パラメータのファイルを手動で作成する場合は、少なくとも表2-2に記載されているパラメータが含まれているようにしてください。記載されていない他のすべてのパラメータにはデフォルトの値があります。

表2-2 推奨される最低限の初期化パラメータ

パラメータ名 必須 ノート

DB_NAME

はい

データベース識別子。CREATE DATABASE文で使用される値に対応している必要があります。最大8文字です。

CONTROL_FILES

いいえ

推奨。提供されていない場合は、データベース・インスタンスにより初期化パラメータ・ファイルと同じ場所に制御ファイルが作成されます。このパラメータを提供することで制御ファイルを多重化できます。詳細は、「初期制御ファイルの作成」を参照してください。

MEMORY_TARGET

いいえ

インスタンスにより使用されるメモリーの合計容量を設定し、自動メモリー管理を有効にします。このパラメータのかわりに他の初期化パラメータを選択して、メモリーの使用をより詳細に手動で制御することもできます。「メモリーの手動構成」を参照してください。

操作を容易にするために、デフォルトのファイル名を使用して、Oracle Databaseのデフォルトの場所に初期化パラメータ・ファイルを配置します。このようにすることにより、Oracle Databaseが初期化パラメータ・ファイルのデフォルトの場所を自動的に参照するため、データベースの起動時にSTARTUPコマンドのPFILE句を指定する必要がなくなります。

使用しているプラットフォームの初期化パラメータ・ファイルのデフォルトのファイル名や場所など、初期化パラメータおよび初期化パラメータ・ファイルの詳細は、「初期化パラメータと初期化パラメータ・ファイルについて」を参照してください。

関連項目:

2.4.6 ステップ5: (Windowsの場合のみ)インスタンスの作成

Windowsプラットフォームでは、インスタンスが存在しない場合には、インスタンスに接続する前に手動で作成する必要があります。ORADIMコマンドでは、新しいWindowsサービスを作成することでOracle Databaseインスタンスを作成します。

インスタンスを作成するには:

  • Windowsのコマンド・プロンプトで、次のコマンドを入力します。

    oradim -NEW -SID sid -STARTMODE MANUAL -PFILE file
    

    次のプレースホルダを適切な値に置き換えます。

    • sid - 目的のSID (mynewdbなど)

    • file - テキスト形式の初期化パラメータ・ファイルへのフルパス

注意:

この時点では、-STARTMODE引数をAUTOに設定しないでください。設定すると新しいインスタンスが起動され、まだ存在しないデータベースをマウントしようとします。必要に応じて、「ステップ14: (オプション)インスタンスの自動起動の有効化」で、このパラメータをAUTOに変更できます。

ほとんどのOracle Databaseサービスは、Oracleホーム・ユーザーの権限を使用してシステムにログオンします。サービスは、このユーザーの権限を使用して実行されます。ORADIMコマンドは、このユーザー・アカウントのパスワードを要求します。ORADIMを使用して、他のオプションを指定できます。

関連項目:

2.4.7 ステップ6: インスタンスへの接続

SQL*Plusを起動して、SYSDBA管理権限でOracle Databaseインスタンスに接続します。

  • パスワード・ファイルによる認証を使用するには、次のコマンドを入力してプロンプトが表示された後、SYSパスワードを入力します。

    $ sqlplus /nolog
    SQL> CONNECT SYS AS SYSDBA
    
  • オペレーティング・システム認証を使用するには、次のコマンドを入力します。

    $ sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    

SQL*Plusが次のメッセージを表示します。

Connected to an idle instance.

ノート:

SQL*Plusが次のようなメッセージを表示する場合があります。

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.1.0.0.0

その場合には、インスタンスがすでに起動されています。間違ったインスタンスに接続している可能性があります。EXITコマンドを使用してSQL*Plusを終了し、ORACLE_SIDが正しく設定されていることを確認して、このステップを繰り返してください。

2.4.8 ステップ7: サーバー・パラメータ・ファイルの作成

サーバー・パラメータ・ファイルを使用すると、ALTER SYSTEMコマンドを使用して初期化パラメータを変更でき、変更内容はデータベースを停止して起動した後も持続します。サーバー・パラメータ・ファイルは、編集済のテキスト形式の初期化ファイルから作成します。

  • 次のSQL*Plusコマンドを実行します。
    CREATE SPFILE FROM PFILE;
    

このSQL*Plusコマンドでは、テキスト形式の初期化パラメータ・ファイル(PFILE)がデフォルトの場所のデフォルトのファイル名で読み込まれ、テキスト形式の初期化パラメータ・ファイルからサーバー・パラメータ・ファイル(SPFILE)が作成されて、SPFILEがデフォルトのSPFILE名でデフォルトの場所に書き込まれます。

デフォルトのファイル名と場所を使用していない場合は、PFILEとSPFILEの両方のファイル名とパスワードを指定することもできます。

ヒント:

サーバー・パラメータ・ファイルを有効にするには、データベースを再起動する必要があります。

ノート:

この時点でのサーバー・パラメータ・ファイルの作成はオプションですが、作成することをお薦めします。サーバー・パラメータ・ファイルを作成しないと、インスタンスが起動されるたびにテキスト形式の初期化パラメータ・ファイルが引き続き読み込まれます。

重要: Oracle Managed Filesを使用しており、初期化パラメータ・ファイルにCONTROL_FILESパラメータが指定されていない場合には、CREATE DATABASE文でデータベースの制御ファイルが作成されるときに制御ファイルの名前と場所を保存できるように、この時点でサーバー・パラメータ・ファイルを作成しておく必要があります。詳細は、「データベース作成時のOracle Managed Filesの作成」を参照してください。

2.4.9 ステップ8: インスタンスの起動

データベースをマウントせずにインスタンスを起動します。

  • NOMOUNT句を指定してSTARTUPコマンドを実行します。

通常、この方法で起動するのはデータベースの作成時またはメンテナンス時のみです。この例では、初期化パラメータ・ファイルまたはサーバー・パラメータ・ファイルがデフォルトの場所に配置されているため、PFILE句の指定は不要です。

STARTUP NOMOUNT

この時点で、インスタンス・メモリーが割り当てられて、インスタンスのプロセスが起動されます。データベース自体はまだ存在しません。

関連項目:

2.4.10 ステップ9: CREATE DATABASE文の発行

新しいデータベースを作成するには、CREATE DATABASE文を使用します。

  • CREATE DATABASE文を実行します。

ノート:

マルチテナント・コンテナ・データベース(CDB)を作成する場合は、『Oracle Multitenant管理者ガイド』の例を参照してください。

例1

次の文では、データベースmynewdbが作成されます。このデータベース名は、初期化パラメータ・ファイルのDB_NAMEパラメータと同じにする必要があります。この例では、次のことを想定しています。

  • 初期化パラメータ・ファイルのCONTROL_FILESパラメータには、制御ファイルの数と場所が指定されています。

  • ディレクトリ/u01/app/oracle/oradata/mynewdbが存在します。

  • ディレクトリ/u01/logs/myおよび/u02/logs/myが存在します。

CREATE DATABASE mynewdb
   USER SYS IDENTIFIED BY sys_password
   USER SYSTEM IDENTIFIED BY system_password
   LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') SIZE 100M BLOCKSIZE 512
   MAXLOGHISTORY 1
   MAXLOGFILES 16
   MAXLOGMEMBERS 3
   MAXDATAFILES 1024
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/app/oracle/oradata/mynewdb/system01.dbf'
     SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
   SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/sysaux01.dbf'
     SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/mynewdb/users01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/mynewdb/temp01.dbf'
      SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
   UNDO TABLESPACE undotbs1
      DATAFILE '/u01/app/oracle/oradata/mynewdb/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
   USER_DATA TABLESPACE usertbs
      DATAFILE '/u01/app/oracle/oradata/mynewdb/usertbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

次の特性を持つデータベースが作成されます。

  • データベースにはmynewdbという名前が付けられます。グローバル・データベース名はmynewdb.us.example.comになり、ドメイン部分(us.example.com)は、初期化パラメータ・ファイルから取得されます。「グローバル・データベース名の決定」を参照してください。

  • CONTROL_FILES初期化パラメータ(データベース作成前に初期化パラメータ・ファイルに設定)で指定された3つの制御ファイルが作成されます。「初期化パラメータ・ファイルのサンプル」および「制御ファイルの指定」を参照してください。

  • ユーザー・アカウントSYSSYSTEMのパスワードが指定した値に設定されます。パスワードでは、大/小文字が区別されます。SYSおよびSYSTEMのパスワードを指定する2つの句は、このリリースのOracle Databaseではオプションです。ただし、いずれか一方の句を指定した場合は、もう一方の句も指定する必要があります。これらの句の使用方法の詳細は、「データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定」を参照してください。

  • 新しいデータベースには、LOGFILE句で指定されているように、REDOログ・ファイルのグループが3つあり、各グループには2つのメンバーが含まれます。MAXLOGFILESMAXLOGMEMBERSおよびMAXLOGHISTORYは、REDOログの制限を定義します。「適切なREDOログ・ファイル数の選択」を参照してください。REDOログ・ファイルのブロック・サイズは、ディスクの物理セクターと同じサイズである512バイトに設定されています。ブロック・サイズを物理セクター・サイズと同じ(デフォルト)にする場合には、BLOCKSIZE句はオプションです。通常のセクター・サイズおよびブロック・サイズは512です。BLOCKSIZEに設定可能な値は512、1024および4096です。新しいディスクでセクター・サイズが4KBの場合には、オプションでBLOCKSIZEを4096に指定します。詳細は、「REDOログ・ファイルのブロック・サイズの計画」を参照してください。

  • MAXDATAFILESによって、このデータベースでオープンできるデータファイルの最大数が指定されます。この数は、制御ファイルの初期サイズに影響を及ぼします。

    ノート:

    データベースの作成時に、制限をいくつか設定できます。これらの制限には、オペレーティング・システムの制限によって制限され、その影響を受けるものがあります。たとえば、MAXDATAFILESを設定すると、Oracle Databaseは、初期のデータベースにデータファイルが1つしかなくても、制御ファイルにMAXDATAFILES個のファイル名を格納できるだけの領域を割り当てます。ただし、制御ファイルの最大サイズは制限されており、オペレーティング・システムによって異なるので、CREATE DATABASE文のパラメータをすべて理論的な最大値で設定できるとはかぎりません。

    データベース作成時に制限を設定する方法の詳細は、『Oracle Database SQL言語リファレンス』および使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。

  • このデータベースにデータを格納する際は、AL32UTF8文字セットが使用されます。

  • NATIONAL CHARACTER SETとしてAL16UTF16文字セットが指定され、特にNCHARNCLOBまたはNVARCHAR2として定義された列にデータを格納する際に使用されます。

  • DATAFILE句で指定したとおりに、SYSTEM,表領域(オペレーティング・システム・ファイル/u01/app/oracle/oradata/mynewdb/system01.dbfからなる)が作成されます。指定した名前のファイルがすでに存在する場合は上書きされます。

  • SYSTEM表領域はローカル管理の表領域として作成されます。「ローカル管理のSYSTEM表領域の作成」を参照してください。

  • SYSAUX DATAFILE句で指定したとおりに、SYSAUX表領域(オペレーティング・システム・ファイル/u01/oracle/oradata/mynewdb/sysaux01.dbfからなる)が作成されます。「SYSAUX表領域について」を参照してください。

  • DEFAULT TABLESPACE句により、指定した名前で、このデータベース用のデフォルト永続表領域が作成されます。

  • DEFAULT TEMPORARY TABLESPACE句により、指定した名前で、このデータベース用のデフォルト一時表領域が作成されます。「デフォルト一時表領域の作成」を参照してください。

  • UNDO TABLESPACE句によって、UNDO表領域が指定の名前で作成されます。このUNDO表領域には、初期化パラメータ・ファイルでUNDO_MANAGEMENT=AUTOを指定した場合に、このデータベース用のUNDOデータが格納されます。このパラメータを省略すると、デフォルトでAUTOに設定されます。「自動UNDO管理の使用: UNDO表領域の作成」を参照してください。

  • USER_DATA TABLESPACE句により、指定した名前で、ユーザー・データおよびデータベース・オプション(Oracle XML DBなど)を格納するための表領域が作成されます。

  • このCREATE DATABASE文ではARCHIVELOG句が指定されていないため、初期状態ではオンラインREDOログはアーカイブされません。これはデータベース作成時の慣例です。後でALTER DATABASE文を使用して、ARCHIVELOGモードに切り替えることができます。mynewdbのアーカイブに関連する初期化パラメータ・ファイル内の初期化パラメータは、LOG_ARCHIVE_DEST_1およびLOG_ARCHIVE_FORMATです。「アーカイブREDOログ・ファイルの管理」を参照してください。

ヒント:

  • CREATE DATABASE文で使用しているディレクトリがすべて存在することを確認します。CREATE DATABASE文ではディレクトリは作成されません。

  • Oracle Managed Filesを使用していない場合は、すべてのTABLESPACE句にDATAFILE句またはTEMPFILE句を指定する必要があります。

  • データベースの作成に失敗した場合は、アラート・ログを参照すると、失敗の原因とその対処措置を判別できます。「アラート・ログの表示」を参照してください。プロセス番号を含むエラー・メッセージが表示される場合は、そのプロセスのトレース・ファイルを調べます。そのプロセス番号がトレース・ファイル名に含まれているトレース・ファイルを探します。詳細は、「トレース・ファイルの検索」を参照してください。

  • CREATE DATABASE文を失敗後に再発行するには、最初にインスタンスを停止してから、前のCREATE DATABASE文で作成されたファイルを削除する必要があります。

例2

この例では、より簡単なCREATE DATABASE文を使用できる、Oracle Managed Filesを使用したデータベースの作成例を示します。Oracle Managed Filesを使用するには、初期化パラメータDB_CREATE_FILE_DESTを設定する必要があります。このパラメータは、データベースで作成されて自動的に名前が付けられる様々なデータベース・ファイル用のベース・ディレクトリを定義します。次の文は、初期化パラメータ・ファイルにこのパラメータを設定する例を示しています。

DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'

Oracle Managed Filesおよび次のCREATE DATABASE文を使用すると、SYSTEM表領域とSYSAUX表領域および文に指定されている追加の表領域がデータベースによって作成され、すべてのデータファイル、制御ファイルおよびREDOログ・ファイルのデフォルト・サイズとプロパティが選択されます。この方法で設定されるこれらのプロパティおよび他のデフォルト・データベース・プロパティは本番環境には適さない場合があるため、生成された設定を調べて必要に応じて変更することをお薦めします。

CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE users;

ヒント:

CREATE DATABASE文が失敗する場合でステップ7を完了していない場合は、予期しない方法で初期化パラメータが設定されている、このインスタンス用の既存のサーバー・パラメータ・ファイル(SPFILE)がないかを確認します。たとえば、すべての制御ファイルへの完全パスがSPFILEに設定されている場合は、それらの制御ファイルが存在しないと、CREATE DATABASE文が失敗します。不必要なSPFILEを削除した後は、必ずインスタンスを停止して(STARTUP NOMOUNTを指定して)再起動します。詳細は、「サーバー・パラメータ・ファイルを使用した初期化パラメータの管理」を参照してください。

関連項目:

2.4.11 ステップ10: 追加の表領域の作成

データベースを稼働させるには、アプリケーション・データ用に追加の表領域を作成する必要があります。

  • CREATE TABLESPACE文を実行して、追加の表領域を作成します。

次のサンプル・スクリプトは、追加の表領域を作成します。

CREATE TABLESPACE apps_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/mynewdb/apps01.dbf' 
     SIZE 500M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace (optional)
CREATE TABLESPACE indx_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/mynewdb/indx01.dbf' 
     SIZE 100M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;

表領域の作成方法の詳細は、「表領域の管理」を参照してください。

2.4.12 ステップ11: スクリプトの実行によるデータ・ディクショナリ・ビューの作成

データ・ディクショナリ・ビュー、シノニムおよびPL/SQLパッケージの作成およびSQL*Plusの適切な稼働に必要なスクリプトを実行します。

  1. 次のいずれかのステップを実行します。
    • SQL*Plusで、SYSDBA権限を持つユーザーとして次のスクリプトを実行します。
      @?/rdbms/admin/catalog.sql
      @?/rdbms/admin/catproc.sql
      

      または

    • スクリプトcatpcat.sqlを指定してcatctl.plを実行します。

      $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d
      $ORACLE_HOME/rdbms/admin -n number_of_processes -l output_log_directory catpcat.sql

      number_of_processesの値には、システムで使用可能なプロセッサの数が反映されている必要があります。CDBと非CDBのこの最大値は8にできます。この値を指定しない場合、非CDBでのデフォルト値は4であり、CDBでのデフォルト値はCPU_COUNT初期化パラメータとなります。

      ノート:

      • マルチテナント・コンテナ・データベース(CDB)を作成する場合は、パラメータ-c 'CDB$ROOT PDB$SEED' (Windowsシステムでは二重引用符を使用)を追加で指定して、スクリプトcatpcat.sqlを最初にルート・コンテナ(CDB$ROOT)で実行し、次にシードPDB (PDB$SEED)で実行します。

      • スクリプトcatpcat.sqlは、パラレル・プロセスでスクリプトcatalog.sqlおよびcatproc.sqlを実行し、それによってデータ・ディクショナリ作成のパフォーマンスを向上させます。

  2. SQL*Plusで、SYSDBA権限を持つユーザーとして次のスクリプトを実行します。
    @?/rdbms/admin/utlrp.sql
  3. SQL*Plusで、SYSTEMユーザーとして次のスクリプトを実行します。
    @?/sqlplus/admin/pupbld.sql
    

アットマーク(@)はSQL*Plusスクリプトを実行するコマンドの省略記述です。疑問符(?)はOracleホーム・ディレクトリを表すSQL*Plusの変数です。

次の表に、これらのスクリプトの説明を示します。

スクリプト 説明

catalog.sql

データ・ディクショナリ表のビュー、動的パフォーマンス・ビューおよび多くのビューに対するパブリック・シノニムを作成します。シノニムにPUBLICアクセスを付与します。

catproc.sql

PL/SQLに必要なスクリプトやPL/SQLとともに使用されるスクリプトをすべて実行します。

utlrp.sql

パッケージ、プロシージャおよび型も含めて、無効な状態となっているすべてのPL/SQLモジュールを再コンパイルします。

pupbld.sql

SQL*Plusに必要です。SQL*Plusがユーザーのコマンドを使用禁止にできるようにします。

catpcat.sql

データ・ディクショナリを作成します。このスクリプトは、catctl.plプログラムを使用して動作し(SQL*Plusは使用しない)、パラレル・プロセスでスクリプトcatalog.sqlおよびcatproc.sqlを内部的に実行し、それによってデータ・ディクショナリ作成のパフォーマンスを向上させます。

関連項目:

catctl.plに対するすべてのパラメータのリストは、Oracle Databaseアップグレード・ガイドを参照してください。

2.4.13 ステップ12: (オプション)スクリプトの実行による追加オプションのインストール

必要に応じて、他のスクリプトも実行できます。実行するスクリプトは、使用またはインストール対象として選択する機能とオプションによって異なります。

  • スクリプトを実行して追加オプションをインストールします。

使用可能なスクリプトは、『Oracle Databaseリファレンス』を参照してください。

このデータベースとともに稼働する他のOracle製品をインストールする場合は、それらの製品のインストール方法を参照してください。製品によっては、追加のデータ・ディクショナリ表を作成する必要があります。通常は、これらの表を作成して、データベースのデータ・ディクショナリにロードするためのコマンド・ファイルが提供されます。

インストールを計画している製品のインストールと管理の方法は、製品固有のOracleマニュアルを参照してください。

2.4.14 ステップ13: データベースのバックアップ

メディア障害が発生した場合にリカバリするための完全なファイル・セットが確実に存在するように、データベースの全体バックアップを作成してください。

  • データベースをバックアップします。

データベースのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

2.4.15 ステップ14: (オプション)インスタンスの自動起動の有効化

ホスト・コンピュータの再起動時に、Oracleインスタンスが自動的に起動されるように構成する必要がある場合があります。

  • ホスト・コンピュータの再起動時に、Oracleインスタンスが自動的に起動されるように構成します。

詳細は、オペレーティング・システムのドキュメントを参照してください。たとえばWindowsでは、次のコマンドを使用して、コンピュータの再起動時にデータベース・サービスがインスタンスを起動するように構成します。

ORADIM -EDIT -SID sid -STARTMODE AUTO -SRVCSTART SYSTEM [-SPFILE]

自動再起動時にインスタンスがSPFILEを読み込むようにする場合は、-SPFILE引数を使用する必要があります。

2.5 CREATE DATABASE文の句の指定

CREATE DATABASE文を実行すると、Oracle Databaseはいくつかの操作を実行します。実際の操作は、CREATE DATABASE文で指定した句、および初期化パラメータの設定に応じて実行されます。

2.5.1 CREATE DATABASE文の句について

CREATE DATABASE句を使用して、データベースの作成および管理を簡略化できます。

CREATE DATABASE文を実行すると、Oracle Databaseは少なくとも次の操作を実行します。

  • データベース用のデータファイルの作成

  • データベース用の制御ファイルの作成

  • データベース用のオンラインREDOログの作成とARCHIVELOGモードの設定

  • SYSTEM表領域の作成

  • SYSAUX表領域の作成

  • データ・ディクショナリの作成

  • データベースへのデータの格納に使用する文字セットの設定

  • データベース・タイム・ゾーンの設定

  • データベースのマウントとオープン

2.5.2 データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定

データベースを保護するには、ユーザーSYSおよびSYSTEMのパスワードを指定します。

  • CREATE DATABASE文に、ユーザーSYSおよびSYSTEMのパスワードを指定する句を含めます。

CREATE DATABASE文でユーザーSYSおよびSYSTEMのパスワード指定に使用する句は、次のとおりです。

  • USER SYS IDENTIFIED BY password

  • USER SYSTEM IDENTIFIED BY password

パスワードを選択するときは、パスワードでは大/小文字が区別されることに注意してください。また、使用中のデータベースにパスワード形式の要件が設定されている場合もあります。

関連項目:

セキュアなパスワードの作成についてのオラクル社のガイドラインについては、Oracle Databaseセキュリティ・ガイドを参照してください。

2.5.3 ローカル管理のSYSTEM表領域の作成

データベースの作成時に、ローカル管理のSYSTEM表領域を作成します。ローカル管理表領域では、各データファイルに格納されるビットマップを使用してエクステントを管理します。

  • CREATE DATABASE文にEXTENT MANAGEMENT LOCAL句を指定すると、ローカル管理のSYSTEM表領域を作成できます。

EXTENT MANAGEMENT LOCAL句を指定しない場合は、デフォルトでディクショナリ管理のSYSTEM表領域が作成されます。ディクショナリ管理表領域は非推奨です。

ローカル管理のSYSTEM表領域を指定してデータベースを作成する場合にOracle Managed Filesを使用していない場合は、次の条件が満たされているかどうかを確認してください。

  • DEFAULT TEMPORARY TABLESPACE句をCREATE DATABASE文に指定

  • UNDO TABLESPACE句をCREATE DATABASE文に指定

関連項目:

2.5.4 SYSAUX表領域のデータファイル属性の指定

SYSAUX表領域はデフォルトで作成されますが、データベース作成時にデータファイル属性を指定できます。

SYSAUX表領域のデータファイル属性を指定するには:

  • CREATE DATABASE文にSYSAUX DATAFILE句を含めます。

SYSTEM表領域に対してDATAFILE句を指定している場合は、SYSAUX DATAFILE句も指定する必要があり、指定しない場合は、CREATE DATABASE文が失敗します。この要件は、Oracle Managed Files機能が使用可能な場合は適用されません(「データベース作成時のOracle Managed Filesの作成」を参照してください)。

2.5.4.1 SYSAUX表領域について

SYSAUX表領域はデータベース作成時に必ず作成されます。SYSAUX表領域は、SYSTEM表領域の予備の表領域として機能します。これは、以前に固有の表領域を必要としていたOracle Databaseの多くの機能と製品に対するデフォルトの表領域であるため、データベースに必要な表領域の数が削減されます。また、SYSTEM表領域の負荷も軽減されます。

SYSAUX表領域に対して指定できるのはデータファイルの属性のみで、CREATE DATABASE文でSYSAUX DATAFILE句を使用して指定します。SYSAUX表領域の必須属性は、Oracle Databaseによって設定され、次のような属性があります。

  • PERMANENT

  • READ WRITE

  • EXTENT MANAGMENT LOCAL

  • SEGMENT SPACE MANAGMENT AUTO

これらの属性は、ALTER TABLESPACE文で変更できず、変更しようとするとエラーが発生します。SYSAUX表領域の削除や名前変更はできません。

SYSAUX表領域のサイズは、SYSAUXを使用するデータベース・コンポーネントのサイズにより決定します。V$SYSAUX_OCCUPANTSビューを問い合せることにより、これらのコンポーネントのリストを表示できます。これらのコンポーネントの初期サイズに基づいて、SYSAUX表領域には、データベース作成時に最低限400MB必要です。SYSAUX表領域の領域要件は、データベースが完全にデプロイされた後、その使用状況やワークロードによって増加します。SYSAUX表領域の領域消費を継続的に管理する方法の詳細は、「SYSAUX表領域の管理」を参照してください。

SYSAUX表領域のセキュリティ属性はSYSTEM表領域と同じです。

2.5.5 自動UNDO管理の使用: UNDO表領域の作成

自動UNDO管理ではUNDO表領域が使用されます。

  • 自動UNDO管理を使用可能にするには、初期化パラメータ・ファイルでUNDO_MANAGEMENT初期化パラメータをAUTOに設定します。このパラメータを省略すると、デフォルトでデータベースが自動UNDO管理になります。

このモードでは、UNDOデータがUNDO表領域に格納され、Oracle Databaseによって管理されます。UNDO表領域を定義して名前を付けるには、データベース作成時にCREATE DATABASE文にUNDO TABLESPACE句を指定する必要があります。この句を省略して自動UNDO管理を使用可能にすると、SYS_UNDOTBSという名前のデフォルトのUNDO表領域が作成されます。

ノート:

UNDO表領域を自分で定義する場合は、ブロック・サイズがデータベースのデータファイルの最大ブロック・サイズと一致するようにします。

関連項目:

2.5.6 デフォルト永続表領域の作成

デフォルトの永続表領域を作成することをお薦めします。この表領域には、Oracle Databaseによって、別の永続表領域が明示的に指定されていないSYSTEM以外のユーザーが割り当てられます。

データベースのデフォルトの永続表領域を指定するには:

  • DEFAULT TABLESPACE句をCREATE DATABASE文に含めます

DEFAULT TABLESPACE句を指定しない場合、SYSTEM以外のユーザーに対するデフォルトの永続表領域はSYSTEM表領域です。

関連項目:

CREATE DATABASEおよびALTER DATABASEDEFAULT TABLESPACE句の構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

2.5.7 デフォルト一時表領域の作成

デフォルト一時表領域を作成する場合、Oracle Databaseでは、一時表領域が明示的に割り当てられていないユーザーに対してこの表領域が一時表領域として割り当てられます。

データベースのデフォルト一時表領域を作成するには:

  • DEFAULT TEMPORARY TABLESPACE句をCREATE DATABASE文に含めます。

一時表領域または表領域グループは、CREATE USER文で明示的にユーザーに割り当てることができます。ただし、それを行わない場合は、デフォルトの一時表領域がデータベースに指定されていないと、これらのユーザーには一時表領域としてSYSTEM表領域がデフォルトで割り当てられます。一時データをSYSTEM表領域に格納するのはよい方法ではなく、すべてのユーザーに一時表領域を個別に割り当てるのは非効率的です。したがって、CREATE DATABASEDEFAULT TEMPORARY TABLESPACE句の使用をお薦めします。

ノート:

ローカル管理のSYSTEM表領域を指定すると、そのSYSTEM表領域は一時表領域として使用できません。この場合は、デフォルトの一時表領域を作成する必要があります。この動作については、「ローカル管理のSYSTEM表領域の作成」を参照してください。

関連項目:

2.5.8 データベース作成時のOracle Managed Filesの作成

Oracle Managed Files機能を使用すると、CREATE DATABASE文に指定する句とパラメータの数を最小限に抑えることができます。

  • Oracle Databaseによってファイルが作成および管理されるディレクトリまたはOracle Automatic Storage Management(Oracle ASM)ディスク・グループのいずれかを指定します。

初期化パラメータ・ファイルにDB_CREATE_FILE_DESTDB_CREATE_ONLINE_LOG_DEST_nまたはDB_RECOVERY_FILE_DEST初期化パラメータを設定すると、データベースの基礎になるオペレーティング・システム・ファイルをOracle Databaseで作成および管理できます。指定した初期化パラメータおよびCREATE DATABASE文で指定した句に応じて、次のデータベース構造のオペレーティング・システム・ファイルがOracle Databaseによって自動的に作成および管理されます。

  • 表領域とそのデータファイル

  • 一時表領域とその一時ファイル

  • 制御ファイル

  • オンラインREDOログ

  • アーカイブREDOログ・ファイル

  • フラッシュバック・ログ

  • ブロック・チェンジ・トラッキング・ファイル

  • RMANバックアップ

関連項目:

高速リカバリ領域を作成する初期化パラメータの設定方法については、「高速リカバリ領域の指定」を参照してください

次のCREATE DATABASE文で、Oracle Managed Files機能の動作を示します。必要な初期化パラメータは指定されているとします。

CREATE DATABASE mynewdb
     USER SYS IDENTIFIED BY sys_password
     USER SYSTEM IDENTIFIED BY system_password
     EXTENT MANAGEMENT LOCAL
     UNDO TABLESPACE undotbs1
     DEFAULT TEMPORARY TABLESPACE tempts1
     DEFAULT TABLESPACE users;
  • SYSTEM表領域はローカル管理の表領域として作成されます。EXTENT MANAGEMENT LOCAL句を指定しないと、SYSTEM表領域はディクショナリ管理の対象として作成されますが、この方法はお薦めしません。

  • DATAFILE句が指定されていないため、SYSTEM表領域用のOracle Managed Filesのデータファイルが作成されます。

  • LOGFILE句が指定されていないため、Oracleが管理するREDOログ・ファイルのグループが2つ作成されます。

  • SYSAUX DATAFILEが指定されていないため、SYSAUX表領域用のOracle Managed Filesのデータファイルが作成されます。

  • UNDO TABLESPACE句およびDEFAULT TABLESPACE句にDATAFILE副次句が指定されていないため、これらの各表領域用にOracle Managed Filesのデータファイルが作成されます。

  • DEFAULT TEMPORARY TABLESPACE句にTEMPFILE副次句が指定されていないため、Oracle Managed Filesの一時ファイルが作成されます。

  • 初期化パラメータ・ファイルにCONTROL_FILES初期化パラメータが指定されていない場合は、Oracle Managed Filesの制御ファイルも作成されます。

  • サーバー・パラメータ・ファイル(「サーバー・パラメータ・ファイルを使用した初期化パラメータの管理」を参照)を使用している場合は、適切な初期化パラメータが自動的に設定されます。

    関連項目:

2.5.9 データベース作成時のbigfile表領域のサポート

Oracle Databaseでは、bigfile表領域を作成できるようにすることで、表領域の管理を簡素化し、非常に大規模なデータベースのサポートを可能にしています。

bigfile表領域に含めることができるファイルは1つのみですが、そのファイルには最大40億ブロックまで設定できます。1つのOracle Databaseのデータファイルの最大数は制限されています(通常は64000ファイル)。したがって、bigfile表領域によって、Oracle Databaseの記憶域容量が大幅に増加します。

この項では、bigfile表領域のサポートを可能にするCREATE DATABASE文の句について説明します。

関連項目:

bigfile表領域の詳細は、「bigfile表領域」を参照してください

2.5.9.1 デフォルトの表領域タイプの指定

CREATE DATABASE文のSET DEFAULT...TABLESPACE句によって、後続のCREATE TABLESPACE文でこのデータベースに使用される表領域のデフォルト・タイプが決定します。

  • SET DEFAULT BIGFILE TABLESPACEまたはSET DEFAULT SMALLFILE TABLESPACEを指定します。

この句を省略すると、デフォルトでは、従来のタイプのOracle Database表領域であるsmallfile表領域が作成されます。smallfile表領域には最大1022ファイルを含めることができ、それぞれ400万ブロックまで設定できます。

bigfile表領域によってデータファイルがユーザーに対して完全に透過的になるため、bigfile表領域を使用するとOracle Managed Filesの機能がさらに強化されます。ALTER TABLESPACE文のSQL構文は、基礎になるデータファイルではなく表領域で操作を実行できるように拡張されています。

表領域のデフォルト・タイプがbigfile表領域であることを指定するには、「データベース作成時のOracle Managed Filesの作成」に示したCREATE DATABASE文を次のように変更します。

CREATE DATABASE mynewdb
     USER SYS IDENTIFIED BY sys_password
     USER SYSTEM IDENTIFIED BY system_password
     SET DEFAULT BIGFILE TABLESPACE
     UNDO TABLESPACE undotbs1
     DEFAULT TEMPORARY TABLESPACE tempts1;

デフォルトの表領域タイプをデータベース作成後に動的に変更するには、ALTER DATABASE文のSET DEFAULT TABLESPACE句を使用します。

ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;

データベースの現行のデフォルト一時表領域タイプを判断するには、DATABASE_PROPERTIESデータ・ディクショナリ・ビューを次のように問い合せます。

SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES 
   WHERE PROPERTY_NAME = 'DEFAULT_TBS_TYPE';
2.5.9.2 デフォルトの表領域タイプの上書き

SYSTEMおよびSYSAUX表領域は、常にデフォルトの表領域タイプで作成されます。ただし、UNDOおよびDEFAULT TEMPORARY表領域のデフォルトの表領域タイプは、CREATE DATABASE操作時に、オプションで明示的に上書きできます。

  • デフォルトの表領域タイプをオーバーライドするUNDO TABLESPACE句またはDEFAULT TEMPORARY TABLESPACE句を指定します。

たとえば、次のように指定すると、デフォルトの表領域タイプがsmallfileのデータベースで、bigfileのUNDO表領域を作成できます。

CREATE DATABASE mynewdb
...
     BIGFILE UNDO TABLESPACE undotbs1
        DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf'
        SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

次のように指定すると、デフォルトの表領域タイプがbigfileのデータベースで、smallfileのDEFAULT TEMPORARY表領域を作成できます。

CREATE DATABASE mynewdb
   SET DEFAULT BIGFILE TABLESPACE
...
     SMALLFILE DEFAULT TEMPORARY TABLESPACE tempts1
        TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf' 
        SIZE 20M REUSE
...

2.5.10 データベースのタイム・ゾーンとタイム・ゾーン・ファイルの指定

Oracle Databaseの日時データ型、期間データ型およびタイム・ゾーン・サポートにより、イベントとトランザクションの時間に関して一貫性のある情報を格納できます。

2.5.10.1 データベースのタイム・ゾーンの設定

CREATE DATABASE文のSET TIME_ZONE句を使用して、データベース・タイム・ゾーンを設定できます。

  • データベースの作成時にデータベースのタイム・ゾーンを設定するには、CREATE DATABASE文でSET TIME_ZONE句を使用します。

データベースのタイム・ゾーンを設定しない場合は、デフォルトでホスト・オペレーティング・システムのタイム・ゾーンに設定されます。

セッションのデータベース・タイム・ゾーンを変更するには、ALTER SESSION文でSET TIME_ZONE句を使用します。

関連項目:

データベース・タイム・ゾーンの設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

2.5.10.2 データベースのタイム・ゾーン・ファイルについて

Oracleホーム・ディレクトリのサブディレクトリには、次の2つのタイム・ゾーン・ファイルがあります。タイム・ゾーン・ファイルには有効なタイム・ゾーン名が含まれています。

タイム・ゾーンごとに次の情報も含まれています。

  • 協定世界時(UTC)からのオフセット。

  • 夏時間への移行時間。

  • 標準時間と夏時間の略称。

デフォルトのタイム・ゾーン・ファイルはORACLE_HOME/oracore/zoneinfo/timezlrg_11.datです。タイム・ゾーン数の少ないタイム・ゾーン・ファイルはORACLE_HOME/oracore/zoneinfo/timezone_11.datにあります。

ファイル内で、データベースで使用されているタイム・ゾーン名を表示するには、次の問合せを実行します。

SELECT * FROM V$TIMEZONE_NAMES;

関連項目:

タイム・ゾーン・ファイルの管理および選択の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

2.5.10.3 データベースのタイム・ゾーン・ファイルの指定

情報を共有しているすべてのデータベースが同じタイム・ゾーン・データファイルを使用する必要があります。

データベース・サーバーでは、定義数が多いタイム・ゾーン・ファイルが常にデフォルトで使用されます。

クライアントで小さなタイム・ゾーン・ファイルを使用するには、すべてのデータが小さなファイル内の地域のみ参照することを認識します。

  • クライアントのORA_TZFILE環境変数をクライアントのタイムゾーンversion.datファイルのフルパス名に設定します。versionは、データベース・サーバーで使用されるタイム・ゾーン・ファイル・バージョンと一致します。

デフォルトの定義数の多いタイム・ゾーン・ファイルをクライアントですでに使用している場合、定義数の少ないタイム・ゾーン・ファイルに変更するのは実用的ではありません。データベースに、定義数の少ないファイルには含まれていないタイム・ゾーンのデータが含まれている可能性があるためです。

2.5.11 FORCE LOGGINGモードの指定

一部のデータ定義言語文(CREATE TABLEなど)では、NOLOGGING句を使用できますが、ある種のデータベース操作ではデータベースREDOログにREDOレコードが生成されません。NOLOGGING句を設定すると、データベース・リカバリ・メカニズム外で容易にリカバリできる操作は高速化されますが、メディア・リカバリとスタンバイ・データベースに悪影響を与える可能性があります。

Oracle Databaseでは、DDL文にNOLOGGINGが指定されていても、REDOレコードを強制的に書き込ませることができます。データベースでは、一時表領域と一時セグメントのREDOレコードは生成されないため、FORCE LOGGINGはオブジェクトに影響を与えません。

関連項目:

NOLOGGINGモードで実行できる操作の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

2.5.11.1 FORCE LOGGING句の使用

NOLOGGINGがDDL文で指定されている場合でも、REDOレコードを強制的に書き込むことができます。

データベースをFORCE LOGGINGモードにするには:

  • CREATE DATABASE文にFORCE LOGGING句を含めます。

この句を指定しない場合、データベースはFORCE LOGGINGモードになりません。

データベースの作成後に、ALTER DATABASE文を使用してデータベースをFORCE LOGGINGモードにします。この文は、ロギングなしの直接書込みがすべて完了するまで待機するため、完了までに長時間かかる可能性があります。

次のSQL文を使用すると、FORCE LOGGINGモードを取り消すことができます。

ALTER DATABASE NO FORCE LOGGING;

データベースに対してFORCE LOGGINGを指定するかどうかに関係なく、表領域レベルでFORCE LOGGINGまたはNO FORCE LOGGINGを選択的に指定できます。ただし、FORCE LOGGINGモードがデータベースに対して有効になっている場合、表領域の設定より優先されます。データベースに対して有効になっていない場合、個々の表領域の設定が実行されます。データベース全体をFORCE LOGGINGモードにするか、または個々の表領域をFORCE LOGGINGモードにすることをお薦めしますが、一度に両方の設定を行わないでください。

FORCE LOGGINGモードは、データベースの永続属性です。つまり、データベースが停止され、再起動されても、同じロギング・モードのままです。ただし、制御ファイルを再作成すると、CREATE CONTROL FILE文でFORCE LOGGING句を指定しないかぎり、データベースはFORCE LOGGINGモードで再起動しません。

関連項目:

表領域の作成にFORCE LOGGING句を使用する方法の詳細は、「REDOレコードの書込みの制御」を参照してください。

2.5.11.2 FORCE LOGGINGモードのパフォーマンスに関する考慮点

FORCE LOGGINGモードは、ある程度のパフォーマンスの低下を伴います。

主として完全メディア・リカバリを確実に行うためにFORCE LOGGINGを指定し、アクティブになっているスタンバイ・データベースがない場合は、次の点を考慮する必要があります。

  • 発生すると思われるメディア障害の数

  • ロギングなしの直接書込みをリカバリできない場合のダメージの重大度

  • FORCE LOGGINGモードによるパフォーマンスの低下は許容範囲内かどうか

データベースがNOARCHIVELOGモードで稼働している場合、通常はFORCE LOGGINGモードにする利点はありません。NOARCHIVELOGモードではメディア・リカバリが不可能であるため、FORCE LOGGINGと組み合せて使用する場合は、ほとんど利点がなく、パフォーマンスが低下する可能性があります。

Oracle Databaseリリース18c以降には、次の2つの新しいNOLOGGING句が導入されています。この句を使用すると、ログに記録されない操作の実行と、Active Data Guardスタンバイ・データベースによるすべてのデータの受信が可能になるため、FORCE LOGGINGモードで生成される巨大なREDOログによるパフォーマンスの低下を防止できます。

  • STANDBY NOLOGGING FOR DATA AVAILABILITY

  • STANDBY NOLOGGING FOR LOAD PERFORMANCE

関連項目:

STANDBY NOLOGGING句の詳細は、『Oracle Data Guard概要および管理』を参照してください

2.6 初期化パラメータの指定

新しいデータベースを作成する前に、基本初期化パラメータを追加または編集できます。

関連項目:

2.6.1 初期化パラメータと初期化パラメータ・ファイルについて

Oracleインスタンスの起動時に、初期化パラメータ・ファイルから初期化パラメータが読み込まれます。このファイルでは、少なくともDB_NAMEパラメータを指定する必要があります。他のすべてのパラメータにはデフォルトの値があります。

初期化パラメータ・ファイルは、読取り専用のテキスト・ファイル(PFILE)または読取り/書込みのバイナリ・ファイルです。

バイナリ・ファイルはサーバー・パラメータ・ファイルと呼ばれています。サーバー・パラメータ・ファイルを使用すると、ALTER SYSTEMコマンドを使用して初期化パラメータを変更でき、変更内容は停止して起動した後も持続します。また、Oracle Databaseによる自己チューニングの基礎ともなります。このため、サーバー・パラメータ・ファイルを使用することをお薦めします。サーバー・パラメータ・ファイルは、編集済のテキスト形式の初期化ファイルから手動で作成するか、またはデータベースを作成するDatabase Configuration Assistant(DBCA)を使用して自動的に作成できます。

サーバー・パラメータ・ファイルを手動で作成する前に、テキスト形式の初期化パラメータ・ファイルを使用してインスタンスを起動できます。起動時に、Oracleインスタンスは最初にデフォルトの場所でサーバー・パラメータ・ファイルを検索し、見つからない場合は、テキスト形式の初期化パラメータ・ファイルを検索します。また、STARTUPコマンドの引数としてテキスト形式の初期化パラメータ・ファイルを指定すると、既存のサーバー・パラメータ・ファイルを上書きすることもできます。

テキスト形式の初期化パラメータ・ファイルのデフォルトのファイル名と場所は、次の表のとおりです。

プラットフォーム デフォルト名 デフォルトの場所

UNIXおよびLinux

initORACLE_SID.ora

たとえば、mynewdbデータベースの初期化パラメータ・ファイル名は次のようになります。

initmynewdb.ora

ORACLE_HOME/dbs

Windows

initORACLE_SID.ora

ORACLE_HOME\database

初めてOracle Databaseを作成する場合は、変更するパラメータ値の数を最小限にとどめておくことをお薦めします。データベースと環境に慣れてから、多数の初期化パラメータをALTER SYSTEM文で動的にチューニングします。テキスト形式の初期化パラメータ・ファイルを使用している場合、現行のインスタンスについてのみ変更できます。これを永続的にするには、初期化パラメータ・ファイル内で手動で更新する必要があり、更新しない場合は、次回データベースを停止して起動すると変更内容が失われます。サーバー・パラメータ・ファイルを使用している場合、ALTER SYSTEM文で行った初期化パラメータ・ファイルの変更内容は、停止して起動した後も持続します。

2.6.1.1 初期化パラメータ・ファイルのサンプル

Oracle Databaseには通常、適切な値が設定されたテキスト形式の初期化パラメータのサンプルが用意されています。構成やオプション、およびデータベースのチューニング計画によっては、オラクル社が提供するこれらの初期化パラメータを編集し、他の初期化パラメータを追加することが可能です。

テキスト形式の初期化パラメータ・ファイルのサンプルはinit.oraという名前で、ほとんどのプラットフォームの次の場所にあります。

ORACLE_HOME/dbs

サンプル・ファイルの内容は、次のとおりです。

##############################################################################
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you start by providing
# a starting point to customize your RDBMS installation for your site. 
# 
# NOTE: The values that are used in this file are only intended to be used
# as a starting point. You may want to adjust/tune those values to your
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
###############################################################################
 
# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)
 
db_name='ORCL'
memory_target=1G
processes = 150
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='12.0.0'
2.6.1.2 テキスト形式の初期化パラメータ・ファイル

テキスト形式の初期化パラメータ・ファイルでは、パラメータの値を名前/値ペアで指定します。

テキスト形式の初期化パラメータ・ファイル(PFILE)には、次のいずれかの書式の名前/値ペアを含める必要があります。

  • 値を1つのみ受け入れるパラメータの場合

    parameter_name=value
    
  • 1つ以上の値を受け入れるパラメータの場合(CONTROL_FILESパラメータなど)

    parameter_name=(value[,value] ...)
    

文字列型のパラメータ値は、一重引用符(')で囲む必要があります。ファイル名の大/小文字区別が有効になるのは、ホスト・オペレーティング・システムで有効な場合のみです。

複数の値を受け入れるパラメータの場合、アラート・ログから名前/値ペアを簡単にコピーして貼り付けられるように、複数行でパラメータを繰り返すことができます。この場合、各行には異なる値が含まれます。

control_files='/u01/app/oracle/oradata/orcl/control01.ctl'
control_files='/u01/app/oracle/oradata/orcl/control02.ctl'
control_files='/u01/app/oracle/oradata/orcl/control03.ctl'

複数の値を受け入れないパラメータを繰り返した場合、最後に指定した値のみが有効です。

関連項目:

2.6.2 グローバル・データベース名の決定

グローバル・データベース名は、ユーザー指定のローカル・データベース名と、ネットワーク構造内でのデータベースの位置で構成されます。

  • DB_NAMEおよびDB_DOMAIN初期化パラメータを設定します。

データベース名のローカル名コンポーネントはDB_NAME初期化パラメータによって決定し、ネットワーク構造内のドメイン(論理的な位置)はオプションで指定できるDB_DOMAINパラメータによって決定します。これら2つのパラメータの設定を組み合せて、ネットワーク内で一意になるデータベース名を形成する必要があります。

たとえば、test.us.example.comというグローバル・データベース名を持つデータベースを作成するには、新しいパラメータ・ファイルのパラメータを次のように編集します。

DB_NAME = test
DB_DOMAIN = us.example.com

ALTER DATABASE RENAME GLOBAL_NAME文を使用すると、データベースのGLOBAL_NAMEを変更できます。ただし、最初にDB_NAMEおよびDB_DOMAIN初期化パラメータを変更し、制御ファイルを再作成した後に、データベースを停止して再起動する必要があります。制御ファイルの再作成は、ALTER DATABASE BACKUP CONTROLFILE TO TRACEコマンドで簡単に行えます。詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

関連項目:

データベース名の別の変更手段であるDBNEWIDユーティリティの使用方法は、『Oracle Databaseユーティリティ』を参照してください。

2.6.2.1 DB_NAME初期化パラメータ

データベース識別子はDB_NAME初期化パラメータで指定します。

DB_NAMEには、8文字以内のテキスト文字列を設定する必要があります。データベース名はアルファベットで開始する必要があります。DB_NAMEに指定した名前は、データベースの作成時に、データベースのデータファイル、REDOログ・ファイルおよび制御ファイルに記録されます。データベース・インスタンスの起動時に、(パラメータ・ファイル内の)DB_NAMEパラメータの値と制御ファイル内のデータベース名が一致しないと、データベースは起動しません。

2.6.2.2 DB_DOMAIN初期化パラメータ

分散データベース・システムでは、DB_DOMAIN初期化パラメータには、ネットワーク構造内でのデータベースの論理上の位置を指定します。

DB_DOMAINは、データベースが作成されるネットワーク・ドメインを指定するテキスト文字列です。作成しようとしているデータベースが分散データベース・システムの一部である場合は、データベースを作成する前に、この初期化パラメータに特に注意してください。このパラメータは省略可能です。

関連項目:

分散データベースの詳細は、「分散データベースの管理」を参照してください

2.6.3 高速リカバリ領域の指定

高速リカバリ領域とは、Oracle Databaseでバックアップおよびリカバリに関連するファイルを格納および管理できる場所のことです。これは、現在のデータベース・ファイル(データファイル、制御ファイルおよびオンラインREDOログ)の場所であるデータベース領域とは別です。

高速リカバリ領域を指定するには、次の初期化パラメータを使用します。

  • DB_RECOVERY_FILE_DEST: 高速リカバリ領域の場所。ディレクトリ、ファイル・システムまたは自動ストレージ管理(Oracle ASM)のディスク・グループです。

    Oracle Real Application Clusters(Oracle RAC)環境では、この位置はクラスタ・ファイル・システム、Oracle ASMディスク・グループ、またはNFSを介して構成された共有ディレクトリであることが必要です。

  • DB_RECOVERY_FILE_DEST_SIZE: 高速リカバリ領域で使用される最大総バイト数を指定します。この初期化パラメータは、DB_RECOVERY_FILE_DESTを使用可能にする前に指定する必要があります。

Oracle RAC環境では、これら2つのパラメータの設定がすべてのインスタンスで同じであることが必要です。

これらのパラメータは、LOG_ARCHIVE_DESTおよびLOG_ARCHIVE_DUPLEX_DESTパラメータの値を設定している場合は使用可能にできません。高速リカバリ領域を設定する前に、これらのパラメータを使用禁止にする必要があります。かわりに、LOG_ARCHIVE_DEST_nパラメータの値を設定できます。

高速リカバリ領域によってデータベースのバックアップ操作およびリカバリ操作が簡素化されるため、この領域を使用することをお薦めします。

関連項目:

高速リカバリ領域の作成方法と使用方法を学習するには、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

2.6.4 制御ファイルの指定

すべてのデータベースには、データベースの構造(名前、作成時のタイムスタンプ、データ・ファイルおよびREDOファイルの名前や場所など)を記述する制御ファイルがあります。CONTROL_FILES初期化パラメータには、1つ以上の制御ファイル名をカンマで区切って指定します。

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

CREATE DATABASE文を実行すると、CONTROL_FILESパラメータに記述した制御ファイルが作成されます。

初期化パラメータ・ファイルにCONTROL_FILESを指定しないと、オペレーティング・システム固有のデフォルト・ファイル名を使用して、初期化パラメータ・ファイルと同じディレクトリにOracle Databaseが制御ファイルを作成します。Oracle Managed Filesが使用可能な場合は、Oracle Managed Filesの制御ファイルが作成されます。

データベース用の制御ファイルを作成するときに新しいオペレーティング・システム・ファイルを作成する場合は、CONTROL_FILESパラメータに記述されているファイル名がシステム上に現在存在するいずれのファイル名とも一致しないことを確認してください。データベース用の制御ファイルを作成するときに既存のファイルを再利用または上書きする場合は、CONTROL_FILESパラメータに記述されているファイル名が、再利用されるファイル名と一致することを確認し、CREATE DATABASE文にCONTROLFILE REUSE句を指定します。

データベースごとに、少なくとも2つの制御ファイルを別々の物理ディスク・ドライブに格納して使用することをお薦めします。

2.6.5 データベース・ブロック・サイズの指定

DB_BLOCK_SIZE初期化パラメータは、データベースの標準ブロック・サイズを指定します。

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

このブロック・サイズはSYSTEM表領域に使用され、その他の表領域ではデフォルトで使用されます。Oracle Databaseは、最大4つの非標準ブロック・サイズをサポートします。

2.6.5.1 DB_BLOCK_SIZE初期化パラメータ

標準ブロック・サイズには、最も一般的に使用するブロック・サイズを選択します。多くの場合、設定が必要なブロック・サイズはこれのみです。

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

通常、DB_BLOCK_SIZEは4Kまたは8Kに設定します。このパラメータの値を指定しないと、オペレーティング・システム固有のデフォルト・データ・ブロック・サイズが使用されますが、大抵の場合、このデフォルト・ブロック・サイズで十分です。

データベースの作成後は、データベースを再作成する以外にブロック・サイズを変更する方法はありません。データベースのブロック・サイズがオペレーティング・システムのブロック・サイズと異なる場合は、データベースのブロック・サイズがオペレーティング・システムのブロック・サイズの倍数であることを確認してください。たとえば、使用しているオペレーティング・システムのブロック・サイズが2KB(2048バイト)の場合、次のDB_BLOCK_SIZE初期化パラメータの設定は有効です。

DB_BLOCK_SIZE=4096

データ・ブロック・サイズを大きくすると、ディスクとメモリーのI/O(データのアクセスと格納)の効率が向上します。したがって、次の条件に該当する場合は、オペレーティング・システムのブロック・サイズより大きいブロック・サイズの指定を考慮してください。

  • Oracle Databaseが大容量メモリーと高速ディスク・ドライブを装備した大型コンピュータ・システム上にある場合。たとえば、莫大なハードウェア資源を有するメインフレーム・コンピュータによって制御されるデータベースは、通常4KB以上のデータ・ブロック・サイズを使用します。

  • Oracle Databaseが動作するオペレーティング・システムのブロック・サイズが小さい場合。たとえば、オペレーティング・システムのブロック・サイズが1KBで、この値がデフォルトのデータ・ブロック・サイズと一致する場合、データベースは通常の処理で過度のディスクI/Oを実行している可能性があります。この場合にパフォーマンスを最高にするには、データベース・ブロックを複数のオペレーティング・システム・ブロックから構成する必要があります。

    関連項目:

    デフォルトのブロック・サイズの詳細は、オペレーティング・システム固有のOracleマニュアルを参照してください。

2.6.5.2 非標準ブロック・サイズ

非標準ブロック・サイズの表領域を作成できます。

非標準ブロック・サイズの表領域を作成するには:

  • CREATE TABLESPACE文でBLOCKSIZE句を指定します。

これらの非標準ブロック・サイズには、2の累乗である2KB、4KB、8KB、16KB、32KBのいずれかを指定します。最大ブロック・サイズに関するプラットフォーム固有の制限が適用されるので、プラットフォームによっては、これらのサイズの一部は指定できない場合があります。

非標準ブロック・サイズを使用する場合は、使用するすべての非標準ブロック・サイズについて、SGAメモリーのバッファ・キャッシュ領域内にサブキャッシュを構成する必要があります。これらのサブキャッシュの構成に使用する初期化パラメータについては、「自動共有メモリー管理の使用」を参照してください。

データベースに複数のブロック・サイズを指定できる機能は、特にデータベース間で表領域をトランスポートする場合に役立ちます。たとえば、OLTP環境から、8KBの標準ブロック・サイズを使用するデータ・ウェアハウス環境に、4KBのブロック・サイズを使用する表領域をトランスポートできます。

ノート:

32KBのブロック・サイズは、64ビットのプラットフォームでのみ有効です。

注意:

セクター・サイズが4KBのディスクを使用している場合、パフォーマンスが低下する可能性があるため、2KBのブロック・サイズを指定することはお薦めしません。詳細は、「REDOログ・ファイルのブロック・サイズの計画」を参照してください。

2.6.6 最大プロセス数の指定

Oracle Databaseに同時に接続できるオペレーティング・システム・プロセスの最大数は、PROCESSES初期化パラメータによって決定します。

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

このパラメータの値は、最低でも各バックグラウンド・プロセスごとに1つ、および各ユーザー・プロセスごとに1つです。バックグラウンド・プロセスの数は、使用しているデータベースの機能によって異なります。たとえば、アドバンスト・キューイングまたはファイル・マッピング機能を使用している場合は、追加のバックグラウンド・プロセスが必要です。自動ストレージ管理を使用している場合は、データベース・インスタンス用に追加プロセスを3つ追加します。

50のユーザー・プロセスを実行する予定の場合は、PROCESSES初期化パラメータの値を70に見積もって設定することをお薦めします。

2.6.7 DDLロック・タイムアウトの指定

ブロッキングDDL文がロックを待機する時間を指定できます。

データ定義言語(DDL)文は非ブロッキングまたはブロッキングのいずれかで、どちらのタイプのDDL文にも内部構造の排他ロックが必要です。DDL文の実行時にこのようなロックが使用できない場合、非ブロッキングDDL文とブロッキングDDL文の動作は異なります。

  • 非ブロッキングDDLは、DDLの影響を受けるオブジェクトを参照している同時DMLトランザクションがすべてコミットするかロール・バックするまで待機します。

  • ブロッキングDDLは、ロックが使用できるようになった直後に実行していれば成功するような場合でも失敗します。

ブロッキングDDL文でロックを待機できるようにするには、DDLロック・タイムアウトを指定します。これは、DDLコマンドが必要なロックを待機する秒数であり、この秒数を超えるとDDL文は失敗します。

  • DDLロック・タイムアウトを指定するには、DDL_LOCK_TIMEOUTパラメータを設定します。

設定可能なDDL_LOCK_TIMEOUTの値の範囲は、0から1,000,000です。デフォルトは0です。DDL_LOCK_TIMEOUTは、ALTER SESSION文を使用して、システム・レベルまたはセッション・レベルで設定できます。

ノート:

DDL_LOCK_TIMEOUTパラメータは、非ブロッキングDDL文に作用しません。

2.6.8 UNDO領域管理方法の指定

すべてのOracle Databaseには、データベースの変更を取り消すために使用する情報の管理方法が必要です。これらの情報は、主にコミットされる前のトランザクションの処理レコードから構成されます。これらのレコードを総称してUNDOデータと呼びます。

UNDO表領域を使用する自動UNDO管理用の環境を設定する手順。

  • UNDO_MANAGEMENT初期化パラメータをデフォルトのAUTOに設定します。

関連項目:

UNDOの管理

2.6.8.1 UNDO_MANAGEMENT初期化パラメータ

UNDO_MANAGEMENT初期化パラメータでは、インスタンスを自動UNDO管理モード(UNDOがUNDO表領域に格納されます)で起動するかどうかを指定します。自動UNDO管理モードを使用可能にするには、このパラメータをAUTOに設定します。パラメータを省略するか、NULLにすると、デフォルトでAUTOになります。

2.6.8.2 UNDO_TABLESPACE初期化パラメータ

UNDO_TABLESPACE初期化パラメータでは、インスタンスのデフォルトのUNDO表領域をオーバーライドできます。

インスタンスを自動UNDO管理モードで起動すると、そのインスタンスは、UNDOデータを格納するためのUNDO表領域を選択しようとします。自動UNDO管理モードでデータベースが作成されている場合は、デフォルトのUNDO表領域(システム生成のSYS_UNDOTBS表領域またはユーザー指定のUNDO表領域)が、インスタンス起動時に使用されるUNDO表領域となります。インスタンスに対するこのデフォルトは、UNDO_TABLESPACE初期化パラメータに値を指定することで上書きできます。このパラメータは特に、Oracle Real Application Clusters環境のインスタンスに特定のUNDO表領域を割り当てる際に役立ちます。

UNDO表領域がUNDO_TABLESPACE初期化パラメータによって指定されていない場合は、データベース内で最初に使用可能なUNDO表領域が選択されます。使用可能なUNDO表領域がない場合、インスタンスはUNDO表領域のない状態で起動し、UNDOデータはSYSTEM表領域に書き込まれます。このモードでは実行しないようにしてください。

ノート:

CREATE DATABASE文を使用してデータベースを作成するときには、UNDO_TABLESPACEパラメータを初期化パラメータ・ファイルに指定しないでください。かわりに、UNDO TABLESPACE句をCREATE DATABASE文に指定します。

2.6.9 データベースの互換性レベルの指定

データベースの互換レベルは、COMPATIBLE初期化パラメータによって制御されます。

  • COMPATIBLE初期化パラメータをリリース番号に設定します。

2.6.9.1 COMPATIBLE初期化パラメータについて

COMPATIBLE初期化パラメータによって、ディスクのファイル形式に影響を与える機能の使用をデータベースで使用可能または使用不可にできます。たとえば、Oracle Database 19cデータベースを作成しても、初期化パラメータ・ファイルにCOMPATIBLE=12.0.0を指定すると、Oracle Database 19cとの互換性が必要な機能の使用を試行した場合にエラーが生成されます。これは、データベースが12.0.0互換性レベルにあるとみなされているためです。

COMPATIBLE初期化パラメータを変更することによって、データベースの互換性レベルを上げることができます。このようにすると、設定した互換性レベルよりも低いレベルではデータベースを起動できなくなりますが、互換性を上げる前の時点にPoint-in-Timeリカバリを実行することはできます。

COMPATIBLEパラメータのデフォルト値は、主要な最新リリースの番号です。

ノート:

  • Oracle Database 19cの場合、COMPATIBLEパラメータのデフォルト値は19.0.0です。最小値は12.0.0です。デフォルト値を使用してOracle Databaseを作成すると、このリリースのすべての新機能をすぐに使用できますが、データベースはダウングレードできなくなります。

  • このパラメータをALTER SYSTEM文を使用してサーバー・パラメータ・ファイル(SPFILE)に設定する場合、SCOPE=SPFILEを指定し、データベースを再起動して変更を有効にする必要があります。

  • COMPATIBLE初期化パラメータは、19.0.0のように、ドットで区切られた3桁以上の数字として指定する必要があります。

関連項目:

2.6.10 ライセンスに関するパラメータの設定

指名ユーザー・ライセンスを使用している場合、Oracle Databaseではこの形式のライセンスを施行できます。データベース内に作成するユーザーの数に対して、制限を設定できます。この制限に達すると、それ以上のユーザーは作成できません。

ノート:

このメカニズムでは、データベースにアクセスする人がそれぞれ一意のユーザー名を持ち、ユーザー名を共有していないものと想定しています。したがって、指名ユーザー・ライセンスによってOracleのライセンス契約に従っていることを保証できるように、複数のユーザーが同じ名前を使用してログインすることを許可しないでください。

データベースに作成するユーザー数を制限するには、そのデータベースの初期化パラメータ・ファイルにLICENSE_MAX_USERS初期化パラメータを設定します。

次の例は、LICENSE_MAX_USERS初期化パラメータを設定します。

LICENSE_MAX_USERS = 200

ノート:

Oracleでは、同時セッションの数によるライセンス提供がなくなりました。したがって、LICENSE_MAX_SESSIONSおよびLICENSE_SESSIONS_WARNING初期化パラメータは不要のため、非推奨になりました。

2.7 サーバー・パラメータ・ファイルを使用した初期化パラメータの管理

Oracle Databaseの初期化パラメータは、テキスト形式の初期化パラメータ・ファイルに格納されていました。管理性を向上させるために、データベースを起動および停止している間も持続するバイナリ形式のサーバー・パラメータ・ファイルによる初期化パラメータのメンテナンスを選択できます。

2.7.1 サーバー・パラメータ・ファイルの概要

サーバー・パラメータ・ファイルは、Oracle Databaseサーバーが稼働するシステムで管理される初期化パラメータのリポジトリと考えられます。これは、サーバー側の初期化パラメータ・ファイルとして設計されています。

サーバー・パラメータ・ファイルに格納された初期化パラメータは持続性があり、インスタンスの実行中に加えられたパラメータへの変更はインスタンスの停止から起動までの間も持続します。この配置によって、ALTER SYSTEM文による変更を持続させるために、初期化パラメータを手動で更新する必要がなくなります。また、Oracle Databaseサーバーによる自己チューニングの基礎ともなります。

最初のサーバー・パラメータ・ファイルは、CREATE SPFILE文を使用して、テキスト形式の初期化パラメータ・ファイルから作成します。(Database Configuration Assistantで直接作成することもできます。)サーバー・パラメータ・ファイルは、テキスト・エディタで編集できないバイナリ・ファイルです。Oracle Databaseには、サーバー・パラメータ・ファイル内のパラメータの設定を表示および変更するために、他のインタフェースが用意されています。

ノート:

テキスト・エディタでバイナリ形式のサーバー・パラメータ・ファイルをオープンし、そのテキストを表示することは可能ですが、手動で編集しないでください。手動で編集すると、ファイルが破損します。また、インスタンスが起動できなくなり、たとえインスタンスが起動しても失敗します。

PFILE句を指定せずにSTARTUPコマンドを発行すると、Oracleインスタンスは、オペレーティング・システム固有のデフォルトの位置でサーバー・パラメータ・ファイルを検索し、そのファイルから初期化パラメータの設定を読み込みます。サーバー・パラメータ・ファイルが見つからない場合は、テキスト形式の初期化パラメータ・ファイルを検索します。サーバー・パラメータ・ファイルがあってもテキスト形式の初期化パラメータ・ファイルの設定を優先する場合は、STARTUPコマンドの発行時にPFILE句を指定する必要があります。サーバー・パラメータ・ファイルを使用してインスタンスを起動する方法の詳細は、「データベースの起動」を参照してください。

2.7.2 サーバー・パラメータ・ファイルへの移行

現在、テキスト形式の初期化パラメータ・ファイルを使用している場合は、サーバー・パラメータ・ファイルに移行できます。

サーバー・パラメータ・ファイルへ移行するには:

  1. 初期化パラメータ・ファイルがクライアント・システム上にある場合は、FTPなどを使用して、クライアント・システムからサーバー・システムにファイルを転送してください。

    ノート:

    Oracle Real Application Clusters環境でサーバー・パラメータ・ファイルに移行する場合は、インスタンス固有のすべての初期化パラメータ・ファイルを、1つの初期化パラメータ・ファイルに結合する必要があります。この操作の方法、およびOracle Real Application Clustersのインストールの一部であるインスタンスでサーバー・パラメータ・ファイルを使用する際の固有の処理については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』および使用しているプラットフォーム固有のOracle Real Application Clustersインストレーション・ガイドを参照してください。

  2. CREATE SPFILE FROM PFILE文を使用して、デフォルト位置にサーバー・パラメータ・ファイルを作成します。詳細は、「サーバー・パラメータ・ファイルの作成」を参照してください。

    この文を実行すると、テキスト形式の初期化パラメータ・ファイルが読み込まれて、サーバー・パラメータ・ファイルが作成されます。CREATE SPFILE文を発行するために、データベースを起動する必要はありません。

  3. インスタンスを起動または再起動します。

    インスタンスはデフォルト位置にある新規SPFILEを検出し、そのファイルを使用して起動します。

2.7.3 サーバー・パラメータ・ファイルのデフォルトの名前と場所

SPFILEの名前と格納場所には、データベースによるデフォルト設定を使用することをお薦めします。これにより、データベースの管理が容易になります。たとえば、STARTUPコマンドはこのデフォルトの場所を想定して、SPFILEを読み込みます。

次の表は、UNIX、LinuxおよびWindowsのプラットフォームごとに、テキスト形式の初期化パラメータ・ファイル(PFILE)とサーバー・パラメータ・ファイル(SPFILE)の両方のデフォルトの名前と場所を示しています(Oracle Automatic Storage Management(Oracle ASM)を使用する場合と使用しない場合について)。この表では、SPFILEをファイルと想定しています。

表2-3 UNIX、LinuxおよびWindowsにおけるPFILEおよびSPFILEのデフォルトの名前と場所

プラットフォーム PFILEのデフォルト名 SPFILEのデフォルト名 PFILEのデフォルトの場所 SPFILEのデフォルトの場所

UNIXおよびLinux

initORACLE_SID.ora

spfileORACLE_SID.ora

Oracle_Home/dbsまたはデータファイルと同じ場所

Oracle ASMを使用しない場合:

Oracle_Home/dbsまたはデータファイルと同じ場所

Oracle ASMが存在する場合:

データファイルと同じディスク・グループ(データベースがDBCAによって作成されたことを想定)

Windows

initORACLE_SID.ora

spfileORACLE_SID.ora

Oracle_Home\database

Oracle ASMを使用しない場合:

OH\database

Oracle ASMが存在する場合:

データファイルと同じディスク・グループ(データベースがDBCAによって作成されたことを想定)

ノート:

起動時に、インスタンスは最初にspfileORACLE_SID.oraという名前のSPFILEを検索し、見つからない場合はspfile.oraを検索します。spfile.oraを使用すると、すべてのReal Application Clusters(Oracle RAC)インスタンスで同じサーバー・パラメータ・ファイルを使用できます。

いずれのSPFILEも見つからない場合、インスタンスはテキスト形式の初期化パラメータ・ファイルinitORACLE_SID.oraを検索します。

デフォルトの場所以外の場所にSPFILEを作成する場合は、デフォルトのPFILEの場所に、そのサーバー・パラメータ・ファイルを指し示すスタブPFILEを作成する必要があります。詳細は、「データベースの起動」を参照してください。

Oracle ASMが存在する場合にDBCAを使用してデータベースを作成すると、DBCAによってSPFILEはOracle ASMディスク・グループ内に配置され、このスタブPFILEも作成されます。

2.7.4 サーバー・パラメータ・ファイルの作成

サーバー・パラメータ・ファイルを作成するには、CREATE SPFILE文を使用します。この文を実行するには、SYSDBASYSOPERまたはSYSBACKUP管理権限が必要です。

サーバー・パラメータ・ファイルを作成するには:

  • CREATE SPFILE文を実行します。

ノート:

Database Configuration Assistantを使用してデータベースを作成した場合は、サーバー・パラメータ・ファイルが自動的に作成されます。

CREATE SPFILE文は、インスタンスの起動前後に実行できます。ただし、すでにサーバー・パラメータ・ファイルを使用してインスタンスを起動している場合に、インスタンスで現在使用されているのと同じサーバー・パラメータ・ファイルを再作成しようとすると、エラーが発生します。

サーバー・パラメータ・ファイル(SPFILE)は、既存のテキスト形式の初期化パラメータ・ファイルまたはメモリーから作成できます。メモリーからのSPFILEの作成では、実行中のインスタンス内の初期化パラメータの現行値をSPFILEにコピーします。

次の例では、テキスト形式の初期化パラメータ・ファイル/u01/oracle/dbs/init.oraからサーバー・パラメータ・ファイルを作成しています。この例ではSPFILEの名前を指定していないため、ファイルは、表2-3に示したプラットフォーム固有のデフォルトの名前と場所で作成されます。

CREATE SPFILE FROM PFILE='/u01/oracle/dbs/init.ora';

次の例では、名前と場所を指定してサーバー・パラメータ・ファイルを作成しています。

CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora'
       FROM PFILE='/u01/oracle/dbs/test_init.ora';

次の例では、メモリー内の初期化パラメータの現行値から、デフォルトの場所にサーバー・パラメータ・ファイルを作成しています。

CREATE SPFILE FROM MEMORY;

デフォルトのSPFILE名と場所を使用するか、SPFILE名と場所を指定するかどうかに関係なく、同じ名前のSPFILEがその場所にすでに存在する場合は、警告メッセージなしに上書きされます。

テキスト形式の初期化パラメータ・ファイルからSPFILEを作成すると、初期化パラメータ・ファイル内のパラメータ設定と同じ行に記述されているコメントもSPFILEで管理されます。他のコメントはすべて無視されます。

2.7.5 SPFILE初期化パラメータ

SPFILE初期化パラメータには、現在のサーバー・パラメータ・ファイルの名前を指定します。

データベースでデフォルトのサーバー・パラメータ・ファイルが使用されている場合(つまり、PFILEパラメータを指定せずにSTARTUPコマンドを発行した場合)、SPFILEの値はサーバーによって内部的に設定されます。SQL*PlusコマンドのSHOW PARAMETERS SPFILE(またはパラメータの値を問い合せる他の方法)を使用すると、現在使用中のサーバー・パラメータ・ファイルの名前が表示されます。

2.7.6 初期化パラメータ値の変更

データベース・インスタンスの操作に影響する初期化パラメータ値を変更できます。

2.7.6.1 初期化パラメータ値の変更について

ALTER SYSTEM文を使用すると、初期化パラメータ値を設定、変更またはデフォルトにリストアできます。テキスト形式の初期化パラメータ・ファイルを使用している場合、現行のインスタンスに対するパラメータの値のみALTER SYSTEM文で変更されます。これは、ディスク上のテキスト形式の初期化パラメータを自動的に更新するメカニズムがないためです。以後のインスタンスに渡すためには、ディスク上の初期化パラメータを手動で更新する必要があります。サーバー・パラメータ・ファイルを使用している場合は、このような制限はありません。

初期化パラメータには、次の2種類があります。

  • 動的な初期化パラメータ: 現行のOracle Databaseインスタンスに対して変更できます。変更は即時に有効になります。

  • 静的な初期化パラメータ: 現行のインスタンスに対して変更できません。これらのパラメータはテキスト形式の初期化パラメータまたはサーバー・パラメータ・ファイルで変更し、変更を有効にするにはデータベースを再起動する必要があります。

2.7.6.2 初期化パラメータ値の設定または変更

サーバー・パラメータ・ファイルで、ALTER SYSTEM文のSET句を使用して初期化パラメータ値を設定または変更します。

  • ALTER SYSTEM SET文を実行します。

たとえば、次の文は、接続を中断するまでのログイン試行の最大失敗回数を変更します。ここにはコメントが含まれており、変更をサーバー・パラメータ・ファイルにのみ適用することを明示しています。

ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=3
                 COMMENT='Reduce from 10 for tighter security.'
                 SCOPE=SPFILE;

次の例では、属性のリストをとる複雑な初期化パラメータを設定しています。値を設定するパラメータは、LOG_ARCHIVE_DEST_n初期化パラメータです。この文によって、このパラメータの既存の設定を変更するか、または新しいアーカイブ先を作成できます。

ALTER SYSTEM 
     SET LOG_ARCHIVE_DEST_4='LOCATION=/u02/oracle/rbdb1/',MANDATORY,'REOPEN=2'
         COMMENT='Add new destination on Nov 29'
         SCOPE=SPFILE;

値がパラメータのリストで構成されている場合は、位置または序数によって個々の属性を編集することはできません。パラメータを更新するたびに、完全な値のリストを指定する必要があります。これによって、新しいリストで古いリストが完全に置換されます。

2.7.6.2.1 ALTER SYSTEM SET文のSCOPE句

ALTER SYSTEM SET文のオプションのSCOPE句では、初期化パラメータの変更のスコープを指定します。

SCOPE句 説明

SCOPE = SPFILE

サーバー・パラメータ・ファイルのみに変更が適用されます。その場合、それぞれ次のような結果になります。

  • 変更は現行インスタンスには適用されません。

  • 動的パラメータと静的パラメータの両方について、次の起動時に変更が有効になり、以後持続します。

静的パラメータでは、SCOPE指定のみ使用できます。

SCOPE = MEMORY

メモリーのみに変更が適用されます。その場合、それぞれ次のような結果になります。

  • 変更は現行インスタンスに適用され、即時に有効になります。

  • 動的パラメータの場合は、変更が即時に有効になりますが、サーバー・パラメータ・ファイルは更新されないので、変更は持続しません。

静的パラメータでは、この指定は使用できません。

SCOPE = BOTH

サーバー・パラメータ・ファイルとメモリーの両方に変更が適用されます。その場合、それぞれ次のような結果になります。

  • 変更は現行インスタンスに適用され、即時に有効になります。

  • 動的パラメータの場合は、サーバー・パラメータ・ファイルが更新されるので、変更が持続します。

静的パラメータでは、この指定は使用できません。

インスタンスがサーバー・パラメータ・ファイルを使用して起動していない場合にSCOPE=SPFILEまたはSCOPE=BOTHを指定すると、エラーが発生します。デフォルトは、インスタンス起動時にサーバー・パラメータ・ファイルを使用した場合はSCOPE=BOTH、テキスト形式の初期化パラメータ・ファイルを使用した場合はMEMORYになります。

動的パラメータの場合は、DEFERREDキーワードを指定することもできます。このキーワードを指定すると、これから確立するセッションでのみ変更が有効になります。

SCOPESPFILEまたはBOTHに指定した場合は、オプションのCOMMENT句を使用すると、パラメータの更新にテキスト文字列を関連付けることができます。サーバー・パラメータ・ファイルにコメントが記述されます。

2.7.7 初期化パラメータ値のクリア

ALTER SYSTEM RESET文を使用すると、初期化パラメータ値をクリアできます。これを行うと、初期化パラメータ値はデフォルト値または開始値に変更されます。

ALTER SYSTEM RESET文にはSCOPE句が含まれています。ALTER SYSTEM RESET文およびSCOPE句を非CDBまたはマルチテナント・コンテナ・データベース(CDB)ルートで実行した場合は、この文がプラガブル・データベース(PDB)、アプリケーション・ルートまたはアプリケーションPDBで実行された場合と異なる動作となります。

パラメータの開始値は、インスタンスの起動またはPDBのオープンが完了した後のメモリー内のパラメータの値です。この値は、起動直後にV$SYSTEM_PARAMETERビューのVALUE列およびDISPLAY_VALUE列に表示されます。パラメータの値は起動時に内部的に調整されることがあるため、開始値はspfileの値またはデフォルト値(spfileにパラメータが設定されていない場合)と異なる場合があります。

ALTER SYSTEM RESET文のSCOPE値は、非CDBおよびCDBのCDB$ROOTでは次のように動作します。

  • SCOPE=SPFILE: インスタンスでspfileが使用されている場合は、spfileからパラメータを削除します。次のインスタンスの起動時に、デフォルト値が有効になります。

  • SCOPE=MEMORY: 開始値がすぐに有効になります。ただし、変更はインスタンスのspfileに格納されず、インスタンスの再起動時に失われます。

  • SCOPE=BOTH: インスタンスでspfileが使用されている場合は、spfileからパラメータを削除します。デフォルト値が即座に有効になり、この変更はインスタンスを再起動しても維持されます。

ノート:

SCOPE=BOTHSCOPE=MEMORYの動作を変更します。SCOPE=BOTHを発行すると、その後のSCOPE=MEMORYでは常にパラメータがデフォルト値にリセットされます。

ALTER SYSTEM RESET文のSCOPE値は、PDB、アプリケーション・ルートまたはアプリケーションPDBでは次のように動作します。

  • SCOPE=SPFILE: コンテナのspfileからパラメータを削除します。コンテナは次にPDBがオープンされたときにルートからパラメータ値を継承します。

  • SCOPE=MEMORY: 次に2つの例を示します。

    • パラメータはコンテナがオープンされたときにコンテナのspfileに存在します。パラメータ値はパラメータの開始値に更新されます。この変更はコンテナのspfileに格納されず、次にコンテナがオープンされたときに失われます。

    • パラメータはコンテナがオープンされたときにコンテナのspfileに存在しません。コンテナはルートからパラメータ値を継承して起動されます。

  • SCOPE=BOTH: コンテナのspfileからパラメータを削除します。コンテナはルートからパラメータ値を継承します。

ノート:

  • SCOPE=BOTHSCOPE=MEMORYの動作を変更します。SCOPE=BOTHが発行された後にSCOPE=MEMORYが発行されると、コンテナは常にルートからパラメータ値を継承します。

  • コンテナがルートからパラメータ値を継承する場合、PDBはCDB$ROOTから値を継承します。アプリケーション・コンテナでは、アプリケーションPDBはアプリケーション・ルートからパラメータ値を継承し、アプリケーション・ルートはCDB$ROOTからパラメータ値を継承します。

関連項目:

2.7.8 サーバー・パラメータ・ファイルのエクスポート

CREATE PFILE文を使用すると、サーバー・パラメータ・ファイル(SPFILE)をテキスト形式の初期化パラメータ・ファイルにエクスポートできます。

  • CREATE PFILE文を実行します。

いくつかの理由でサーバー・パラメータ・ファイルのエクスポートが必要な場合があります。

  • 診断のために、現在インスタンスで使用しているすべてのパラメータのリストを作成する場合。これは、SQL*PlusのSHOW PARAMETERSコマンド、あるいはV$PARAMETERまたはV$PARAMETER2ビューの選択と同じです。

  • 最初にエクスポートし、結果のテキスト・ファイルを編集してから、CREATE SPFILE文を使用して再作成するという手順で、サーバー・パラメータ・ファイルを変更する場合

PFILE句にエクスポート・ファイルを指定して、インスタンスを起動することもできます。

CREATE PFILE文を実行するには、SYSDBASYSOPERまたはSYSBACKUP管理権限が必要です。エクスポート・ファイルは、データベース・サーバー・システム上に作成されます。そこには、パラメータ設定と同じ行に記述されているパラメータに関するコメントがすべて含まれます。

次の例では、SPFILEからテキスト形式の初期化パラメータ・ファイルを作成しています。

CREATE PFILE FROM SPFILE;

この例ではファイル名を指定していないため、プラットフォーム固有のデフォルト・サーバー・パラメータ・ファイルから、プラットフォーム固有の名前で初期化パラメータ・ファイルが作成されます。

次の例では、サーバー・パラメータ・ファイルからテキスト形式の初期化パラメータ・ファイルを作成していますが、複数のファイル名が指定されています。

CREATE PFILE='/u01/oracle/dbs/test_init.ora'
  FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';

ノート:

メモリー内の初期化パラメータの現行値からPFILEを作成する方法もあります。次は、必要なコマンドの例です。

CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM MEMORY;

2.7.9 サーバー・パラメータ・ファイルのバックアップ

サーバー・パラメータ・ファイル(SPFILE)をエクスポートすることでバックアップを作成できます。データベースのバックアップおよびリカバリ計画がRecovery Manager(RMAN)を使用して実装されている場合は、RMANを使用してSPFILEのバックアップを作成できます。SPFILEのバックアップは、データベースのバックアップ作成時にRMANにより自動的に作成されますが、RMANを使用すると現在アクティブになっているSPFILEのバックアップも作成できます。

  • エクスポートするかRMANを使用してサーバー・パラメータ・ファイルをバックアップします。

2.7.10 失われたまたは破損したサーバー・パラメータ・ファイルのリカバリ

サーバー・パラメータ・ファイル(SPFILE)をリカバリできます。サーバー・パラメータ・ファイル(SPFILE)が失われるかまたは破損した場合は、現行インスタンスが失敗するか、またはデータベース・インスタンス起動時の次回の試行が失敗する可能性があります。

SPFILEをリカバリする方法は複数あります。

  • インスタンスが実行中の場合は、次のコマンドを発行して、メモリー内の初期化パラメータの現行値からSPFILEを再作成します。

    CREATE SPFILE FROM MEMORY;
    

    このコマンドでは、SPFILEはデフォルトの場所にデフォルトの名前で作成されます。新しい名前を使用して、または指定した場所にSPFILEを作成することもできます。例については、「サーバー・パラメータ・ファイルの作成」を参照してください。

  • 有効なテキスト形式の初期化パラメータ・ファイル(PFILE)がある場合は、次の文を使用してPFILEからSPFILEを再作成します。

    CREATE SPFILE FROM PFILE;
    

    このコマンドは、PFILEがデフォルトの場所にあり、デフォルトの名前であると想定しています。PFILEがデフォルト以外の場所にあるか、デフォルト以外の名前の場合に使用するコマンド構文については、「サーバー・パラメータ・ファイルの作成」を参照してください。

  • バックアップからSPFILEをリストアします。

    詳細は、「サーバー・パラメータ・ファイルのバックアップの作成」を参照してください。

  • これらのいずれの方法も使用できない状況の場合は、次のステップを実行します。

    1. アラート・ログのパラメータ値のリストからテキスト形式の初期化パラメータ・ファイル(PFILE)を作成します。

      インスタンスの起動時に、起動に使用された初期化パラメータがアラート・ログに書き込まれます。このセクションを(XMLタグが含まれていない)テキスト・バージョンのアラート・ログからコピーして、新規PFILEに貼り付けることができます。

      詳細は、「アラート・ログの表示」を参照してください。

    2. PFILEからSPFILEを作成します。

      詳細は、「サーバー・パラメータ・ファイルの作成」を参照してください。

パラメータ更新時の読取り/書込みエラー

パラメータの更新時にサーバー・パラメータ・ファイルの読込みまたは書込みでエラーが発生した場合は、アラート・ログにエラーが記録されて、サーバー・パラメータ・ファイルに対する後続のパラメータ更新がすべて無視されます。この時点では、次の処理のいずれかを実行できます。

  • インスタンスを停止し、この項の前述の説明に従ってサーバー・パラメータ・ファイルをリカバリした後、インスタンスを再起動します。

  • 後続のパラメータ更新を持続的にするための処置を講じない場合は、データベースの実行を継続します。

2.7.11 パラメータ設定を表示する方法

いくつかの異なる方法を使用してパラメータ設定を表示できます。

方法 説明

SHOW PARAMETERS

このSQL*Plusコマンドを使用すると、現行セッションで有効な初期化パラメータの値が表示されます。

SHOW SPPARAMETERS

このSQL*Plusコマンドを使用すると、サーバー・パラメータ・ファイル(SPFILE)の初期化パラメータの値が表示されます。

CREATE PFILE

このSQL文は、SPFILEまたは現在のインメモリー設定からテキスト形式の初期化パラメータ・ファイル(PFILE)を作成します。PFILEはテキスト・エディタで表示できます。

V$PARAMETER

このビューを使用すると、現行セッションで有効な初期化パラメータの値が表示されます。

V$PARAMETER2

このビューを使用すると、現行セッションで有効な初期化パラメータの値が表示されます。各リスト・パラメータ値が別々の行に出力されるため、このビューの方がリスト・パラメータ値を容易に識別できます。

V$SYSTEM_PARAMETER

このビューを使用すると、インスタンスで有効な初期化パラメータの値が表示されます。新しいセッションは、インスタンス全体の値からパラメータ値を継承します。

V$SYSTEM_PARAMETER2

このビューを使用すると、インスタンスで有効な初期化パラメータの値が表示されます。新しいセッションは、インスタンス全体の値からパラメータ値を継承します。各リスト・パラメータ値が別々の行に出力されるため、このビューの方がリスト・パラメータ値を容易に識別できます。

V$SPPARAMETER

このビューを使用すると、SPFILEの現在の内容が表示されます。インスタンスでSPFILEが使用されていない場合は、ISSPECIFIED列にFALSEが返されます。

関連項目:

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

2.8 データベース・サービスでのアプリケーション・ワークロードの管理

データベース・サービスは、1つ以上のデータベース・インスタンスをある単位にまとめて表現したものです。サービスを使用すれば、データベースのワークロードをグループ化し、特定の作業リクエストを適切なインスタンスにルーティングできます。

2.8.1 データベース・サービス

データベース・サービスは1つのデータベースを表します。このデータベースは、単一インスタンス・データベースか、または複数の同時データベース・インスタンスが含まれたOracle Real Application Clusters (Oracle RAC)データベースとなります。グローバル・データベース・サービスは、データ・レプリケーションを介して同期化された複数のデータベースが提供するサービスです。

2.8.1.1 データベース・サービスについて

データベース・サービスは、1つのデータベースのワークロードを互いに共通の要素を持たないグループに分割します。

各データベース・サービスは、一般的な属性、サービス・レベルしきい値および優先度でワークロードを表します。グループ化は作業の属性に基づいて行われますが、これらの属性には、使用するアプリケーション機能、アプリケーション機能を実行する場合の優先度、管理の対象になるジョブ・クラス、アプリケーション機能またはジョブ・クラスで使用するデータの範囲などが含まれていることがあります。たとえば、Oracle E-Business Suiteでは、総勘定元帳、売掛金勘定、受注など、職務ごとにサービスを定義します。データベース・サービスを構成するとき、一意の名前、関連するパフォーマンス目標および関連する重要性を各サービスに指定します。これらのデータベース・サービスは、Oracle Databaseと緊密に統合され、データ・ディクショナリに保持されます。

接続要求には、データベース・サービス名を指定できます。このように、中間層アプリケーションおよびクライアントとサーバーのアプリケーションでは、データベース・サービスをTNS接続データ内の接続の一部として指定することで、サービスを利用します。データベース・サービス名が指定されておらず、Net Servicesファイルlistener.oraにデフォルトのデータベース・サービスが指定されている場合は、デフォルトのデータベース・サービスを使用して接続されます。

データベース・サービスを使用すると、1つのデータベースのワークロードの構成、管理、有効化と無効化を実行でき、さらに単一エンティティとして測定できます。これは、Database Configuration Assistant (DBCA)、Oracle Net Configuration Assistant、Oracle Enterprise Manager Cloud Control (Cloud Control)などの標準的なツールを使用して実行できます。Cloud Controlは、表示と操作に関するサービスを全体としてサポートし、必要な場合はインスタンス・レベルへのドリルダウンをサポートしています。

Oracle Real Application Clusters(Oracle RAC)環境では、データベース・サービスは1つ以上のインスタンスにまたがり、トランザクション・パフォーマンスに基づいたワークロードの均衡化に役立ちます。この機能によって、エンドツーエンドの無人リカバリ、ワークロードによるロール変更、位置の完全な透過性が可能となります。また、Oracle RACを使用すると、Cloud Control、DBCAおよびServer Controlユーティリティ(SRVCTL)で複数のデータベース・サービス機能を管理できます。

データベース・サービスには、アプリケーション、アプリケーション機能およびデータの範囲が、機能サービスまたはデータ依存サービスとして記述されています。機能サービスは最も一般的なワークロードのマッピングです。特定の機能を使用する複数のセッションはまとめてグループ化されます。これに対して、データ依存ルーティングは、データ・キーに基づいてセッションをデータベース・サービスにルーティングします。作業要求のデータベース・サービスへのマッピングは、アプリケーション・サーバーとTPモニターのオブジェクト関連マッピング・レイヤーで発生します。たとえば、Oracle RACでは、データベースが共有されているため、これらの範囲は要求に基づいて完全に動的にできます。

アプリケーションにより使用されるデータベース・サービスに加えて、Oracle Databaseでは、2つの内部データベース・サービスもサポートされています。SYS$BACKGROUNDはバックグラウンド・プロセスのみで使用され、SYS$USERSはサービスに関連していないユーザー・セッションに対するデフォルトのデータベース・サービスです。

データベース・サービスを使用する場合にアプリケーション・コードを変更する必要はありません。クライアント側の作業は、指定したデータベース・サービスに接続できます。Oracle Scheduler、パラレル実行、Oracle Databaseアドバンスト・キューイングなどのサーバー側での作業では、ワークロード定義の一部としてデータベース・サービス名を設定します。データベース・サービス下で実行される作業要求は、そのサービスのパフォーマンスしきい値を継承し、サービスの一部として測定されます。

関連項目:

2.8.1.2 データベース・サービスおよびパフォーマンス

データベース・サービスは、パフォーマンス・チューニングに追加のディメンションを提供します。

すべてのセッションを匿名で共有している大部分のシステムでは、「サービスとSQL」によるチューニングで「セッションとSQL」によるチューニングを置換できます。データベース・サービスを使用することで、ワークロードが表示可能および測定可能となります。リソースの使用と待機は、アプリケーションがその起因となっています。また、データベース・サービスに割り当てたリソースは、ロードの増減にあわせて調整できます。この動的なリソース割当てによって、要求の発生に対応した費用効率の高いソリューションが可能となります。たとえば、データベース・サービスを自動的に測定し、そのパフォーマンスをサービス・レベルのしきい値と比較できます。パフォーマンス違反はCloud Controlにレポートされるため、自動ソリューションまたはスケジュールされたソリューションを実行できます。

2.8.1.3 データベース・サービスを使用するOracle Databaseの機能

Oracle Database機能のいくつかは、データベース・サービスをサポートしています。

自動ワークロード・リポジトリ(AWR)は、サービスのパフォーマンスを管理します。AWRには、実行時間、待機クラスおよびサービスで使用されたリソースも含めて、データベース・サービスのパフォーマンスが記録されます。AWRは、データベース・サービス応答時間がしきい値を超えた場合、警告をアラートします。動的なビューには、現在のサービス・パフォーマンスのメトリックが時間の履歴単位でレポートされます。各データベース・サービスには、応答時間とCPU使用に関するサービス品質のしきい値があります。

さらに、データベース・リソース・マネージャでは、データベース・サービスをコンシューマ・グループにマッピングできます。これによって、データベース・サービスの優先度を他のサービスと関連させて自動的に管理できます。コンシューマ・グループを使用すると、比率またはリソース使用量の観点から相対的な優先順序を定義できます。

データベース・サービスのエディション属性を指定することもできます。エディションを使用すると、データベース内に同じオブジェクトの複数のバージョンを保持できます。データベース・サービスにエディションを指定すると、そのデータベース・サービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。

エディションをデータベース・サービス属性として指定すると、リソース使用の管理が容易になります。たとえば、1つのエディションに関連付けられた複数のデータベース・サービスを1つのOracle RAC環境における個別のインスタンスに配置でき、データベース・リソース・マネージャは、リソース・プランを対応するデータベース・サービスに関連付けることによって、異なるエディションで使用されているリソースを管理できます。

Oracle Schedulerでは、ジョブ・クラスの作成時にオプションでデータベース・サービスを割り当てることができます。実行中に複数のジョブがジョブ・クラスに割り当てられ、データベース・サービス内で複数のジョブ・クラスを実行できます。ジョブ・クラスとともにデータベース・サービスを使用することで、ジョブ・スケジューラによって実行される作業が、ワークロード管理とパフォーマンス・チューニングに対して示されます。

パラレル問合せとパラレルDMLの場合、問合せコーディネータは他のクライアントと同じようにデータベース・サービスに接続します。パラレル問合せプロセスは、実行中そのデータベース・サービスを継承します。問合せが終了した時点で、パラレル実行プロセスはデフォルトのデータベース・サービスに戻ります。

2.8.1.4 データベース・サービスの作成

データベース・サービスの作成方法はデータベースの構成によっていくつかあります。

ノート:

Oracle Database 19c以降、SERVICE_NAMESパラメータをお客様が使用することは非推奨になりました。今後のリリースでサポートが終了する可能性があります。サービスを管理するには、SRVCTLまたはGDSCTLコマンドライン・ユーティリティ、またはDBMS_SERVICEパッケージを使用することをお薦めします。

ノート:

この項では、ローカルでのサービスの作成について説明します。サービスを作成してグローバルに操作することもできます。詳細は、「グローバル・データ・サービス」を参照してください。

データベース・サービスを作成するには:

  • 単一インスタンスのデータベースをOracle Restartで管理している場合は、SRVCTLユーティリティを使用してデータベース・サービスを作成します。

    srvctl add service -db db_unique_name -service service_name
    
  • Oracle Restartで管理していない単一インスタンスのデータベースでは、次のいずれかを実行します。

    • SERVICE_NAMESパラメータに希望するデータベース・サービス名を追加します。

    • DBMS_SERVICE.CREATE_SERVICEパッケージ・プロシージャをコールします。

  • (オプション)データベース・サービス属性をCloud ControlまたはDBMS_SERVICE.MODIFY_SERVICEで定義します。

Oracle Netリスナー(リスナー)はクライアントからの着信接続要求を受信し、データベース・サーバーへのこれらの要求のトラフィックを管理します。リスナーは、登録済サービスの接続を処理し、動的サービス登録をサポートしています。

関連項目:

2.8.2 グローバル・データ・サービス

Oracle Database 12cからは、複数のOracle Databaseが関連するワークロードを管理するために、グローバル・データ・サービス(GDS)を使用できます。GDSを使用すると、管理者は、共通のサービスを提供する複数のレプリケート・データベースにまたがるクライアント・ワークロードを自動的かつ透過的に管理できます。これらの共通サービスは、グローバル・サービスと呼ばれます。

GDSにより、様々な場所に存在する複数のデータベースを、グローバル・クライアントが共有できるプライベートGDS構成に統合できます。次の利点があります。

  • グローバル・リソースの集中管理が可能になります。

  • グローバルなスケーラビリティ、可用性およびランタイム・ロード・バランシングを提供します。

  • データベースをGDS構成に動的に追加したり、グローバル・サービスを動的に移行できます。

  • Oracle Active Data Guard、Oracle GoldenGateなどの機能を使用するレプリケート・データベースの分散環境でのサービス管理、ロード・バランシングおよびフェイルオーバーの各機能を拡張します。

  • (ローカルまたはグローバルの両方に配置された)複数のデータベースをまたいで、グローバル・サービスをシームレスにフェイルオーバーすることによって、高可用性を提供します。

  • サービス、接続ロード・バランシングおよびランタイム・ロード・バランシングにより、データ・センター内およびデータ・センター間の両方でのワークロード・バランシングを提供します。

  • サービス・クライアントの要求に応じて、GDS構成のリソースを効率的に使用できます。

2.8.3 データベース・サービスのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビューを問い合せて、データベース・サービスに関する情報を検索できます。

データベース・サービスに関する情報は、次のビューで参照できます。

次の追加ビューにも、データベース・サービスに関する情報が表示されます。

ALL_SERVICESビューにはGLOBAL_SERVICE列が含まれ、V$SERVICESビューとV$ACTIVE_SERVICESビューにはGLOBAL列が含まれます。これらのビューおよび列により、データベース・サービスがグローバル・サービスであるかどうかを判断できます。

2.9 Oracle DatabaseのStandard Edition高可用性の管理

Standard Edition高可用性機能は、Oracle Clusterwareを使用したOracle Database Standard Edition 2単一インスタンス・データベースに向けて計画外停止に対する保護を提供します。

ノート:

Standard Edition高可用性は、Oracle Database 19cリリース19.7以降でサポートされます。

ノート:

Standard Edition高可用性で使用するsrvctlコマンドは、Oracle Restartで使用するものとは異なります。Standard Edition高可用性の場合、srvctlコマンドとは、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』で説明されているものを表します。

2.9.1 Standard Edition高可用性について

Oracle Database 19 cリリース・アップデート(19.7)以降、高可用性モードでOracle Database Standard Edition 2をインストールできます。

Standard Edition高可用性では、Oracle Clusterwareを使用し、単一インスタンスのStandard Edition Oracle Databases用にクラスタベースのフェイルオーバーを提供します。

Oracle Standard Edition高可用性の利点は、Oracle Clusterware、Oracle Automatic Storage Management (Oracle ASM)およびOracle ASM Cluster File System (Oracle ACFS)など、Oracle Grid Infrastructureにすでに含まれているクラスタ機能およびストレージ・ソリューションです。

データベース・ファイル用および非構造化データ用のOracle ASMやOracle ACFSなどの、統合された、共有の、同時にマウントされた記憶域を使用することにより、Oracle Grid Infrastructureではフェイルオーバーのノード上でOracle Databaseを再起動でき、これは、フェイルオーバーおよび再マウントされたボリュームやファイル・システムに依存するクラスタ・ソリューションよりもはるかに高速です。

Standard Edition高可用性は、Linux x86-64、Oracle Solaris on SPARC (64ビット)およびMicrosoft Windowsでサポートされます。

Oracle Database 19cリリース更新(19.13)以降、Standard Edition高可用性はIBM AIX on POWER Systems (64ビット)でサポートされます。

ノート:

この項では、Standard Edition Oracle Databases 19cにクラスタベースのデータベース・フェイルオーバーを提供するStandard Edition高可用性について詳しく説明します。Oracle Databaseの高可用性オプションの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。

2.9.2 Oracle DatabaseによるStandard Edition高可用性を使用するための要件

Standard Edition高可用性を使用する場合は、次に示す構成の要件に従ってOracle Database Standard Edition 2をデプロイします。

  • データベースはスタンドアロン・クラスタ用のOracle Grid Infrastructureを実行しているクラスタ内に作成します。そのデータベース・ファイルは、Oracle Automatic Storage Management (Oracle ASM)またはOracle Automatic Storage Management Cluster File System (Oracle ACFS)に配置します。
  • Database Configuration Assistantを使用しているときには、Standard Edition高可用性用に構成するOracle Database Standard Edition 2データベースの作成時にリスナーを作成しないでください。
  • データベースは、リモート・リスナーとしての単一クライアント・アクセス名(SCAN)リスナーと、ローカル・リスナーとしてのノード・リスナーに登録します。
  • データベース・サービスを作成します。このサービスは、デフォルトのデータベース・サービスのかわりに、アプリケーション・クライアントまたはデータベース・クライアントをデータベースに接続するときに使用します。
  • サーバー・パラメータ・ファイル(spfile)とパスワード・ファイルが、Oracle ASMまたはOracle ACFSに配置されていることを確認します。spfileとパスワード・ファイルがデータベースの作成時または構成時にローカル・ファイル・システムに配置されていた場合は、それらのファイルをOracle ASMまたはOracle ACFSに移動します。

満たしておく必要のある追加の要件については、データベースのインストール・ドキュメントを参照してください。

2.9.3 Oracle DatabaseのStandard Edition高可用性の有効化

Standard Edition高可用性を有効化することで、Oracle Database Standard Edition 2データベースにクラスタ・ベースのフェイルオーバーを実現します。

ノート:

このトピックに示すステップは、Standard Edition高可用性を構成するためのOracle Databaseソフトウェア・バイナリをインストールして(『Oracle Databaseインストレーション・ガイドfor Linux』を参照)、データベースを作成した後で実行する必要があります。1つのクラスタ・ノードで実行する既存のStandard Edition 2データベースがあるときに、このデータベースのStandard Edition高可用性を有効化する場合は、その構成にノードを追加する必要があります。

前提条件

  • 初期化パラメータlocal_listenerが設定されていないことを確認します。これにより、ノードのリスナーが自動的に使用されるようにして、データベース接続がノードの仮想IPアドレスを通じて確立されるようにします。

    次のコマンドを使用して、現在のリスナー構成を表示します。

    SQL> SHOW PARAMETER LOCAL_LISTENER;

    このコマンドの出力にローカル・リスナー名が表示された場合は、次のコマンドを使用してローカル・リスナーをリセットします。

    SQL> ALTER SYSTEM RESET LOCAL_LISTENER SCOPE = BOTH;

    リスナー構成の変更が反映されるようにするために、データベースを再起動する必要があります。ただし、Standard Edition高可用性構成の検証の一環として、データベースが別のノードに再配置された場合は、データベースの再起動は不要です。

  • Oracle ASM Cluster File System (Oracle ACFS)にデータベース・ファイルを格納する場合は、Oracle ClusterwareにOracle ACFSファイル・システムを登録し、対応するOracle ACFSリソースに対するデータベース・リソースの依存性を構成するためにsrvctlコマンドを使用する必要があります。例:

    $ srvctl modify database -db se2cdb2 -acfspath /u01/app/oradata

Oracle Database Standard Edition 2データベースのStandard Edition高可用性を有効化するには:

  1. データベースの作成にCREATE DATABASEコマンドを使用した場合は、そのデータベースをOracle Clusterwareに登録します。

    CREATE DATABASEコマンドを使用して作成したデータベースは、Oracle Clusterwareに自動的には登録されません。srvctl add databaseコマンドを使用して、データベースを登録します。

    たとえば、次のコマンドでは、se2cdbという一意の名前が付いた単一インスタンス・データベースをノードnode3およびnode5に登録します。

    $ srvctl add database -db se2cdb -oraclehome $ORACLE_HOME 
    -dbtype SINGLE -spfile +DATA/SE2CDB1/PARAMETERFILE/spfile.276.1030845691 
    -node node3,node5
  2. データベースがすでにOracle Clusterwareに登録されている場合は、srvctl modify databaseコマンドを使用してStandard Edition高可用性を有効化します。

    たとえば、次のコマンドでは、一意のデータベース名がse2cdbのStandard Edition 2データベースでStandard Edition高可用性を有効化します。

    $ srvctl modify database -db se2cdb -node node3,node5

    ノート:

    固定単一インスタンス・データベースを作成するための-fixedオプションは、Standard Edition高可用性ではサポートされていません。

データベースのStandard Edition高可用性を有効化すると、次のようになります。

  • データベース・インスタンスを実行しているノードの計画外停止が発生すると、インスタンスは構成済ノードのリストにある使用可能なノードで再起動されます。
  • データベース・インスタンスの計画外中断が発生すると、現在のノードでインスタンスの再起動が試行されます。再起動に失敗した場合は、構成済ノードのリストにある使用可能なノードへのフェイルオーバーが開始されます。
  • データベース・インスタンスを実行しているノードのパブリック・ネットワークへの接続が完全に失われると、そのインスタンスは構成済ノードのリストにある使用可能なノードに再配置されます。

ノート:

ノード・リスト内のノードの順序によって、データベースを起動するノードが決まります。Oracle Clusterwareは、ノード・リストの最初のノードでデータベースを起動しようとします。最初のノードが使用できない場合は、ノード・リストの次のノードに移動します。

また、Oracle Clusterwareは、現在のノードで障害が発生した場合、ノード・リスト内のノードの順序を使用してフェイルオーバー・ターゲットを決定します。フェイルオーバー・ターゲットが考慮されるのは、リスト内の最初のノードから始まって適切な候補が見つかるまでで、クラスタ内の他の状況によってこの順序でフェイルオーバー・ノードを決定できない場合を除きます。

Standard Edition高可用性の構成の検証

Standard Edition高可用性の構成(特に現在の構成済ノードのリスト)を検証する場合は、srvctl config databaseコマンドを使用できます。例:

$ srvctl config database -db se2cdb 
...
Type: SINGLE
...
Configured nodes:
        node3, node5

この出力では、データベースのタイプが単一でありながら、構成済ノードが複数存在していることに注目してください。これは、Standard Edition高可用性が有効になっていることを示しています。

さらに検証を進めるには、データベースを別の構成済ノードに再配置します。

2.9.4 Standard Edition高可用性データベースの別のノードへの再配置

計画停止を管理するために、Standard Edition高可用性を使用するOracle Database Standard Edition 2データベースは、別の構成済ノードに再配置できます。

データベースの再配置先ノードは、このデータベースの構成済ノードのリストに含まれている必要があります。

アクティブなOracle Database Standard Edition 2データベースを現在のノードから別の構成済ノードに再配置するには:

  • srvctl relocateコマンドを使用します。

    このコマンドでは、オフライン再配置を実行します。既存のノードのデータベースを停止してから、新しいノードで起動します。

たとえば、次のコマンドでは、Standard Edition高可用性を使用しているse2cdbという名前のStandard Edition 2データベースをノードnode5に再配置します。

$ srvctl relocate database -db se2cdb -node node5

ノート:

srvctl relocate databaseコマンドのオプション–abort–revertは、Standard Edition高可用性ではサポートされていません。

2.9.5 Standard Edition高可用性データベースへのノードの追加

既存のStandard Edition高可用性構成に新しいノードを追加することで、Standard Edition 2データベースのフェイルオーバー機能が強化されます。

ノードの追加は、特定のシナリオで必要になることがあります。たとえば、Standard Edition高可用性データベース用に2つのノードを構成したとします。その後、クラスタに新しいノードが追加され、その新しいノードをデータベース構成に組み込もうとしている場合です。これは、そのノードをStandard Edition高可用性構成に追加することで実現できます。別のシナリオとして、既存のStandard Edition 2データベースに対してStandard Edition高可用性を有効にしようとしている場合があります。

Standard Edition高可用性データベースにノードを追加するには:

  1. 新しいノードにOracle DatabaseのOracleホームを拡張します。このステップは、使用している記憶域によって異なります。

    ローカル(非共有) Oracleホームの場合:

    1. 最初のクラスタ・ノード(Standard Edition高可用性を構成したノード)に、Oracleインストール所有者ユーザー・アカウント(oracle)としてログインします。

    2. ORACLE_HOME/addnodeディレクトリに移動して、addnode.shスクリプトを実行します。

      たとえば、Oracleホームをnode3に拡張するには、次のようにします。

      $ ./addnode.sh -silent "CLUSTER_NEW_NODES={node3}"

    Oracle ACFSを使用している共有Oracleホームの場合:

    1. rootとしてGrid_home/binディレクトリから次のコマンドを実行して、新しいノードでOracle ACFSリソースを起動します。

      # srvctl start filesystem -device volume_device [-node node_name]

      ノート:

      Oracleホームが格納されているOracle ACFSレジストリ・リソースおよびOracle ACFSファイル・システム・リソースを含むOracle ACFSリソースが、新しく追加されたノードでオンラインであることを確認します。
    2. 最初のクラスタ・ノード(Standard Edition高可用性を構成したノード)に、Oracleインストール所有者ユーザー・アカウント(oracle)としてログインします。

    3. 追加しようとしているノードに、最初のクラスタ・ノードのOracleホームをアタッチします。

      $ $ORACLE_HOME/addnode/addnode.sh -silent CLUSTER_NEW_NODES=new_node_name
  2. 新しいノード(追加することになるノード)で、rootユーザーとしてORACLE_HOME/root.shスクリプトを実行します。
    # /u01/app/oracle/product/19.0.0/dbhome_1/root.sh
  3. いずれかの構成済ノード(追加するノードを含む)で、oracleユーザーとしてsrvctl modify databaseコマンドを使用することで、新しいノード追加します。

    -node引数には、既存の構成済ノードと追加する新しいノードをリストする必要があります。

    たとえば、次のコマンドでは、ノードnode3se2cdbという一意の名前のデータベースに追加します。既存の構成済ノードは、node1node5です。

    $ srvctl modify database -db se2cdb -node node1,node3,node5
新しい構成を必要に応じて確認してください(「Oracle DatabaseのStandard Edition高可用性の有効化」を参照)。

2.9.6 Standard Edition高可用性データベースからの構成済ノードの削除

srvctlコマンドを使用して、Standard Edition高可用性データベース用に構成されたノードのリストからノードを削除します。

Oracle Databaseホーム・ディレクトリに移動します。Linuxの場合は、Oracleインストール所有者ユーザー・アカウント(oracle)として、データベース・ホスト・コンピュータにログインします。Windowsの場合は、管理者としてデータベース・ホスト・コンピュータにログインします。

Standard Edition高可用性を使用するデータベースから構成済ノードを削除するには:

  1. srvctl config databaseコマンドを使用して、既存の構成済ノードをリストします。
  2. 削除しようとしているノードでデータベースが実行されている場合は、srvctl relocate databaseコマンドを使用して、そのデータベースを別の構成済ノードに再配置します。
  3. -node引数を指定したsrvctl modify databaseコマンドを使用して、ノードを削除します。
    -node引数には、削除が必要なノード以外のすべての構成済ノードをリストする必要があります。

例2-1 Standard Edition高可用性データベースからの構成済ノードの削除

この例の前提として、sec2cdbという一意の名前のデータベースがStandard Edition高可用性を使用していて、構成済ノードのnode1node2およびnode3があるとします。現在、データベースはnode3で実行されています。このデータベースの構成済ノードのリストからnode2を削除するには、Oracle Databaseホームをインストールしたユーザーとしてログインし、次のコマンドを実行します。

$ srvctl modify database -db sec2cdb -node node1,node3

2.9.7 Standard Edition高可用性データベースの起動と停止

srvctlコマンドを使用して、Standard Edition高可用性用に構成されたOracle Databaseを起動または停止します。

Oracle Databaseホーム・ディレクトリに移動します。Linuxの場合は、Oracleインストール所有者ユーザー・アカウント(oracle)として、データベース・ホスト・コンピュータにログインします。Windowsの場合は、管理者としてデータベース・ホスト・コンピュータにログインします。

Standard Edition高可用性データベースを起動するには:

  • srvctl start databaseコマンドを使用します。

    オプションとして、データベースを起動する必要のあるノードを指定する-node引数を含めます。

Standard Edition高可用性データベースを停止するには:

  • srvctl stop databaseコマンドを使用します

例2-2 指定したノードでのStandard Edition高可用性データベースの起動

この例では、一意の名前がse2cdbというデータベースをnode3という名前のノードで起動します。

$ srvctl start database -db sec2cdb -node node3

例2-3 Standard Edition高可用性データベースの停止

この例では、Standard Edition高可用性を使用するように構成されたデータベース・インスタンスを停止します。このデータベースの一意の名前はsec2cdbです。

$ srvctl stop database -db sec2cdb

2.9.8 Oracle DatabaseのStandard Edition高可用性の非アクティブ化

単一インスタンスOracle DatabaseのStandard Edition高可用性を非アクティブ化すると、そのデータベースは高可用性フェイルオーバー構成に含まれなくなります。

Oracle DatabaseのStandard Edition高可用性を非アクティブ化するには:

  • stvctl modifyコマンドを使用して、-node引数に1つのノードのみを含めます。

例2-4 Oracle DatabaseのStandard Edition高可用性の使用の非アクティブ化

この例では、se2cdbという一意の名前が付いたデータベースのStandard Edition高可用性の使用を非アクティブ化して、このデータベース用にnode1という1つのノードのみを構成します。

srvctl modify database -db se2cdb -node node1

以前のすべての構成済ノードは削除され、このデータベースはOracle Clusterwareに登録された単一インスタンス・データベースになります。

2.10 データベースを作成した後の考慮点

データベースの作成後、インスタンスは実行されたままになり、データベースはオープンされて通常のデータベースの用途に使用できます。データベースの作成後に特定のアクションを実行することが必要な場合があります。

2.10.1 データベース・セキュリティ

デフォルトのOracle Database機能を使用すると、Oracleデータベースのいくつかの領域でセキュリティを構成できます。

データベースのセキュリティを構成できる領域をいくつか次に示します。

  • ユーザー・アカウント: 作成したユーザー・アカウントは様々な方法で保護できます。サイトのパスワード・ポリシーを強化するために、パスワード・プロファイルを作成することもできます。

  • 認証方式: Oracle Databaseには、ユーザーおよびデータベース管理者用の認証を構成する方法がいくつかあります。たとえば、ユーザーは、データベース・レベル、オペレーティング・システムおよびネットワークで認証できます。

  • 権限とロール: 権限とロールを使用すると、データに対するユーザー・アクセスを制限できます。

ノート:

  • 新しく作成したデータベースには、データベースの管理にとって重要なユーザー・アカウントが少なくとも3つ(SYSSYSTEMおよびSYSMAN)あります。認可されたユーザーのみが使用する追加の管理アカウントが提供されています。

  • データベースへの不当なアクセスを防ぎ、データベースの整合性を保護するには、データベースの作成時に、ユーザーSYSに対して新しいパスワードを指定することが重要です。

  • Oracle Database 19c以上では、SYSおよびサンプル・スキーマを除き、Oracle Databaseで提供されるユーザー・アカウントのほとんどはスキーマ専用アカウント(つまり、これらのアカウントはパスワードなしで作成される)です。これらのアカウントには、認証する必要が生じたときにいつでもパスワードを割り当てることができますが、セキュリティを強化するために、認証が必要なくなった場合にはこれらのアカウントをスキーマ専用アカウントに戻すことをお薦めします。

    アカウントのステータスを確認するには、DBA_USERSデータ・ディクショナリ・ビューのACCOUNT_STATUS列を問い合せます。アカウントがスキーマ専用の場合、ステータスはNONEです。

関連項目:

2.10.2 透過的データ暗号化

透過的データ暗号化は、個々のデータベース列をデータファイルに格納する前に暗号化するか、表領域全体を暗号化する機能です。ユーザーが、オペレーティング・システムのツールを使用してデータファイルの内容を直接参照することによって、データベース・アクセス制御メカニズムを迂回しようとした場合でも、透過的データ暗号化によって、このようなユーザーが機密情報を参照できないようにします。

CREATE TABLE権限のあるユーザーは、暗号化対象の表の列を1つ以上選択できます。データはデータファイルで暗号化されます。適切な権限のあるデータベース・ユーザーは、データを暗号化されていない形式で表示できます。透過的データ暗号化の有効化の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

2.10.3 安全性の高い外部パスワード・ストア

認証および資格証明の署名をネットワークに公開しないように、クライアント側のOracleウォレットの使用を検討してください。

アプリケーションでデータベースに接続するためにパスワード資格証明が使用される大規模なデプロイメントでは、この資格証明をクライアント側のOracleウォレットに格納できます。Oracle Walletは、資格証明の認証および署名の格納に使用されるセキュアなソフトウェア・コンテナです。

クライアント側のOracleウォレットにデータベース・パスワード資格証明を格納することで、ユーザー名とパスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。クライアント側の記憶域により、スクリプトやアプリケーション・コードでパスワードをさらすリスクが軽減されます。また、ユーザー名とパスワードが変更されるたびにコードを変更する必要がないため、メンテナンスも簡素化されます。また、アプリケーション・コードを変更する必要がないため、これらのユーザー・アカウントのパスワード管理ポリシーをさらに簡単に規定できるようになります。

外部パスワード・ストアを使用するようにクライアントを構成すると、アプリケーションでは、次の構文を使用してパスワード認証を使用しているデータベースに接続できます。

CONNECT /@database_alias

このCONNECTコマンドでは、データベース・ログイン資格証明を指定する必要はありません。かわりに、データベース・ログイン資格証明はクライアントのウォレットで検索されます。

2.10.4 トランザクション・ガードおよびアプリケーション・コンティニュイティ

トランザクション・ガードは、リカバリ可能なエラーの後、クライアント・アプリケーションが重複トランザクションを送信する可能性を防止するために論理トランザクションIDを使用します。アプリケーション・コンティニュイティは、データベース・セッションを使用不可にするリカバリ可能なエラーの後、中断せずに迅速な方法でデータベースに対するリクエストの再実行を可能にします。

トランザクション・ガードは、使用できなくなるデータベース・セッションで最後にオープンされたトランザクションについて既知の結果を提供するために、アプリケーション開発者が使用できる信頼性の高いプロトコルおよびAPIです。停止後、データベースからクライアントに送信されたコミット・メッセージは非永続です。アプリケーション(クライアント)とOracle Database (サーバー)の間の接続が切断されると、クライアントは通信が失敗したことを示すエラー・メッセージを受信します。このエラー・メッセージでは、コミット操作またはプロシージャ・コールの成功または失敗に関してはクライアントに通知しません。

トランザクション・ガードでは、アプリケーションの観点からトランザクションを識別するグローバル一意識別子である、論理トランザクション識別子(LTXID)と呼ばれる概念を使用します。リカバリ可能な停止が発生すると、アプリケーションではLTXIDを使用してトランザクションの結果を判別します。あいまいな通信エラーのかわりに、この結果をクライアントに返すことができます。ユーザーはトランザクションを再実行するかどうかを決定できます。また、状態が適切な場合にトランザクションが再実行されるように、アプリケーションをコーディングすることもできます。

アプリケーション・コンティニュイティは、リカバリ可能な停止(計画外停止と計画停止の両方)に続いて処理中のデータベース・セッションをリカバリすることで、エンド・ユーザーおよびアプリケーションから停止をマスキングします。リプレイが成功した後、アプリケーションは元のデータベース・セッションが停止した位置から新しいセッションを使用して続行できます。アプリケーション・コンティニュイティはこのリカバリを実行するため、アプリケーションにとっては、その停止が遅延された実行のように見えます。

アプリケーション・コンティニュイティはサービス・レベルで有効化され、リカバリ可能な停止に対して起動されます。通常、これらの停止は基礎になるソフトウェア、フォアグラウンド、ハードウェア、通信、ネットワークまたは記憶域レイヤーに関連します。アプリケーション・コンティニュイティは、問合せ、ALTER SESSION文、JavaとOCIのAPI、PL/SQL、DDLおよび障害の前にコミットされなかった最後のトランザクションをサポートします。アプリケーション・コンティニュイティは、トランザクション・ガードを使用して、最後の処理中のトランザクションがコミットされたかどうか、および最後のユーザー・コールが完了したかどうかを判別します。

関連項目:

  • トランザクション・ガードおよびアプリケーション・コンティニュイティの概念の詳細は、『Oracle Database概要』を参照してください。

  • トランザクション・ガードおよびアプリケーション・コンティニュイティの詳細は、『Oracle Database開発ガイド』を参照してください。

2.10.5 データベースでのファイル・システム・サーバーのサポート

Oracleデータベースは、ファイル・システム・オブジェクトを格納し、任意のNFSクライアントからそれらにアクセスするように構成できます。データベースは、ファイルとそのメタデータの両方を格納します。データベースは、オペレーティング・システム(OS)カーネルのNFSデーモン・プロセスからファイル・システム・リクエストに応答します。

Oracle File System (OFS)サーバーをデータベースに構成し、ファイル・システムを作成する場合は、電子メール、ビデオ、オーディオ・ファイル、クレジット・カード請求書、ドキュメント、写真イメージなどの非構造化データをデータベース内に格納できます。SQLを使用せずに、これらの非構造化オブジェクトを操作および管理できます。かわりに、NFSサポートのためのオペレーティング・システムのユーティリティを使用できます。

データベースでNFSアクセスを有効にするには、OFS_THREADS初期化パラメータを設定して、NFSリクエストを処理するための十分な数のOFSスレッドを構成します。最初のファイル・システムがデータベースでマウントされている場合、OFS_THREADS初期化パラメータは、作成するOFSスレッド数を制御します。OFS_THREADSパラメータで指定された数のスレッドが、データベース・インスタンスに対して1回のみ作成され、後続のファイル・システムではスレッドが追加作成されません。OFS_THREADS初期化パラメータのデフォルト値は4です。データベースの起動時に、OFSDバックグラウンド・プロセスは、データベース・サーバーによって起動される唯一のOFSプロセスです。

DBMS_FSパッケージを使用し、指定したデータベース・オブジェクトを使用してデータベースにファイル・システムを作成できます。このパッケージを使用して、指定したファイル・システムをマウントおよびアンマウントすることもできます。

関連項目:

2.10.6 Oracle Databaseサンプル・スキーマ

Oracle Databaseには、Oracle Database機能の理解に役立つサンプル・スキーマが含まれています。一部のOracle Databaseのドキュメントおよびトレーニング・マテリアルでは、サンプル・スキーマが例で使用されます。

スキーマとインストール手順の詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。

ノート:

本番データベースにはサンプル・スキーマをインストールしないことをお薦めします。

2.11 データベースのクローニング

この項では、Oracleデータベースの様々なクローニング方法について説明します。

2.11.1 非マルチテナント環境でのCloneDBを使用したデータベースのクローニング

CloneDBを使用すると、複数の異なる場所にデータ・ファイルをコピーすることなく、非マルチテナント環境でデータベースを複数回クローニングできます。かわりに、CloneDBはcopy-on-writeテクノロジを使用します。そのため、ディスク上に追加の記憶域が必要になるのは、変更されているブロックのみになります。

2.11.1.1 CloneDBを使用したデータベースのクローニングについて

多くの場合、テスト目的またはその他の目的で本番データベースをクローニングすることが必要となります。

本番データベースをクローニングする一般的な理由は、次のとおりです。

  • データベースを使用する新規アプリケーションのデプロイ、または既存のアプリケーションの更新

  • データベースを実行するシステムでの、オペレーティング・システムのアップグレード計画

  • データベース・インストール用の新しい記憶域

  • レポート

  • 古いデータの分析

新しいアプリケーションをデプロイする前、オペレーティング・システムのアップグレードを実行する前、または新しい記憶域を使用する前に、新しい状況でデータベースが適切に動作することを確認するために徹底的にテストすることが必要です。クローニングは、本番データファイルのコピーを1つ以上のテスト環境に作成することで実行できますが、通常、これらのコピーを割り当てて管理するために、大量の記憶域が必要となります。

CloneDBを使用すると、データファイルを複数の異なる場所にコピーしなくても、データベースを複数回クローニングできます。Oracle Databaseでは、かわりにcopy-on-writeテクノロジを使用してCloneDBデータベースにファイルを作成するため、ディスク上に追加の記憶域が必要になるのは、CloneDBデータベースで変更されたブロックのみとなります。

この方法でデータベースをクローニングすると、次の利点があります。

  • テスト目的で必要になる記憶域の量が削減されます。

  • 様々な目的のために複数のデータベース・クローンを迅速に作成できます。

CloneDBデータベースは、データベース・バックアップのデータファイルを使用します。バックアップ・データファイルを使用すると、CloneDBインスタンスによる本番データファイルへのアクセスが行われず、CPUやI/Oリソースなどの本番データベースのリソースに対するCloneDBインスタンスによる競合が発生しません。

ノート:

  • この項で説明するCloneDBを使用したデータベースのクローニングの手順は、マルチテナント環境のデータベースには適用できません。

  • CloneDB機能は、パフォーマンス・テスト向けではありません。

関連項目:

マルチテナント環境でのデータベースのクローニングの詳細は、「マルチテナント環境でのデータベースのクローニング」を参照してください

2.11.1.2 CloneDBを使用したデータベースのクローニング

CloneDBでデータベースをクローニングできます。

データベースをクローニングするには、次の前提条件を満たしている必要があります。

  • 各CloneDBデータベースはDirect NFSクライアントを使用する必要があり、本番データベースのバックアップはNFSボリューム上に存在する必要があります。

    Direct NFSクライアントにより、Oracle Databaseは、オペレーティング・システム・カーネルのNFSクライアントを使用するかわりに、ネットワーク接続記憶域(NAS)デバイスに直接アクセスできます。このCloneDBデータベース機能は、Direct NFSクライアントをサポートするプラットフォームで使用可能です。

    Direct NFSクライアントの詳細は、使用しているオペレーティング・システムの『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  • CloneDBデータベースの変更されたブロックを追跡するには、少なくとも2MBの追加システム・グローバル領域(SGA)メモリーが必要です。

    「メモリーの管理」を参照してください。

  • データベース・バックアップ用および各CloneDBデータベースの変更されたブロック用の記憶域が必要となります。

    データベース・バックアップに必要な記憶域は、バックアップの実行に使用する方法によって異なります。単一の全体RMANバックアップでは、最も多くの記憶域が必要となります。ストレージ・アプライアンスの機能を使用して実行される記憶域スナップショットは、そのストレージ・アプライアンスの要件に従います。単一のバックアップで複数のCloneDBデータベースをサポートできます。

    各CloneDBデータベースで必要になる記憶域の量は、そのデータベースの書込みアクティビティによって異なります。変更される各ブロックには、記憶域の使用可能な1つのブロックが必要となります。したがって、必要になる合計記憶域は、一定期間にCloneDBデータベースで変更されるブロックの数によって異なります。

この項では、1つのCloneDBデータベースを作成するためのステップについて説明し、これらのサンプル・データベースおよびディレクトリを使用します。

  • 本番データベースPROD1のOracleホームは/u01/prod1/oracleです。

  • データベース・バックアップのファイルは/u02/oracle/backup/prod1にあります。

  • CloneDBデータベースCLONE1のOracleホームは/u03/clone1/oracleです。

CloneDBを使用してデータベースをクローニングするには:

  1. 本番データベースのバックアップを作成します。次のバックアップ・オプションがあります。

    • オンライン・バックアップ

      オンライン・バックアップを実行する場合は、本番データベースがARCHIVELOGモードになっており、必要なすべてのアーカイブREDOログ・ファイルが保存され、CloneDBデータベース環境にアクセスできることを確認します。

    • 全体オフライン・バックアップ

      全体オフライン・バックアップを実行する場合は、バックアップ・ファイルがCloneDBデータベース環境にアクセスできることを確認します。

    • データベース・ファイルをコピーするバックアップ

      BACKUP AS COPYをRMANで指定すると、RMANは各ファイルを、ディスクに作成されたデータベース・ファイルのビットごとのコピーであるイメージ・コピーとしてコピーします。イメージ・コピーは、LinuxのcpやWindowsのCOPYなどのオペレーティング・システム・コマンドで作成したコピーと同じですが、RMANのリポジトリに記録されるため、RMANで使用できます。RMANを使用すると、データベースがオープンしている間にイメージ・コピーを作成できます。コピーされたデータベース・ファイルがCloneDBデータベース環境にアクセスできることを確認します。

    データベースのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

  2. テキスト形式の初期化パラメータ・ファイル(PFILE)がない場合は、作成します。

    サーバー・パラメータ・ファイル(SPFILE)を使用する場合は、本番データベース上で次の文を実行して、PFILEを作成します。

    CREATE PFILE FROM SPFILE;
    
  3. 本番データベースをクローニングするためのSQLスクリプトを作成します。

    後のステップで、CloneDBデータベースを作成するために、1つ以上のSQLスクリプトを使用します。SQLスクリプトを作成するには、オラクル社が提供するclonedb.plと呼ばれるPerlスクリプトを使用するか、またはSQLスクリプトを手動で作成できます。

    clonedb.pl Perlスクリプトを使用するには、次のステップを完了します:

    1. オペレーティング・システムのプロンプトで、次の環境変数を設定します。

      MASTER_COPY_DIR - ステップ1で作成したバックアップが含まれるディレクトリを指定します。このディレクトリには、本番データベースのデータファイルのバックアップのみが含まれていることを確認します。

      CLONE_FILE_CREATE_DEST - データファイル、ログ・ファイル、制御ファイルなど、CloneDBデータベース・ファイルが作成されるディレクトリを指定します。

      CLONEDB_NAME - CloneDBデータベースの名前を指定します。

      S7000_TARGET - バックアップ用のファイル・システムを提供するNFSホストおよびCloneDBデータベースがSun Storage 7000である場合は、ホストの名前を指定します。それ以外の場合は、この環境変数を設定しないでください。この環境変数は、記憶域スナップショットを使用してクローニングを実行する必要がある場合にのみ設定します。この変数を設定せずに、Direct NFSクライアントにS7000ストレージ・アレイを使用できます。

    2. clonedb.pl Perlスクリプトを実行します。

      このスクリプトは、$ORACLE_HOME/rdbms/installディレクトリにあり、次の構文が含まれます。

      $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/install/clonedb.pl 
      prod_db_pfile [sql_script1] [sql_script2]
      

      次のオプションを指定します。

      prod_db_pfile - 本番データベースのPFILEのフルパスを指定します。

      sql_script1 - clonedb.plによって生成された最初のSQLスクリプトの名前を指定します。デフォルトはcrtdb.sqlです。

      sql_script2 - clonedb.plによって生成された2番目のSQLスクリプトの名前を指定します。デフォルトはdbren.sqlです。

      clonedb.plスクリプトは、本番データベースのPFILEをCloneDBデータベースのディレクトリにコピーします。また、CloneDBデータベースの作成に使用する2つのSQLスクリプトも作成します。

    3. clonedb.pl Perlスクリプトにより生成された2つのSQLスクリプトを確認し、必要に応じて変更します。

    4. CloneDBデータベース環境の初期化パラメータを変更し、ファイルを保存します。

      CloneDBデータベース環境固有の初期化パラメータ(SGAサイズ、PGAターゲット、CPUの数などを制御するパラメータなど)を変更します。CLONEDBパラメータをTRUEに設定する必要があり、初期化パラメータ・ファイルにこのパラメータが含まれています。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

    5. SQL*Plusで、CloneDBデータベースにSYSDBA管理権限で接続します。

    6. clonedb.pl Perlスクリプトで生成されたSQLスクリプトを実行します。

      たとえば、スクリプトでデフォルト名を使用する場合は、SQLプロンプトで次のスクリプトを実行します。

      crtdb.sql
      dbren.sql
      

    SQLスクリプトを手動で作成するには、次のステップを実行します:

    1. SYSDBAまたはSYSBACKUP管理権限でデータベースに接続します。

      「SQL*Plusを使用したデータベースへの接続」を参照してください。

    2. 次のステップを実行して、本番データベースからバックアップ制御ファイル・スクリプトを生成します。

      次のSQL文を実行します。

      ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
      

      この文により、制御ファイルを作成するSQL文を含むトレース・ファイルが生成されます。CREATE CONTROLFILE文を含むトレース・ファイルは、DIAGNOSTIC_DEST初期化パラメータで指定されたディレクトリに格納されます。データベース・アラート・ログでこのトレース・ファイルの名前と場所を確認します。

    3. ステップ3.bで生成したトレース・ファイルを開き、トレース・ファイル内のSTARTUP NOMOUNT文とCREATE CONTROLFILE文を新しいSQLスクリプトにコピーします。

    4. ステップ3.cで作成した新しいSQLスクリプトを次の方法で編集します。

      データベースの名前を、作成するCloneDBデータベースの名前に変更します。たとえば、PROD1CLONE1に変更します。

      ログ・ファイルの場所を、CloneDBデータベース環境のディレクトリに変更します。たとえば、/u01/prod1/oracle/dbs/t_log1.fを/u03/clone1/oracle/dbs/t_log1.fに変更します。

      データファイルの場所を、バックアップの場所に変更します。たとえば、/u01/prod1/oracle/dbs/t_db1.fを/u02/oracle/backup/prod1/t_db1.fに変更します。

      次に、ALTER DATABASE BACKUP CONTROLFILE TO TRACE文で生成された元の文の例を示します。

      STARTUP NOMOUNT
      CREATE CONTROLFILE REUSE DATABASE "PROD1" NORESETLOGS  ARCHIVELOG
          MAXLOGFILES 32
          MAXLOGMEMBERS 2
          MAXDATAFILES 32
          MAXINSTANCES 1
          MAXLOGHISTORY 292
      LOGFILE
        GROUP 1 '/u01/prod1/oracle/dbs/t_log1.f'  SIZE 25M BLOCKSIZE 512,
        GROUP 2 '/u01/prod1/oracle/dbs/t_log2.f'  SIZE 25M BLOCKSIZE 512
      -- STANDBY LOGFILE
      DATAFILE
        '/u01/prod1/oracle/dbs/t_db1.f',
        '/u01/prod1/oracle/dbs/t_ax1.f',
        '/u01/prod1/oracle/dbs/t_undo1.f',
        '/u01/prod1/oracle/dbs/t_xdb1.f',
        '/u01/prod1/oracle/dbs/undots.dbf'
      CHARACTER SET WE8ISO8859P1
      ;
      

      次に、新しいSQLスクリプトの変更された文の例を示します。

      STARTUP NOMOUNT PFILE=/u03/clone1/oracle/dbs/clone1.ora
      CREATE CONTROLFILE REUSE DATABASE "CLONE1" RESETLOGS  ARCHIVELOG
          MAXLOGFILES 32
          MAXLOGMEMBERS 2
          MAXDATAFILES 32
          MAXINSTANCES 1
          MAXLOGHISTORY 292
      LOGFILE
        GROUP 1 '/u03/clone1/oracle/dbs/t_log1.f'  SIZE 25M BLOCKSIZE 512,
        GROUP 2 '/u03/clone1/oracle/dbs/t_log2.f'  SIZE 25M BLOCKSIZE 512
      -- STANDBY LOGFILE
      DATAFILE
        '/u02/oracle/backup/prod1/t_db1.f',
        '/u02/oracle/backup/prod1/t_ax1.f',
        '/u02/oracle/backup/prod1/t_undo1.f',
        '/u02/oracle/backup/prod1/t_xdb1.f',
        '/u02/oracle/backup/prod1/undots.dbf'
      CHARACTER SET WE8ISO8859P1
      ;
      

      データファイルで取得した記憶域レベルのスナップショットがある場合は、RMANバックアップ・ファイル名を記憶域スナップショット名に置き換えることができます。

    5. SQLスクリプトを編集した後、そのスクリプトをCloneDBデータベース環境にアクセスできる場所に保存します。

      新しいSQLスクリプトの名前および保存場所をノートにとります。このスクリプトは、後続のステップで実行します。この例では、スクリプトの名前はcreate_clonedb1.sqlであると想定しています。

    6. テキスト形式の初期化パラメータ・ファイル(PFILE)を、本番データベース環境からCloneDBデータベース環境にコピーします。

      たとえば、テキスト形式の初期化パラメータ・ファイルを/u01/prod1/oracle/dbsから/u03/clone1/oracle/dbsにコピーします。ファイルの名前および場所は、変更したSQLスクリプトのSTARTUP NOMOUNTコマンドで指定した名前と場所に一致する必要があります。ステップ3.dの例では、ファイルは/u03/clone1/oracle/dbs/clone1.oraです。

    7. CloneDBデータベース環境の初期化パラメータを変更し、ファイルを保存します。

      CLONEDBパラメータを追加し、このパラメータがTRUEに設定されていることを確認します。CloneDBデータベース環境に固有の他のすべての初期化パラメータ(SGAサイズ、PGAターゲット、CPUの数などを制御するパラメータなど)を変更します。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

    8. SQL*Plusで、CloneDBデータベースにSYSDBA管理権限で接続します。

    9. ステップ3.eで保存したSQLスクリプトを実行します。

      たとえば、SQL*Plusで次のように入力します。

      @create_clonedb1.sql
      
    10. バックアップの場所の各データファイルで、DBMS_DNFSパッケージのCLONEDB_RENAMEFILEプロシージャを実行し、CloneDBデータベース環境の適切な場所を指定します。

      たとえば、バックアップ・データファイルが/u02/oracle/backup/prod1/t_db1.fで、CloneDBデータベース・データファイルが/u03/clone1/oracle/dbs/t_db1.fである場合は、次のプロシージャを実行します。

      BEGIN
        DBMS_DNFS.CLONEDB_RENAMEFILE(
          srcfile  => '/u02/oracle/backup/prod1/t_db1.f',
          destfile => '/u03/clone1/oracle/dbs/t_db1.f');
      END;
      /
      

      DBMS_DNFSパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

  4. CloneDBデータベースをオンライン・バックアップから作成した場合は、CloneDBデータベースをリカバリします。全体オフライン・バックアップまたはBACKUP AS COPYバックアップを実行した場合、このステップは必要ありません。

    たとえば、次のSQL文をCloneDBデータベースで実行します。

    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
    

    この文により、バックアップが実行されたときのアーカイブREDOログ・ファイルを求められます。

  5. 次のSQL文を実行して、データベースをオープンします。

    ALTER DATABASE OPEN RESETLOGS;
    

    CloneDBデータベースを使用する準備ができました。

本番データベースの追加のCloneDBデータベースを作成するには、ステップ3から5を各CloneDBデータベースに対して繰り返します。

2.11.1.3 CloneDBを使用したデータベースのクローニング後

CloneDBデータベースを作成した後、本番データベースを使用するほとんどすべての方法でそのデータベースを使用できます。最初は、CloneDBデータベースは各データファイルに対して最小限の記憶域を使用します。CloneDBデータベースの行に対して変更を加えると、記憶域がオンデマンドで割り当てられます。

同じバックアップ・ファイルを使用して、複数のCloneDBデータベースを作成できます。このバックアップは、RMANまたは記憶域レベルのスナップショットによって取得できます。データファイルで取得した記憶域レベルのスナップショットがある場合は、RMANバックアップ・ファイル名を記憶域スナップショット名に置き換えることができます。

V$CLONEDFILEビューを使用して、CloneDBデータベースの各データファイルに関する情報を表示できます。この情報には、バックアップのデータファイル名、CloneDBデータベースでの対応するデータファイル名、バックアップ・ファイルから読み取られたブロック数、バックアップ・ファイルに対して発行された要求の数が含まれます。

CloneDBデータベースはバックアップ・ファイルをバックエンド記憶域として使用するため、これらのバックアップ・ファイルは、実行するために各CloneDBデータベースで使用可能である必要があります。バックアップ・ファイルが使用不可能になると、CloneDBデータベースはエラーを返します。

CloneDBデータベースの使用が完了した後、CloneDBデータベース環境を破棄できます。CloneDBデータベース環境のすべてのファイルは、本番データベース環境またはバックアップ環境に影響を与えずに削除できます。

関連項目:

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

2.11.2 マルチテナント環境でのデータベースのクローニング

マルチテナント環境でデータベースをクローニングできます。

マルチテナント環境でのデータベースのクローニングの詳細は、『Oracle Multitenant管理者ガイド』を参照してください。

2.11.3 Oracle Automatic Storage Management (Oracle ASM)を使用したデータベースのクローニング

Oracle Automatic Storage Management (Oracle ASM)では、マルチテナント・コンテナ・データベース(CDB)でのプラガブル・データベース(PDB)のクローニングがサポートされています。Oracle ASMでは、非CDBのクローニングはサポートされていません。

詳細は、次のガイドを参照してください。

2.12 データベースの削除

データベースの削除には、データファイル、オンラインREDOログ、制御ファイルおよび初期化パラメータ・ファイルの削除も含まれます。

警告:

データベースを削除すると、そのデータベースに含まれるすべてのデータが削除されます。

データベースを削除するには:

  • 次の文を発行します。

    DROP DATABASE;
    

DROP DATABASE文では、まず、すべての制御ファイルと制御ファイルに記述されている他のすべてのデータベース・ファイルが削除されます。その後、データベース・インスタンスが停止されます。

DROP DATABASE文の使用に成功するには、排他的に、制限モードでデータベースをマウントしておく必要があります。

DROP DATABASE文は、アーカイブREDOログ・ファイル、およびデータベースのコピーまたはバックアップには影響を与えません。これらのファイルを削除する場合は、RMANを使用することをお薦めします。

Database Configuration Assistantを使用してデータベースを作成した場合は、データベースおよびファイルの削除にこのツールを使用できます。

2.13 データベースのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビューに対してデータベースのコンテンツと構造に関する情報を問い合せることができます。

次のビューを使用して、データベース・コンテンツと構造に関する情報を表示できます。

ビュー 説明

DATABASE_PROPERTIES

永続的なデータベース・プロパティが表示されます。

GLOBAL_NAME

グローバル・データベース名が表示されます。

V$DATABASE

制御ファイル内のデータベース情報が表示されます。

2.14 サイレント・モード時のDatabase Configuration Assistantコマンド・リファレンス

この項では、Database Configuration Assistant (DBCA)サイレント・モードのコマンドの構文とオプションに関して詳しく説明します。

関連項目:

対話モードでのDBCAの使用の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

2.14.1 DBCAコマンドライン構文の概要

この項では、サイレント・モードでのDBCAのコマンドライン構文の概要を示します。

DBCAサイレント・モードのコマンド構文は、次のとおりです。

dbca  [-silent] [command [options]] [-h|-help]

次の表では、DBCAサイレント・モード・コマンドの構文について説明します。

表2-4 DBCAサイレント・モード・コマンドの構文の説明

オプション 説明

-silent

DBCAをサイレント・モードで実行する場合は、-silentを指定します。

サイレント・モードのDBCAは、コマンドライン・オプションとして指定された値を使用してデータベースを作成または変更します。

command options

DBCAコマンド、およびコマンドの有効なオプションを指定します。

-h | -help

DBCAのヘルプを表示します。

特定のコマンドのヘルプを表示するには、次のように入力します。

dbca command -help

たとえば、-createDatabaseコマンドのヘルプを表示するには、次のように入力します。

dbca -createDatabase -help

次の例では、DBCAのサイレント・モードでデータベースを作成する方法を示します。

dbca -silent -createDatabase -templateName General_Purpose.dbc
                             -gdbname oradb.example.com 
                             -sid oradb
                             -characterSet AL32UTF8 
                             -memoryPercentage 30 
                             -emConfiguration DBEXPRESS

Enter SYSTEM user password:
password
Enter SYS user password:
password
Copying database files
1% complete
3% complete
...

完全なサイレント操作が実行されるように、stdoutをファイルにリダイレクトできます。ただし、その場合は、コマンドライン引数またはレスポンス・ファイルに管理ユーザーのパスワードを指定する必要があることがあります。

ノート:

Oracleウォレットを管理ユーザーのパスワードを格納するためのセキュアな外部パスワード・ストアとして使用する場合、これらのユーザーのパスワードをコマンドライン引数またはレスポンス・ファイルで指定する必要はありません。詳細は、Oracleウォレットを使用したDBCAコマンドでのデータベース・ユーザー認証を参照してください。

DBCAコマンドライン引数の概要のヘルプを表示するには、次のコマンドを入力します。

dbca -help

デフォルトなど、引数の詳細は、配布媒体に同梱されているレスポンス・ファイル・テンプレートを参照してください。レスポンス・ファイル・テンプレートの名前と場所に関する情報は、ご使用のプラットフォームの『Oracle Databaseインストレーション・ガイド』を参照してください。

2.14.2 DBCAテンプレートについて

DBCAを使用して、オラクル社提供のテンプレートまたは自分で作成したテンプレートからデータベースを作成できます。

DBCAテンプレートは、データベースの作成に必要な情報が含まれたXMLファイルです。次の2つのタイプのワークロードのテンプレートが提供されています。

  • 汎用またはオンライン・トランザクション処理

  • データ・ウェアハウス

使用するデータベースでサポートされるワークロードのタイプに適したテンプレートを選択します。どちらを選択するか不明な場合は、「汎用またはオンライン・トランザクション処理」テンプレートを使用します。特定のワークロード要件を満たすために、カスタム・テンプレートを作成することもできます。

ノート:

「汎用またはオンライン・トランザクション処理」テンプレートおよび「データ・ウェアハウス」テンプレートでは、COMPATIBLE初期化パラメータを12.1.0.2.0に設定してデータベースを作成します。

2.14.3 Oracleウォレットを使用したDBCAコマンドでのデータベース・ユーザー認証

DBCAサイレント・モード・コマンドで、データベース・ユーザー認証用のセキュアな外部パスワード・ストアとしてOracleウォレットを使用できます。

Oracleウォレットは、Oracle Databaseの外部にあるセキュアなソフトウェア・コンテナであり、Oracle Databaseユーザーの認証資格証明の格納に使用できます。データベース・ユーザーの認証にOracleウォレットを使用するには、次のDBCAサイレント・モード・コマンド・パラメータを使用します。

  • useWalletForDBCredentials : データベース・ユーザー認証にOracleウォレットを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

    trueを指定する場合は、次のパラメータを追加指定します。

    • dbCredentialsWalletLocation: Oracleウォレット・ファイルを格納するディレクトリ。

    • (オプション) dbCredentialsWalletPassword: Oracleウォレット・アカウント・ユーザーのパスワード。Oracleウォレットで自動ログインが有効になっている場合、このパスワードを指定する必要はありません。

ユーザーを認証するために、サイレント・モードのDBCAで使用可能な、次のキーおよび関連パスワードをOracleウォレットに格納できます。

  • oracle.dbsecurity.sysPassword: SYSユーザーのパスワード

  • oracle.dbsecurity.systemPassword: SYSTEMユーザーのパスワード

  • oracle.dbsecurity.pdbAdminPassword: プラガブル・データベース(PDB)管理者のパスワード

  • oracle.dbsecurity.dbsnmpPassword: DBSNMPユーザーのパスワード

  • oracle.dbsecurity.asmsnmpPassword: ASMSNMPユーザーのパスワード

  • oracle.dbsecurity.lbacsysPassword: LBACSYSユーザーのパスワード

  • oracle.dbsecurity.sysdbaUserPassword: 作成または構成しているデータベースのSYSDBAロール・ユーザーのパスワード

  • oracle.dbsecurity.oracleHomeUserPassword: Oracleホーム・ユーザーのパスワード

  • oracle.dbsecurity.dvUserPassword: Oracle Data Vaultユーザーのパスワード

  • oracle.dbsecurity.dvAccountManagerPassword: Oracle Data Vaultアカウント・マネージャのパスワード

  • oracle.dbsecurity.emPassword: Enterprise Manager管理者のパスワード

  • oracle.dbsecurity.asmPassword: ASMユーザーのパスワード

  • oracle.dbsecurity.asmsysPassword: :ASMSYSユーザーのパスワード

  • oracle.dbsecurity.walletPassword: ディレクトリ・サービスでの認証用のOracleウォレット・アカウント・ユーザー・パスワード

  • oracle.dbsecurity.userDNPassword: ディレクトリ・サービスのユーザーのパスワード

  • oracle.dbsecurity.srcDBsysdbaUserPassword: データベースの複製などの特定の操作を実行するためにソースとして使用しているデータベースのSYSDBAロール・ユーザーのパスワード

  • oracle.dbsecurity.dbLinkUserPassword: データベース・リンクのユーザーのパスワード

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDアカウントのパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

関連項目:

mkstoreコマンドライン・ユーティリティを使用してセキュアな外部パスワード・ストアとしてOracleウォレットを構成する方法については、Oracle Databaseセキュリティ・ガイドを参照してください。

2.14.4 DBCAサイレント・モードのコマンド

この項では、すべてのDBCAサイレント・モード・コマンドと、その構文およびパラメータの説明をリストします。

2.14.4.1 createDatabase

createDatabaseコマンドにより、データベースが作成されます。

構文およびパラメータ

次の構文でdbca -createDatabaseコマンドを使用します。

dbca -createDatabase 
    -responseFile | (-gdbName,-templateName)
    -responseFile response_file_directory
    -gdbName global_database_name
    -templateName database_template_name
    [-sid database_system_identifier]
    [-createAsContainerDatabase {true | false}
        [-numberOfPDBs number_of_pdbs]
        [-pdbName pdb_name]
        [-pdbStorageMAXSizeInMB maximum_storage_size_of_the_pdb]
        [-pdbStorageMAXTempSizeInMB maximum_temporary_storage_size_of_the_pdb]
        [-useLocalUndoForPDBs {true | false}]
        [-pdbAdminPassword pdb_administrator_password]
        [-pdbOptions pdb_options]
    [-sysPassword SYS_user_password]
    [-systemPassword SYSTEM_user_password]
    [-emConfiguration {DBEXPRESS | CENTRAL | BOTH | NONE}
        [-dbsnmpPassword DBSNMP_user_password]
        [-omsHost Oracle_Management_Server_host_name]
        [-omsPort Oracle_Management_Server_port_number]
        [-emUser EM_administrator_user_name]
        [-emPassword EM_administrator_user_password]
        [-emExpressPort EM_Express_port]
        [-emExpressPortAsGlobalPort EM_Express_global_port]]
    [-dvConfiguration {true | false}
        -dvUserName Database_Vault_owner_name
        -dvUserPassword Database_Vault_owner_password
        [-dvAccountManagerName Database_Vault_account_manager_name
        -dvAccountManagerPassword Database_Vault_account_manager_password]]
    [-olsConfiguration {true | false}
        [-configureWithOID configure_with_OID_flag]]
    [-datafileDestination data_files_directory]
    [-redoLogFileSize maximum_redo_log_file_size]
    [-recoveryAreaDestination recovery_files_directory
        [-recoveryAreaSize fast_recovery_area_size]]
    [-datafileJarLocation data_files_backup_directory]
    [-storageType {FS | ASM} 
        [-asmsnmpPassword ASMSNMP_password]
        -datafileDestination database_files_directory]
    [-useWalletForDBCredentials {true | false} 
        [-dbCredentialsWalletPassword wallet_account_password]
        -dbCredentialsWalletLocation wallet_files_directory]
    [-runCVUChecks {true | false}]
    [-nodelist database_nodes_list]
    [-oracleHomeUserName Oracle_Home_user_name]
        [-oracleHomeUserPassword Oracle_Home_user_password]
    [-enableArchive {true | false} 
        [-archiveLogMode {AUTO | MANUAL}]
        [-archiveLogDest archive_log_files_directory]]
    [-memoryMgmtType {AUTO | AUTO_SGA | CUSTOM_SGA}]
    [-createListener new_database_listener]
    [-useOMF {true | false}]
    [-dbOptions database_options]
    [-customScripts list_of_custom_sql_scripts]
    [-policyManaged | -adminManaged]
    [-policyManaged
        -serverPoolName server_pool_names
        [-pqPoolName pq_pool_name]
        [-createServerPool new_server_pool_name]
            [-pqPoolName new_pq_pool_name]
            [-force]
            [-pqCardinality pq_cardinality_of_the_new_server_pool]
            [-cardinality cardinality_of_the_new_server_pool]]
    [-adminManaged]
    [-databaseConfigType {SINGLE | RAC | RACONENODE}
            [-RACOneNodeServiceName service_name_for_RAC_One_Node_database]]
    [-characterSet database_character_set]
    [-nationalCharacterSet database_national_character_set]
    [-registerWithDirService {true | false} 
        [-dirServiceUserName directory_service_user_name]
        [-dirServicePassword directory_service_password]
        [-databaseCN database_common_name]
        [-dirServiceCertificatePath certificate_file_path]
        [-dirServiceUser directory_service_user_name]
        [-ldapDirectoryAccessType ldap_directory_access_type]
        [-useSYSAuthForLDAPAccess use_sys_user_for_ldap_access_flag]
        [-walletPassword wallet_password]]
    [-listeners listeners_list]
    [-variablesFile variables_file]
    [-variables variables_list]
    [-initParams initialization_parameters_list
        [-initParamsEscapeChar initialization_parameters_escape_character]]
    [-sampleSchema {true | false}]
    [-memoryPercentage | -totalMemory]
    [-memoryPercentage percentage_of_total_memory_to_assign_to_oracle_database]
    [-totalMemory total_memory_to_assign_to_oracle_database_in_MB]
    [-databaseType {MULTIPURPOSE | DATA_WAREHOUSING | OLTP}]

表2-5 createDatabaseパラメータ

パラメータ 必須/オプション 説明

-responseFile

response_file_directory

必須

レスポンス・ファイルの絶対ディレクトリ・パス。

-gdbName

global_database_name

必須

database_name.domain_name形式のグローバル・データベース名。

-templateName

database_template_name

必須

デフォルトの場所にある既存のデータベース・テンプレートの名前、またはデフォルトの場所にないデータベース・テンプレートへの完全なパス。

-sid

database_system_identifier

オプション

データベース・システム識別子(SID)

SIDは、データベースを実行するインスタンスを一意に識別します。指定しないと、デフォルトでデータベース名に設定されます。

-createAsContainerDatabase

{true | false}

オプション

CDBを作成する場合は、trueを指定します。非CDBを作成する場合は、falseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータはオプションです。

  • -numberOfPDBs: 作成するPDBの数。デフォルトは0(ゼロ)です。

  • -pdbName: 各PDBの基本名。-numberOfPDBsが1よりも大きい場合は、それぞれの名前に番号が追加されます。このパラメータは、-numberOfPDBsが0 (ゼロ)より大きい場合に指定する必要があります。

  • -pdbStorageMAXSizeInMB: PDBの最大記憶域サイズ(MB単位)。

  • -pdbStorageMAXTempSizeInMB: PDBの最大一時記憶域サイズ(MB単位)。

  • -useLocalUndoForPDBs {true | false}: PDBにローカルUNDOを使用するかどうかを指定します。

  • -pdbAdminPassword: PDB管理者のパスワード。

  • -pdbOptions: name:value形式のカンマ区切りリストとしてPDBオプションを指定します。

    例: JSERVER:true, DV:false

-sysPassword

SYS_user_password

オプション

新しいデータベースのSYSユーザー・パスワード。

-systemPassword

SYSTEM_user_password

オプション

新しいデータベースのSYSTEMユーザー・パスワード。

-emConfiguration

{DBEXPRESS | CENTRAL | BOTH | NONE}

オプション

Enterprise Manager構成の設定。

DBEXPRESSCENTRALまたはBOTHが指定されている場合は、次の追加パラメータを指定します。

  • -dbsnmpPassword: DBSNMPユーザー・パスワード

  • -omsHost: Oracle Management Serverのホスト名。

  • -omsPort: Oracle Management Serverのポート番号。

  • -emUser: Enterprise Manager管理者のユーザー名。

  • -emPassword: Enterprise Manager管理者のパスワード。

  • -emExpressPort: Enterprise Manager Expressのポート番号。

  • -emExpressPortAsGlobalPort: Enterprise Manager Expressのグローバル・ポート番号。

-dvConfiguration

{true | false}

オプション

Database Vaultを有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者の名前を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: Database Vaultアカウント・マネージャの名前を指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

-olsConfiguration

{true | false}

オプション

Oracle Label Security (OLS)を有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定しますデフォルトはfalseです。

trueを指定した場合は、-configureWithOIDパラメータを追加で指定できます。この追加パラメータは、Oracle Internet Directory(OID)によってOracle Label Security (OLS)を構成する場合に指定します。

-datafileDestination

data_files_directory

オプション

データベースのデータ・ファイルの場所への完全なパス。

-redoLogFileSize

maximum_size_of_redo_log_file

オプション

各オンラインREDOログのサイズ(MB)。

-recoveryAreaDestination

fast_recovery_area_directory

オプション

バックアップおよびリカバリ領域である、高速リカバリ領域の宛先ディレクトリ。高速リカバリ領域を無効にする場合は、NONEを指定します。

また、-recoveryAreaSizeパラメータを使用すると、高速リカバリ領域のサイズをMB単位で指定できます。このパラメータは省略可能です。

-datafileJarLocation

data_files_backup_directory

オプション

RMANバックアップの圧縮形式で格納されているデータベースのバックアップ・データ・ファイル(拡張子が.dfbのファイル)の絶対ディレクトリ・パス。

-storageType

{FS | ASM}

オプション

FSまたはASMのどちらかの記憶域タイプを指定します。

  • FS: ファイル・システム記憶域タイプ。

    FSが指定されている場合、データベース・ファイルは、使用しているオペレーティング・システムのファイル・システムによって管理されます。データベース・ファイルを格納するディレクトリ・パスは、データベース・テンプレートまたは-datafileDestinationパラメータを使用して指定できます。Oracle Databaseは、実際のファイルを作成および管理できます。

  • ASM: Oracle Automatic Storage Management (Oracle ASM)の記憶域のタイプ。

    ASMが指定されている場合、データベース・ファイルはOracle ASMディスク・グループに配置されます。データベース・ファイルの配置とネーミングはOracle Databaseによって自動的に管理されます。

    ASMを指定した場合は、-asmsnmpPasswordパラメータを使用してASMSNMPパスワードも指定できます。このパラメータは省略可能です。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

-runCVUChecks

{true | false}

オプション

Oracle RACデータベースに定期的なクラスタ検証ユーティリティ・チェックを実行する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

-nodelist

database_nodes_list

オプション

データベース・ノードのカンマ区切りのリスト。

-enableArchive

{true | false}

オプション

ログ・ファイルのアーカイブを有効にする場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -archiveLogMode {AUTO | MANUAL}: 自動アーカイブ・モードまたは手動アーカイブ・モードのどちらかを指定します。デフォルトは、自動アーカイブ・モードです。

  • -archiveLogDest: アーカイブ・ログ・ファイルを格納する場合のディレクトリ・パス。

-memoryMgmtType

{AUTO | AUTO_SGA | CUSTOM_SGA}

オプション

次のいずれかのメモリー管理タイプを指定します。

  • AUTO: SGAおよびPGAの自動メモリー管理。

  • AUTO_SGA: SGAの自動共有メモリー管理。

  • CUSTOM_SGA: SGAの手動共有メモリー管理。

ノート: データベース・インスタンスの合計物理メモリーが4GBより大きい場合は、データベースのインストール時および作成時に自動メモリー管理オプションAUTOを指定できません。このような環境の場合は、自動共有メモリー管理オプションAUTO_SGAを指定することをお薦めします。

-createListener

new_database_listener

オプション

listener_name:portの形式でデータベースを登録するデータベース・リスナー。

-useOMF

{true | false}

オプション

Oracle Managed Files (OMF)を使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

-dbOptions

database_options

オプション

name:valueペアのカンマ区切りリストとして、データベース・オプションを指定します。

例: JSERVER:true,DV:false

-customScripts

custom_scripts_list

オプション

データベースの作成後に実行する必要があるSQLスクリプトのカンマ区切りリストを指定します。スクリプトはリストされている順序で実行されます。

-oracleHomeUserName

Oracle_Home_user_name

-oracleHomeUserPassword

Oracle_Home_user_password

オプション

Oracleホームのユーザー名とパスワード。

-policyManaged

オプション

ポリシー管理型データベース。

次の追加パラメータを指定できます。

  • -serverPoolName: 新しいサーバー・プールの作成時には1つのサーバー・プール名を指定します。それ以外の場合は、既存のサーバー・プールのカンマ区切りリストを指定します。

  • -pqPoolName: PQプールの名前を指定します。

  • -createServerPool: 新しいサーバー・プールを作成する場合は、このパラメータを指定します。

    :
    • -pqPoolName: PQプールの名前を指定します。

    • -force: 適切な空きサーバーが使用できないときに強制的にサーバー・プールを作成する場合は、このパラメータを指定します。

    • -pqCardinality: 新しいサーバー・プールのPQカーディナリティを指定します。

    • -cardinality: 新しいサーバー・プールのカーディナリティを指定します。

-adminManaged

オプション

管理者管理データベース。

-databaseConfigType

{SINGLE | RAC | RACONENODE}

オプション

次のいずれかのデータベース構成タイプを指定します。

  • SINGLE: 単一の個別のデータベース。

  • RAC: Oracle RAC データベース。

  • RACONENODE: Oracle RAC One Nodeデータベース。

    Oracle RAC One Nodeデータベースの場合は、-RACOneNodeServiceNameパラメータを使用してサービス名を指定できます。

-characterSet

database_character_set

オプション

データベースの文字セット

-nationalCharacterSet

database_national_character_set

オプション

データベースの各国語文字セット。

-registerWithDirService

{true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスに登録する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名

  • -dirServicePassword: LDAPサービスのパスワード

  • -databaseCN: データベースの共通名。

  • -dirServiceCertificatePath: データベースとディレクトリ・サービスの間のSSLを構成する際に使用する証明書ファイルのディレクトリ・パス。

  • -dirServiceUser: ディレクトリ・サービスのユーザー名。

  • -ldapDirectoryAccessType {PASSWORD | SSL}: LDAPディレクトリのアクセス・タイプ。

  • -useSYSAuthForLDAPAccess {true | false}: LDAPアクセスにSYSユーザー認証を使用するかどうかを指定します。

  • -walletPassword: データベース・ウォレットのパスワード

-listeners

listeners_list

オプション

データベースのリスナーのカンマ区切りリスト。

-variablesFile

variables_file

オプション

データベース・テンプレートの完全なディレクトリ・パスと変数ファイルの名前。

-variables

variables_list

オプション

データベース・テンプレートの変数に対応するname=valueペアのカンマ区切りリスト。

-initParams

initialization_parameters_list

オプション

データベースの初期化パラメータ値のname=valueペアのカンマ区切りリスト。

初期化パラメータの複数の値の間に特定のエスケープ文字を使用する場合は、-initParamsEscapeCharパラメータを追加指定できます。エスケープ文字を指定しない場合は、デフォルトのエスケープ文字としてバックスラッシュ(/)が使用されます。

-sampleSchema

{true | false}

オプション

HRサンプル・スキーマ(EXAMPLE表領域)をデータベースに含める場合は、trueを指定します。オラクル社のガイドおよび入門資料には、サンプル・スキーマに基づいた例が含まれています。本番データベースにはサンプル・スキーマをインストールしないことをお薦めします。

HRサンプル・スキーマを使用せずにデータベースを作成する場合は、falseを指定します。デフォルトはfalseです。

-memoryPercentage

percentage_of_total_memory_to_assign_to_oracle_database

または

-totalMemory

total_memory_to_assign_to_oracle_database_in_MB

オプション

-memoryPercentageまたは-totalMemoryのどちらかを指定します。

  • -memoryPercentage

    データベースが使用できる物理メモリーの割合。

  • -totalMemory

    データベースが使用できる物理メモリーの合計量(MB単位)。

-databaseType

{MULTIPURPOSE | DATA_WAREHOUSING | OLTP}

オプション

データベースの目的がOLTPとデータ・ウェアハウスの両方である場合は、MULTIPURPOSEを指定します。

データベースの主な目的がデータ・ウェアハウスである場合は、DATA_WAREHOUSINGを指定します。

データベースの主な目的がオンライン・トランザクション処理である場合は、OLTPを指定します。

2.14.4.2 createDuplicateDB

createDuplicateDBコマンドは、Oracleデータベースの複製を作成します。

前提条件

次に、createDuplicateDBコマンドを使用するための前提条件を示します。

  • 複製するデータベースがARCHIVELOGモードになっている。

  • 複製するデータベースがリモート・サーバーにある場合は、DBCAが実行されているシステムからリモート・サーバーへの接続が必要。

構文およびパラメータ

次の構文でdbca -createDuplicateDBコマンドを使用します。

dbca -createDuplicateDB 
    -gdbName global_database_name 
    -primaryDBConnectionString easy_db_connection_string
    -sid database_system_identifier
    [-initParams initialization_parameters
        [-initParamsEscapeChar initialization_parameters_escape_character]]
    [-sysPassword SYS_user_password]
    [-policyManaged | -adminManaged]
    [-policyManaged
        -serverPoolName server_pool_names
        [-pqPoolName pq_pool_name]
        [-createServerPool new_server_pool_name
            [-pqPoolName new_pq_pool_name]
            [-force]
            [-pqCardinality pq_cardinality_of_the_new_server_pool]
            [-cardinality cardinality_of_the_new_server_pool]]]
    [-adminManaged]
    [-nodelist database_nodes_list]
    [-datafileDestination data_files_directory]
    [-recoveryAreaDestination recovery_files_directory
        [-recoveryAreaSize fast_recovery_area_size]]
    [-databaseConfigType {SINGLE | RAC | RACONENODE}
        [-RACOneNodeServiceName service_name_for_RAC_One_Node_database]]
    [-useOMF {true | false}]
    [-storageType {FS | ASM} 
        [-asmsnmpPassword ASMSNMP_password]
        -datafileDestination database_files_directory]
    [-createListener new_database_listener]
    [-createAsStandby 
        [-dbUniqueName db_unique_name_for_standby_database]]
    [-customScripts custom_sql_scripts_to_run_after_database_creation]
    [-useWalletForDBCredentials {true | false}
        -dbCredentialsWalletPassword wallet_account_password
        -dbCredentialsWalletLocation wallet_files_directory]

表2-6 createDuplicateDBパラメータ

パラメータ 必須/オプション 説明

-gdbName global_database_name

必須

database_name.domain_name形式の重複するデータベースのグローバル・データベース名

-primaryDBConnectionString easy_db_connection_string

必須

複製するデータベースに接続するための簡易接続文字列。簡易接続文字列は次の形式で指定する必要があります。

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

詳細は、SQL*PlusのCONNECTコマンドの構文で「connect_identifier (2)」の説明を参照してください。

-sid database_system_identifier

必須

重複するデータベースのデータベース・システム識別子(SID)。

SIDは、データベースを実行するインスタンスを一意に識別します。指定しないと、デフォルトでデータベース名に設定されます。

-initParams

initialization_parameters_list

オプション

データベースの初期化パラメータ値のname=valueペアのカンマ区切りリスト。

初期化パラメータの複数の値の間に特定のエスケープ文字を使用する場合は、-initParamsEscapeCharパラメータを追加指定できます。エスケープ文字を指定しない場合は、デフォルトのエスケープ文字としてバックスラッシュ(/)が使用されます。

-sysPassword

SYS_user_password

オプション

SYSユーザーのパスワード。

-policyManaged

オプション

ポリシー管理型データベース。

ノート: ポリシー管理型データベースまたは管理者管理データベースを指定できます。

次の追加パラメータを指定できます。

  • -serverPoolName: 新しいサーバー・プールの作成時には1つのサーバー・プール名を指定します。それ以外の場合は、既存のサーバー・プールのカンマ区切りリストを指定します。

  • -pqPoolName: PQプールの名前を指定します。

  • -createServerPool: 新しいサーバー・プールを作成する場合は、このパラメータを指定します。

    • -pqPoolName: PQプールの名前を指定します。

    • -force: 適切な空きサーバーが使用できないときに強制的にサーバー・プールを作成する場合は、このパラメータを指定します。

    • -pqCardinality: 新しいサーバー・プールのPQカーディナリティを指定します。

    • -cardinality: 新しいサーバー・プールのカーディナリティを指定します。

-adminManaged

オプション

管理者管理データベース。

ノート: ポリシー管理型データベースまたは管理者管理データベースを指定できます。

-nodelist

database_nodes_list

オプション

管理者管理データベースの場合は、カンマで区切ってデータベース・ノードを指定します。

-datafileDestination

data_files_directory

オプション

データベースのデータ・ファイルの完全なディレクトリ・パス。

-recoveryAreaDestination

fast_recovery_area_directory

オプション

バックアップおよびリカバリ領域である、高速リカバリ領域の宛先ディレクトリ。高速リカバリ領域を無効にする場合は、NONEを指定します。

また、-recoveryAreaSizeパラメータを使用すると、高速リカバリ領域のサイズをMB単位で指定できます。このパラメータは省略可能です。

-databaseConfigType

{SINGLE | RAC | RACONENODE}

オプション

次のいずれかのデータベース構成タイプを指定します。

  • SINGLE: 単一の個別のデータベース。

  • RAC: Oracle RAC データベース。

  • RACONENODE: Oracle RAC One Nodeデータベース。

    Oracle RAC One Nodeデータベースの場合は、-RACOneNodeServiceNameパラメータを使用してサービス名を指定できます。

-useOMF

{true | false}

オプション

Oracle Managed Files (OMF)を使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

-storageType

{FS | ASM}

オプション

FSまたはASMのどちらかの記憶域タイプを指定します。

  • FS: ファイル・システム記憶域タイプ。

    FSが指定されている場合、データベース・ファイルは、使用しているオペレーティング・システムのファイル・システムによって管理されます。データベース・ファイルを格納するディレクトリ・パスは、データベース・テンプレートまたは-datafileDestinationパラメータを使用して指定できます。Oracle Databaseは、実際のファイルを作成および管理できます。

  • ASM: Oracle Automatic Storage Management (Oracle ASM)の記憶域のタイプ。

    ASMが指定されている場合、データベース・ファイルはOracle ASMディスク・グループに配置されます。データベース・ファイルの配置とネーミングはOracle Databaseによって自動的に管理されます。

    ASMを指定した場合は、-asmsnmpPasswordパラメータを使用してASMSNMPパスワードも指定できます。このパラメータは省略可能です。

-createListener

new_database_listener

オプション

listener_name:portの形式でデータベースを登録するデータベース・リスナー。

-createAsStandby

オプション

重複するデータベースがプライマリ・データベースのスタンバイ・データベースであることを指定します

オプションで、-dbUniqueNameパラメータを使用して、スタンバイ・データベースの一意データベース名を設定します。-dbUniqueNameパラメータが指定されていない場合は、DB_NAME初期化パラメータの値が使用されます。

-customScripts custom_sql_scripts_to_run_after_database_creation

オプション

重複するデータベースの作成後に実行する必要のあるSQLスクリプトのカンマ区切りリスト。スクリプトは、リストされている順に実行されます。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.3 configureDatabase

configureDatabaseコマンドにより、データベースが構成されます。

構文およびパラメータ

次の構文でdbca -configureDatabaseコマンドを使用します。

dbca -configureDatabase 
   -sourceDB database_sid
   [-sysDBAUserName SYSDBA_user_name]
   [-sysDBAPassword SYSDBA_user_password]
   [-registerWithDirService {true | false}
      -dirServiceUserName directory_service_user_name
      [-databaseCN database_common_name]
      [-dirServiceCertificatePath certificate_file_path]
      [-dirServiceUser directory_service_user_name]
      [-dirServicePassword directory_service_password]
      [-ldapDirectoryAccessType ldap_directory_access_type]
      [-useSYSAuthForLDAPAccess use_sys_user_for_ldap_access_flag]
      [-walletPassword wallet_password]]
   [-unregisterWithDirService {true | false}
      -dirServiceUserName directory_service_user_name
      [-dirServicePassword directory_service_password]
      [-walletPassword wallet_password]]
   [-addDBOption database_options]
   [-dvConfiguration {true | false}
      -dvUserName Database_Vault_owner_name
      -dvUserPassword Database_Vault_owner_password
      [-dvAccountManagerName Database_Vault_account_manager_name]
      [-dvAccountManagerPassword Database_Vault_account_manager_password]]
   [-olsConfiguration {true | false}
      -configureWithOID configure_with_OID_flag]
   [-configureOracleR
      -oracleRConfigTablespace tablespace_for_Oracle_R_configuration]
   [-moveDatabaseFiles
      -datafileDestination data_files_directory
      -sourceDB database_sid
      [-initParams initialization_parameters_list
        [-initParamsEscapeChar initialization_parameters_escape_character]]
      [-recoveryAreaDestination fast_recovery_area_directory
        [-recoveryAreaSize fast_recovery_area_size]]
      [-useOMF {true | false}]
   [-regenerateDBPassword {true | false}]
   [-useWalletForDBCredentials {true | false} 
      -dbCredentialsWalletPassword wallet_account_password
      -dbCredentialsWalletLocation wallet_files_directory]

表2-7 configureDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB database_sid

必須

構成するデータベースのデータベース・システム識別子(SID)。

-sysDBAUserName SYSDBA_user_name

オプション

SYSDBA権限を持つユーザーのユーザー名。

-sysDBAPassword SYSDBA_user_password

オプション

SYSDBA権限を持つユーザーのパスワード。

-registerWithDirService

{true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスに登録する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名。

  • -dirServicePassword: LDAPサービスのパスワード

  • -databaseCN: データベースの共通名。

  • -dirServiceCertificatePath: ディレクトリ・サービスの証明書ファイルのパス。

  • -dirServiceUser: ディレクトリ・サービスのユーザー名。

  • -ldapDirectoryAccessType {PASSWORD | SSL}: LDAPディレクトリのアクセス・タイプ。

  • -useSYSAuthForLDAPAccess {true | false}: LDAPアクセスのSYSユーザー認証を使用するかどうかを指定します。

  • -walletPassword: データベース・ウォレットのパスワード

-unregisterWithDirService

{true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスの登録を解除する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名。

  • -dirServicePassword: LDAPサービスのパスワード

  • -walletPassword: データベース・ウォレットのパスワード

-addDBOption

database_options

オプション

カンマ区切りリストの形式で、次のOracle Databaseオプションの1つまたは複数を指定します。

  • JSERVER: Oracle JServer JAVA Virtual Machine

  • ORACLE_TEXT: Oracle Text

  • IMEDIA: Oracle Locator (完全にサポートされている)およびOracle Multimedia (サポート対象外)

  • CWMLITE: Oracle OLAP with Oracle Warehouse Builder (OWB)

  • SPATIAL: Oracle Spatial and Graph

  • OMS: Oracle Management Server

  • APEX: Oracle Application Express

  • DV: Oracle Database Vault

例:

-addDBOption JSERVER,ORACLE_TEXT,OMS

-dvConfiguration

{true | false}

オプション

Database Vaultを有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者のユーザー名を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: 個別のDatabase Vaultアカウント・マネージャを指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

-olsConfiguration

{true | false}

オプション

Oracle Label Securityを有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、Oracle Internet Directory (OID)によってOracle Label Securityを構成するための-configureWithOIDパラメータを追加指定できます。このパラメータは省略可能です。

-configureOracleR

オプション

データベースのOracle Rを構成する場合は、このパラメータを指定します。

また、Oracle R構成用の表領域(SYSAUX表領域など)を割り当てるために、-oracleRConfigTablespaceパラメータも指定できます。

-moveDatabaseFiles

オプション

このパラメータは、データベース・ファイルの記憶域の場所を別の記憶域の場所に移動する場合に指定します。たとえば、データベース・ファイルをASMからFSに移動する場合や、FSからASMに移動する場合です。

次に示す追加パラメータを指定します。

  • -datafileDestination: すべてのデータベース・ファイルの宛先ディレクトリ

  • -sourceDB: 単一インスタンス・データベースのデータベース・システム識別子(SID)、またはOracle RACデータベースの一意のデータベース名。

  • -initParams: データベース初期化パラメータ(name=valueペアのカンマ区切りリストの形式)

    また、初期化パラメータの複数の値の間に特定のエスケープ文字を使用する場合は、-initParamsEscapeCharパラメータを指定できます。エスケープ文字を指定しない場合は、デフォルトのエスケープ文字としてバックスラッシュ(/)が使用されます。

  • -recoveryAreaDestination: バックアップおよびリカバリ領域である、高速リカバリ領域の宛先ディレクトリ。高速リカバリ領域を無効にする場合は、NONEを指定します。

    また、-recoveryAreaSizeパラメータを使用すると、高速リカバリ領域のサイズをMB単位で指定できます。このパラメータは省略可能です。

  • -useOMF: Oracle Managed Files (OMF)を使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。

-regenerateDBPassword {true | false}

オプション

Oracle Internet Directory (OID)サーバーの登録パスワードを再生成する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.4 createTemplateFromDB

createTemplateFromDBコマンドにより、既存のデータベースからデータベース・テンプレートが作成されます。

構文およびパラメータ

次の構文でdbca -createTemplateFromDBコマンドを使用します。

dbca -createTemplateFromDB 
   -sourceDB source_database_sid
   -templateName new_database_template_name
   -sysDBAUserName SYSDBA_user_name
   -sysDBAPassword SYSDBA_user_password
   [-maintainFileLocations {true | false}]
   [-connectionString easy_connect_string]
   [-useWalletForDBCredentials {true | false}
       -dbCredentialsWalletPassword wallet_account_password
       -dbCredentialsWalletLocation wallet_files_directory]

表2-8 createTemplateFromDBパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

ソース・データベースのシステム識別子(SID)。

-templateName new_database_template_name

必須

新しいデータベース・テンプレートの名前。

-sysDBAUserName SYSDBA_user_name

必須

SYSDBA権限を持つユーザーのユーザー名。

-sysDBAPassword SYSDBA_user_password

必須

SYSDBA権限を持つユーザーのパスワード。

-maintainFileLocations {true | false}

オプション

テンプレートのデータベースのファイル場所を使用する場合はtrueを指定します。

テンプレートのファイルの場所とは異なる場所を使用する場合はfalse (デフォルト)を指定します。ファイルの場所は、Oracle Flexible Architecture (OFA)によって決められます。

-connectionString easy_connect_string

オプション

リモート・データベースに接続するための次の形式の簡単な接続文字列。

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

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.5 createTemplateFromTemplate

createTemplateFromTemplateコマンドにより、既存のデータベース・テンプレートからデータベース・テンプレートが作成されます。

構文およびパラメータ

次の構文でdbca -createTemplateFromTemplateコマンドを使用します。

dbca -createTemplateFromTemplate 
    -sourcetemplateName existing_template_name 
    -templateName new_template_name 
    [-variables variables_list]
    [-characterSet database_character_set]
    [-nationalCharacterSet database_national_character_set]
    [-recoveryAreaDestination fast_recovery_area_directory]
        -recoveryAreaSize fast_recovery_area_size]
    [-datafileDestination data_files_directory]
    [-useOMF {true | false}]
    [-datafileJarLocation database_backup_files_directory]
    [-memoryPercentage percentage_of_total_memory_to_assign_to_oracle_database]
    [-totalMemory total_memory_to_assign_to_oracle_database]
    [-dbOptions database_options]
    [-variablesFile variables_file]
    [-redoLogFileSize redo_log_file_size]
    [-initParams initialization_parameters_list]
        [-initParamsEscapeChar escape_character_for_initialization_parameters]
    [-storageType {FS | ASM} 
        [-asmsnmpPassword ASMSNMP_password]
        -datafileDestination data_files_directory]
    [-enableArchive {true | false} 
         -archiveLogMode {AUTO | MANUAL}
         -archiveLogDest archive_logs_directory
    [-memoryMgmtType {AUTO | AUTO_SGA | CUSTOM_SGA}]
    [-useWalletForDBCredentials {true | false}
         -dbCredentialsWalletPassword wallet_account_password
         -dbCredentialsWalletLocation wallet_files_directory]

表2-9 createTemplateFromTemplateのパラメータ

パラメータ 必須/オプション 説明

-sourceTemplateName

existing_template_name

必須

デフォルトの場所にある既存のデータベース・テンプレートの名前、またはデフォルトの場所にないデータベース・テンプレートへの完全なパス。

-templateName

new_template_name

必須

新しいデータベース・テンプレートの名前。

-variables

variables_list

オプション

データベース・テンプレートの変数に対応するname=valueペアのカンマ区切りリスト。

-characterSet

database_character_set

オプション

データベースの文字セット

-nationalCharacterSet

database_national_character_set

オプション

データベースの各国語文字セット。

-recoveryAreaDestination

fast_recovery_area_directory

オプション

バックアップおよびリカバリ領域である、高速リカバリ領域のディレクトリ・パス。

-datafileDestination

data_files_directory

オプション

データ・ファイルのディレクトリ・パス。

-useOMF

{true | false}

オプション

Oracle Managed Files (OMF)を使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。

-datafileJarLocation

database_backup_files_directory

オプション

データベース・オフライン・バックアップの場所(クローン・データベース作成の場合のみ)。

シード・データベースのデータファイルは、RMANバックアップの圧縮形式で、拡張子が.dfbのファイルに格納されます。

-memoryPercentage

percentage_of_total_memory_to_assign_to_oracle_database

または

-totalMemory

total_memory_to_assign_to_oracle_database

オプション

-memoryPercentageまたは-totalMemoryのどちらかを指定します。

  • -memoryPercentage

    データベースが使用できる物理メモリーの割合。

  • -totalMemory

    データベースが使用できる物理メモリーの量(MB単位)。

-dbOptions

database_options

オプション

name:valueペアのカンマ区切りリストとして、データベース・オプションを指定します。

例: JSERVER:true,DV:false

-variablesFile

variables_file

オプション

データベース・テンプレートの変数とその値が含まれているファイルへの完全なディレクトリ・パスとファイル名。

-redoLogFileSize

redo_log_file_size

オプション

各オンラインREDOログ・ファイルのサイズ(MB単位)。

-initParams

initialization_parameters_list

オプション

データベース初期化パラメータとその値についてのname=valueペアのカンマ区切りリスト。

-storageType

{FS | ASM}

オプション

ファイル・システムの場合はFS、Oracle Automatic Storage Management (Oracle ASM)システムの場合はASMを指定します。

FSが指定されている場合、データベース・ファイルは、使用しているオペレーティング・システムのファイル・システムによって管理されます。データベース・ファイルを格納するディレクトリ・パスは、-datafileDestinationパラメータを使用して指定します。

ASMを指定した場合、データベース・ファイルはOracle ASMディスク・グループに配置されます。データベース・ファイルの配置とネーミングはOracle Databaseによって自動的に管理されます。-asmsnmpPasswordパラメータを使用して、ASM監視用のASMSNMPパスワードも指定します。

-enableArchive

{true | false}

オプション

ログ・ファイルのアーカイブを有効にするには、trueを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -archiveLogMode {AUTO | MANUAL}: 自動アーカイブ・モード(AUTO)または手動アーカイブ・モード(MANUAL)のどちらかを指定します。デフォルトは、自動アーカイブ・モード(AUTO)です。

  • -archiveLogDest: アーカイブ・ログ・ファイルを格納する場合のディレクトリ・パス。

-memoryMgmtType

{AUTO | AUTO_SGA | CUSTOM_SGA}

オプション

次のいずれかのメモリー管理タイプを指定します。

  • AUTO: SGAおよびPGAの自動メモリー管理。

  • AUTO_SGA: SGAの自動共有メモリー管理。

  • CUSTOM_SGA: SGAの手動共有メモリー管理。

ノート: データベース・インスタンスの合計物理メモリーが4GBより大きい場合は、データベースのインストール時および作成時に自動メモリー管理オプションAUTOを指定できません。このような環境の場合は、自動共有メモリー管理オプションAUTO_SGAを指定することをお薦めします。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.6 createCloneTemplate

createCloneTemplateコマンドにより、既存のデータベースからクローン(シード)データベース・テンプレートが作成されます。

構文およびパラメータ

次の構文でdbca -createCloneTemplateコマンドを使用します。

dbca -createCloneTemplate
   -sourceSID source_database_sid | -sourceDB source_database_name
   -templateName new_database_template_name
   [-promptForWalletPassword]
   [-rmanParallelism parallelism_integer_value]
   [-maxBackupSetSizeInMB maximum_backup_set_size_in_MB]
   [-dataFileBackup {true | false}]
   [-datafileJarLocation data_files_backup_directory]
   [-sysDBAUserName SYSDBA_user_name]
   [-sysDBAPassword SYSDBA_user_password]
   [-useWalletForDBCredentials {true | false}
       -dbCredentialsWalletPassword wallet_account_password
       -dbCredentialsWalletLocation wallet_files_directory]

表2-10 createCloneTemplateのパラメータ

パラメータ 必須/オプション 説明

-sourceSID source_database_sid

または

-sourceDB source_database_name

必須

ソース・データベースのシステム識別子(SID)またはソース・データベースの名前を指定します。

-templateName new_database_template_name

必須

新しいデータベース・テンプレートの名前。

-sysDBAUserName SYSDBA_user_name

オプション

SYSDBA権限を持つユーザーのユーザー名。

-sysDBAPassword SYSDBA_user_password

オプション

SYSDBA権限を持つユーザーのパスワード。

-maxBackupSetSizeInMB maximum_backup_set_size_in_MB

オプション

バックアップ・セットの最大サイズ(MB)

-rmanParallelism parallelism_integer_value

オプション

RMAN操作の並列度の整数値。

-datafileJarLocation data_files_backup_directory

オプション

データ・ファイルを圧縮形式でバックアップとして保存する完全なディレクトリ・パス。

-dataFileBackup {true | false}

オプション

データ・ファイルのバックアップを作成する場合はtrueを指定し、それ以外の場合はfalseを指定します。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.7 deleteTemplate

deleteTemplateコマンドにより、データベース・テンプレートが削除されます。

構文およびパラメータ

次の構文でdbca -deleteTemplateコマンドを使用します。

dbca -deleteTemplate 
   -templateName name_of_an_existing_database_template
   [-useWalletForDBCredentials {true | false}
      -dbCredentialsWalletPassword wallet_account_password
      -dbCredentialsWalletLocation wallet_files_directory]

表2-11 deleteTemplateのパラメータ

パラメータ 必須/オプション 説明

-templateName

name_of_an_existing_database_template

必須

削除する既存のデータベース・テンプレートの名前。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.8 generateScripts

generateScriptsコマンドにより、データベースの作成に使用できるスクリプトが生成されます。

構文およびパラメータ

次の構文でdbca -generateScriptsコマンドを使用します。

dbca -generateScripts 
    -templateName database_template_name 
    -gdbName global_database_name 
    [-sid database_system_identifier]
    [-scriptDest sql_scripts_directory]
    [-createAsContainerDatabase {true | false}
        [-numberOfPDBs number_of_pdbs_to_create]
        [-pdbName pdb_name]
        [-pdbStorageMAXSizeInMB maximum_storage_size_of_the_pdb]
        [-pdbStorageMAXTempSizeInMB maximum_temporary_storage_size_of_the_pdb]
        [-useLocalUndoForPDBs {true | false}]
        [-pdbAdminPassword pdb_administrator_password]
        [-pdbOptions pdb_options]
    [-sysPassword SYS_user_password]
    [-systemPassword SYSTEM_user_password]
    [-emConfiguration {DBEXPRESS | CENTRAL | BOTH | NONE}
        [-dbsnmpPassword DBSNMP_user_password]
        [-omsHost EM_Management_Server_host_name]
        [-omsPort EM_Management_Server_port_number]
        [-emUser EM_administrator_name]
        [-emPassword EM_administrator_password]
        [-emExpressPort EM_Express_port]
        [-emExpressPortAsGlobalPort EM_Express_global_port]]
    [-dvConfiguration {true | false}
        -dvUserName Database_Vault_owner_user_name
        -dvUserPassword Database_Vault_owner_user_password
        [-dvAccountManagerName Database_Vault_account_manager_name
        -dvAccountManagerPassword Database_Vault_account_manager_password]]
    [-olsConfiguration {true | false}
        [-configureWithOID configure_with_OID_flag]]
    [-datafileDestination data_files_directory]
    [-redoLogFileSize maximum_redo_log_file_size_in_MB]
    [-recoveryAreaDestination fast_recovery_area_directory
        [-recoveryAreaSize fast_recovery_area_size]]
    [-datafileJarLocation data_files_backup_directory]
    [-responseFile response_file_directory]
    [-storageType {FS | ASM} 
        [-asmsnmpPassword ASMSNMP_password]
        -datafileDestination data_files_directory]
    [-runCVUChecks {true | false}]
    [-nodelist database_nodes_list]
    [-enableArchive {true | false} 
        [-archiveLogMode {AUTO | MANUAL}]
        [-archiveLogDest archive_log_files_directory]]
    [-memoryMgmtType {AUTO | AUTO_SGA | CUSTOM_SGA}]
    [-createListener new_database_listener_to_register_the_database_with]
    [-useOMF {true | false}]
    [-dbOptions database_options]
    [-customScripts custom_sql_scripts_to_run_after_database_creation]
    [-policyManaged | -adminManaged]
    [-policyManaged
        -serverPoolName server_pool_names
        [-pqPoolName pq_pool_name]
        [-createServerPool new_server_pool_name]
            [-pqPoolName new_pq_pool_name]
            [-force]
            [-pqCardinality pq_cardinality_of_the_new_server_pool]
            [-cardinality cardinality_of_the_new_server_pool]]
    [-adminManaged]
    [-databaseConfigType {SINGLE | RAC | RACONENODE}
            [-RACOneNodeServiceName service_name_for_RAC_one_node_database]]
    [-characterSet database_character_set]
    [-nationalCharacterSet database_national_character_set]
    [-registerWithDirService {true | false} 
        [-dirServiceUserName directory_service_user_name]
        [-dirServicePassword directory_service_user_password]
        [-databaseCN database_common_name]
        [-dirServiceCertificatePath certificate_file_path]
        [-dirServiceUser directory_service_user_name]
        [-ldapDirectoryAccessType ldap_directory_access_type]
        [-useSYSAuthForLDAPAccess use_sys_user_for_ldap_access_flag]
        [-walletPassword wallet_password]]
    [-listeners list_of_listeners_to_register_the_database_with]
    [-variablesFile variables_file]
    [-variables variables_list]
    [-initParams initialization_parameters_list
        [-initParamsEscapeChar initialization_parameters_escape_character]]
    [-sampleSchema {true | false}]
    [-memoryPercentage percentage_of_total_memory_to_assign_to_the_database]
    [-totalMemory total_memory_to_assign_to_the_database_in_MB]
    [-databaseType {MULTIPURPOSE | DATA_WAREHOUSING | OLTP}]
    [-useWalletForDBCredentials {true | false}
        -dbCredentialsWalletPassword wallet_account_password
        -dbCredentialsWalletLocation wallet_files_directory]

表2-12 generateScriptsのパラメータ

パラメータ 必須/オプション 説明

-templateName database_template_name

必須

デフォルトの場所にある既存のデータベース・テンプレートの名前、またはデフォルトの場所にないテンプレートへの完全パス

-gdbName global_database_name

必須

database_name.domain_name形式のグローバル・データベース名。

-sid

database_system_identifier

オプション

データベース・システム識別子(SID)

SIDは、データベースを実行するインスタンスを一意に識別します。指定しないと、デフォルトでデータベース名に設定されます。

-scriptDest scripts_directory

オプション

スクリプトを格納する完全なディレクトリ・パス。

-createAsContainerDatabase

{true | false}

オプション

CDBを作成する場合はtrueを指定し、非CDBを作成する場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次のオプション・パラメータを指定できます。

  • -numberOfPDBs: 作成するPDBの数。デフォルトは0 (ゼロ)です。

  • -pdbName: 各PDBの名前。-numberOfPDBsの値が1よりも大きい場合は、それぞれのPDB名に番号が追加されます。このパラメータは、-numberOfPDBs値が0 (ゼロ)より大きい場合に指定する必要があります。

  • -pdbStorageMAXSizeInMB: PDBの最大記憶域サイズ(MB単位)。

  • -pdbStorageMAXTempSizeInMB: PDBの最大一時記憶域サイズ(MB単位)。

  • -useLocalUndoForPDBs {true | false}: PDBにローカルUNDOを使用する必要があるかどうかを示すフラグ。

  • -pdbAdminPassword: PDB管理者のパスワード。

  • -pdbOptions: カンマ区切りリストの形式でのPDBのオプション。各オプションは、name:value形式で指定する必要があります。

    例: JSERVER:true,DV:false

-sysPassword

SYS_user_password

オプション

新しいデータベースのSYSユーザー・パスワード。

-systemPassword

SYSTEM_user_password

オプション

新しいデータベースのSYSTEMユーザー・パスワード。

-emConfiguration

{DBEXPRESS | CENTRAL | BOTH | NONE}

オプション

Enterprise Manager構成の設定。

DBEXPRESSCENTRALまたはBOTHが指定されている場合は、次の追加パラメータを指定します。

  • -dbsnmpPassword: DBSNMPユーザー・パスワード

  • -omsHost: Oracle Management Serverのホスト名。

  • -omsPort: Oracle Management Serverのポート番号。

  • -emUser: Enterprise Manager管理者のユーザー名。

  • -emPassword: Enterprise Manager管理者のパスワード。

  • -emExpressPort: Enterprise Manager Expressのポート番号。

  • -emExpressPortAsGlobalPort: Enterprise Manager Expressのグローバル・ポート番号。

-dvConfiguration

{true | false}

オプション

Database Vaultを有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者の名前。

  • -dvUserPassword: Database Vault所有者のパスワード。

  • -dvAccountManagerName: Database Vaultアカウント・マネージャの名前。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワード。

-olsConfiguration

{true | false}

オプション

Oracle Label Security (OLS)を有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定しますデフォルトはfalseです。

trueを指定した場合は、Oracle Internet Directory (OID)によってOracle Label Security (OLS)を構成するための-configureWithOIDパラメータを追加指定できます。このパラメータは省略可能です。

-datafileDestination

data_files_directory

オプション

データベースのデータファイルの場所への完全なパス

-redoLogFileSize

maximum_size_of_online_redo_log

オプション

各オンラインREDOログ・ファイルのサイズ(MB単位)。

-recoveryAreaDestination

fast_recovery_area_directory

オプション

バックアップおよびリカバリ領域である、高速リカバリ領域のディレクトリ。高速リカバリ領域を無効にするには、NONEを指定します。

また、-recoveryAreaSizeパラメータを使用すると、高速リカバリ領域のサイズをMB単位で指定できます。このパラメータは省略可能です。

-datafileJarLocation

data_files_backup_directory

オプション

RMANバックアップの圧縮形式になっているデータベースのバックアップ・データ・ファイル(拡張子が.dfbのファイル)のディレクトリ。

-responseFile

response_file_directory

オプション

レスポンス・ファイルのディレクトリ・パス。

-storageType

{FS | ASM}

オプション

FSまたはASMのどちらかの記憶域タイプを指定します。

  • FS: ファイル・システム記憶域タイプ。

    FSが指定されている場合、データベース・ファイルは、使用しているオペレーティング・システムのファイル・システムによって管理されます。データベース・ファイルを格納するディレクトリ・パスは、データベース・テンプレートまたは-datafileDestinationパラメータを使用して指定できます。Oracle Databaseは、実際のファイルを作成および管理できます。

  • ASM: Oracle Automatic Storage Management (Oracle ASM)の記憶域のタイプ。

    ASMが指定されている場合、データベース・ファイルはOracle ASMディスク・グループに配置されます。データベース・ファイルの配置とネーミングはOracle Databaseによって自動的に管理されます。

    ASMを指定した場合は、-asmsnmpPasswordパラメータを使用してASMSNMPパスワードも指定できます。このパラメータは省略可能です。

-runCVUChecks

{true | false}

オプション

Oracle RACデータベースに定期的なクラスタ検証ユーティリティ・チェックを実行する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

-nodelist

database_nodes_list

オプション

データベース・ノードのカンマ区切りのリスト。

-enableArchive

{true | false}

オプション

ログ・ファイルのアーカイブを有効にする場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -archiveLogMode {AUTO | MANUAL}: 自動アーカイブ・モードまたは手動アーカイブ・モードのどちらかを指定します。デフォルトは、自動アーカイブ・モードです。

  • -archiveLogDest: アーカイブ・ログ・ファイルを格納する場合のディレクトリ。

-memoryMgmtType

{AUTO | AUTO_SGA | CUSTOM_SGA}

オプション

次のいずれかのメモリー管理タイプを指定します。

  • AUTO: SGAおよびPGAの自動メモリー管理。

  • AUTO_SGA: SGAの自動共有メモリー管理。

  • CUSTOM_SGA: SGAの手動共有メモリー管理。

ノート: データベース・インスタンスの合計物理メモリーが4GBより大きい場合は、データベースのインストール時および作成時に自動メモリー管理オプションAUTOを指定できません。このような環境の場合は、自動共有メモリー管理オプションAUTO_SGAを指定することをお薦めします。

-createListener

new_database_listener

オプション

listener_name:portの形式で、データベースを登録するデータベース・リスナー。

-useOMF

{true | false}

オプション

Oracle Managed Files (OMF)を使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。

-dbOptions

database_options

オプション

name:valueペアのカンマ区切りリストとして、データベース・オプションを指定します。

例: JSERVER:true,DV:false

-customScripts

custom_sql_scripts_list

オプション

データベースの作成後に実行する必要のあるSQLスクリプトのカンマ区切りリストを指定します。スクリプトはリストされている順序で実行されます。

-policyManaged

オプション

ポリシー管理型データベース。

次の追加パラメータを指定できます。

  • -serverPoolName: 新しいサーバー・プールの作成時には1つのサーバー・プール名を指定します。それ以外の場合は、既存のサーバー・プールのカンマ区切りリストを指定します。

  • -pqPoolName: PQプールの名前を指定します。

  • -createServerPool: 新しいサーバー・プールを作成する場合は、このパラメータを指定します。

    • -pqPoolName: PQプールの名前を指定します。

    • -force: 適切な空きサーバーが使用できないときに強制的にサーバー・プールを作成する場合は、このパラメータを指定します。

    • -pqCardinality: 新しいサーバー・プールのPQカーディナリティを指定します。

    • -cardinality: 新しいサーバー・プールのカーディナリティを指定します。

-adminManaged

オプション

管理者管理データベース。

-databaseConfigType

{SINGLE | RAC | RACONENODE}

オプション

次のいずれかのデータベース構成タイプを指定します。

  • SINGLE: 単一の個別のデータベース。

  • RAC: Oracle RAC データベース。

  • RACONENODE: Oracle RAC One Nodeデータベース。

    Oracle RAC One Nodeデータベースの場合は、-RACOneNodeServiceNameパラメータを使用してサービス名を指定できます。

-characterSet

database_character_set

オプション

データベースの文字セット

-nationalCharacterSet

database_national_character_set

オプション

データベースの各国語文字セット。

-registerWithDirService

{true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスに登録する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名。

  • -dirServicePassword: LDAPサービスのパスワード

  • -databaseCN: データベースの共通名。

  • -dirServiceCertificatePath: ディレクトリ・サービスの証明書ファイルのパス。

  • -dirServiceUser: ディレクトリ・サービスのユーザー名。

  • -ldapDirectoryAccessType {PASSWORD | SSL}: LDAPディレクトリのアクセス・タイプ。

  • -useSYSAuthForLDAPAccess {true | false}: LDAPアクセスにSYSユーザー認証を使用するかどうかを指定します。

  • -walletPassword: データベース・ウォレットのパスワード

-listeners

listeners_list

オプション

データベースのリスナーのカンマ区切りリスト。

-variablesFile

variables_file

オプション

データベース・テンプレートの変数とその値が含まれているファイルへのディレクトリ・パス。

-variables

variables_list

オプション

データベース・テンプレートの変数に対応するname=valueペアのカンマ区切りのリスト。

-initParams

initialization_parameters_list

オプション

データベースの初期化パラメータ値のname=valueペアのカンマ区切りリスト。

初期化パラメータの複数の値の間に特定のエスケープ文字を使用する場合は、-initParamsEscapeCharパラメータを追加指定できます。エスケープ文字を指定しない場合は、デフォルトのエスケープ文字としてバックスラッシュ(/)が使用されます。

-sampleSchema

{true | false}

オプション

データベースにHRサンプル・スキーマ(EXAMPLE表領域)を含める場合は、trueを指定します。それ以外の場合はfalseを指定します。デフォルトはfalseです。

オラクル社のガイドおよび入門資料には、サンプル・スキーマに基づいた例が含まれています。本番データベースにはサンプル・スキーマをインストールしないことをお薦めします。

-memoryPercentage

percentage_of_total_memory_assigned_to_the_database

オプション

データベースが使用できる物理メモリーの割合。

-totalMemory

total_memory_assigned_to_the_database_in_MB

オプション

データベースが使用できる物理メモリーの合計量(MB単位)。

-databaseType

{MULTIPURPOSE | DATA_WAREHOUSING | OLTP}

オプション

データベースの目的がOLTPとデータ・ウェアハウスの両方である場合は、MULTIPURPOSEを指定します。

データベースの主な目的がデータ・ウェアハウスである場合は、DATA_WAREHOUSINGを指定します。

データベースの主な目的がオンライン・トランザクション処理である場合は、OLTPを指定します。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.9 deleteDatabase

deleteDatabaseコマンドにより、データベースが削除されます。

構文およびパラメータ

次の構文でdbca -deleteDatabaseコマンドを使用します。

dbca -deleteDatabase 
   -sourceDB database_name_or_sid
   [-sysDBAUserName SYSDBA_user_name]
   [-sysDBAPassword SYSDBA_user_password]
   [-forceArchiveLogDeletion]
   [-deRegisterEMCloudControl
     [-omsHost Oracle_Management_Server_host_name
      -omsPort Oracle_Management_Server_port_number
      -emUser EM_administrator_user_name
      -emPassword EM_administrator_password]]
   [-unregisterWithDirService {true | false}
      -dirServiceUserName directory_service_user_name
      [-dirServicePassword directory_service_user_password
      [-walletPassword wallet_password]]
   [-sid database_system_identifier]
   [-useWalletForDBCredentials {true | false}
       -dbCredentialsWalletPassword wallet_account_password
       -dbCredentialsWalletLocation wallet_files_directory]

表2-13 deleteDatabaseのパラメータ

パラメータ 必須/オプション 説明

-sourceDB database_name_or_sid

必須

Oracle RACデータベースの一意のデータベース名、または単一インスタンス・データベースのデータベース・システム識別子(SID)。

-sysDBAUserName SYSDBA_user_name

オプション

SYSDBA権限を持つユーザーのユーザー名。

-sysDBAPassword SYSDBA_password

オプション

SYSDBA権限を持つユーザーのパスワード。

-forceArchiveLogDeletion

オプション

データベース・アーカイブ・ログを削除する場合は、このパラメータを指定します。

-deRegisterEMCloudControl

オプション

このパラメータは、Enterprise Manager Cloud Controlからデータベースの登録を解除するための次のパラメータとともに指定します。

  • -omsHost: Oracle Management Serverのホスト名。

  • -omsPort: Oracle Management Serverのポート番号。

  • -emUser: Enterprise Manager管理者のユーザー名。

  • -emPassword: Enterprise Manager管理者のパスワード。

-unregisterWithDirService {true | false}

オプション

このパラメータは、ディレクトリ・サービスからデータベースの登録を解除するための次のパラメータとともに指定します。

  • -dirServiceUserName: ディレクトリ・サービスのユーザー名。

  • -dirServicePassword: ディレクトリ・サービスのユーザー・パスワード。

  • -walletPassword: データベース・ウォレットのパスワード

-sid database_system_identifier

オプション

データベース・システム識別子(SID)

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.10 createPluggableDatabase

createPluggableDatabaseコマンドにより、マルチテナント・コンテナ・データベース(CDB)内にプラガブル・データベース(PDB)が作成されます。

構文およびパラメータ

次の構文でdbca -createPluggableDatabaseコマンドを使用します。

dbca -createPluggableDatabase 
   -sourceDB cdb_sid
   -pdbName name_of_the_pdb_to_create
   [-createAsClone {true | false}]
   [-createPDBFrom {DEFAULT | FILEARCHIVE | RMANBACKUP | USINGXML | PDB}
      [-pdbArchiveFile pdb_archive_file_name_with_directory_path]
      [-PDBBackUpfile pdb_backup_file_name_with_directory_path]
      [-PDBMetadataFile pdb_metadata_file_name_with_directory_path]
      [-pdbAdminUserName pdb_administrator_name]
      [-pdbAdminPassword pdb_administrator_password]
      [-createNewPDBAdminUser {true | false}]
      [-sourceFileNameConvert method_to_locate_pdb_files]
      [-fileNameConvert names_of_pdb_files]
      [-pdbStorageMAXSizeInMB maximum_storage_size_for_the_pdb_in_MB]
      [-pdbStorageMAXTempSizeInMB maximum_temporary_storage_size_for_the_pdb_in_MB]
      [-workArea directory_to_unzip_PDB_archive_files_for_FILEARCHIVE_option]
      [-copyPDBFiles  {true | false}]
      [-sourcePDB name_of_the_pdb_to_clone]
   [-createFromRemotePDB
      -pdbName name_of_the_local_pdb_to_create
      -sourceDB database_name_of_the_local_pdb
      -remotePDBName name_of_the_remote_pdb
      -remoteDBConnString db_connection_string_of_the_remote_pdb
      -sysDBAUserName name_of_the_sysdba_user
      -sysDBAPassword password_of_the_sysdba_user
      -dbLinkUsername name_of_the_dblink_user_of_the_remote_pdb
      -dbLinkUserPassword password_of_the_dblink_user_of_the_remote_pdb]
   [-pdbDatafileDestination pdb_data_files_directory]
   [-useMetaDataFileLocation {true | false}]
   [-registerWithDirService {true | false} 
      -dirServiceUserName directory_service_user_name
      [-dirServicePassword directory_service_user_password]
      [-databaseCN directory_service_database_common_name]
      [-dirServiceCertificatePath certificate_file_directory_path]
      [-dirServiceUser active_directory_account_user_name]
      [-walletPassword wallet_password]]
   [-lbacsysPassword LBACSYS_user_password]
   [-createUserTableSpace {true | false)]
   [-pdbStorageMAXSizeInMB maximum_storage_size_for_the_pdb_in_MB]
   [-pdbStorageMAXTempSizeInMB maximum_temporary_storage_size_for_the_pdb_in_MB]
   [-customScripts custom_sql_scripts_to_run_after_PDB_creation]
   [-pdbUseMultipleBackup number_of_pdb_backups_to_create]
   [-dvConfiguration {true | false}
      -dvUserName Database_Vault_owner_name
      -dvUserPassword Database_Vault_owner_password
      [-dvAccountManagerName Database_Vault_account_manager_name]
      [-dvAccountManagerPassword Database_Vault_account_manager_password]]
   [-useWalletForDBCredentials {true | false}
      -dbCredentialsWalletPassword wallet_account_password
      -dbCredentialsWalletLocation wallet_files_directory]

表2-14 createPluggableDatabaseのパラメータ

パラメータ 必須/オプション 説明

-sourceDB

cdb_sid

必須

CDBのデータベース・システム識別子(SID)。

-pdbName

name_of_the_pdb_to_create

必須

新しいPDBの名前。

ノート: Oracle RACデータベースの場合、PDB名はクラスタ内で一意にする必要があります。

-createAsClone

{true | false}

オプション

新規PDBの作成に使用する予定のファイルが、既存のPDBの作成に使用されたファイルと同じ場合は、trueを指定します。trueを指定すると、Oracle Databaseは一意のPDB DBID、GUIDおよび新規PDBで予期されるその他の識別子を生成します。

新規PDBの作成に使用する予定のファイルが、既存のPDBの作成に使用されたファイルと同じでない場合は、false (デフォルト)を指定します。

-createPDBFrom

{DEFAULT | FILEARCHIVE | RMANBACKUP | USINGXML | PDB}

オプション

CDBのシードからPDBを作成する場合はDEFAULTを指定します。DEFAULTを指定する場合は、次の追加パラメータが必要です。

  • -pdbAdminUserName: PDBのローカル管理者のユーザー名。

  • -pdbAdminPassword: PDBのローカル管理者のパスワード

切断されたPDBのファイルからPDBを作成する場合は、FILEARCHIVEを指定します。FILEARCHIVEを指定する場合は、次のパラメータがさらに必要です。

  • -pdbArchiveFile: 切断されたPDBのアーカイブ・ファイルの完全パスおよび名前

    アーカイブ・ファイルには、PDBのXMLメタデータ・ファイルとデータファイルなど、PDBのすべてのファイルが含まれています。通常、アーカイブ・ファイルには.gzの拡張子が付いています。

  • -createNewPDBAdminUser: 新しいPDB管理者を作成する場合はtrueを指定し、新しいPDB管理者を作成しない場合はfalseを指定します。

  • -workArea: PDBアーカイブ・ファイルの解凍が必要なディレクトリの場所を指定します。

Recovery Manager (RMAN)バックアップからPDBを作成する場合は、RMANBACKUPを指定します。RMANBACKUPを指定する場合は、次の追加パラメータが必要です。

  • -pdbBackUpfile: PDBバックアップ・ファイルの完全なパスと名前。

  • -pdbMetadataFile: PDBのXMLメタデータ・ファイルの完全なパスと名前。

切断されたPDBのXMLメタデータ・ファイルからPDBを作成する場合は、USINGXMLを指定します。USINGXMLを指定する場合は、次の追加パラメータが必要です。

  • -pdbMetadataFile: PDBのXMLメタデータ・ファイルの完全なパスと名前。

既存のPDBをクローニングして新しいPDBを作成する場合はPDBを指定します。PDBを指定する場合は、次の追加パラメータが必要になります。

  • -sourcePDB: クローニングする既存のPDBの名前。

次のオプション・パラメータを指定します(必要な場合)。

  • -sourceFileNameConvert: このパラメータでは、PDB XMLメタデータ・ファイルにリストされたPDBのファイルの検索方法を指定します。

    『Oracle Multitenant管理者ガイド』で説明されているCREATE PLUGGABLE DATABASE文のSOURCE_FILE_NAME_CONVERT句を参照してください。

  • -fileNameConvert: このパラメータでは、PDBのファイルの名前を指定します。

    『Oracle Multitenant管理者ガイド』で説明されているCREATE PLUGGABLE DATABASE文のFILE_NAME_CONVERT句を参照してください。

  • -pdbStorageMAXSizeInMB: PDBの最大記憶域サイズ(MB単位)を指定します。

    『Oracle Multitenant管理者ガイド』で説明されているPDBの記憶域に関する情報を参照してください。

  • -pdbStorageMAXTempSizeInMB: PDBの最大一時記憶域サイズ(MB単位)を指定します。

  • -copyPDBFiles {true | false}: PDBデータ・ファイルをコピーする必要がある場合はtrueを指定し、それ以外の場合はfalseを指定します。

-createFromRemotePDB

オプション

リモートPDBのクローニングによってPDBを作成します。

次のパラメータを指定します。

  • -pdbName: 作成するローカルPDBの名前。

  • -sourceDB: ローカルPDBのデータベース名。

  • -remotePDBName: クローニングするリモートPDBの名前。

  • -remoteDBConnString: リモートPDBのデータベース接続文字列。

  • -sysDBAUserName: SYSDBAユーザーの名前。

  • -sysDBAPassword: SYSDBAユーザーのパスワード。

  • -dbLinkUsername: リモートPDBのデータベース・リンク・ユーザーの名前。

  • -dbLinkUserPassword: リモートPDBのデータベース・リンク・ユーザーのパスワード。

ノート:

  • ローカルCDBのデータベース・ユーザーには、ルート・コンテナのCREATE PLUGGABLE DATABASE権限が必要です。

  • リモートCDBは、ローカルUNDOモードである必要があります。

  • リモートPDBは、ARCHIVELOGモードである必要があります。

  • データベース・リンクの接続先のリモートPDBのデータベース・ユーザーには、CREATE PLUGGABLE DATABASE権限とCREATE SESSION権限が必要です。

-pdbDatafileDestination

pdb_data_files_directory

オプション

新しいPDBデータ・ファイルへの完全なディレクトリ・パス。

パラメータが指定されていない場合は、Oracle Managed FilesまたはPDB_FILE_NAME_CONVERT初期化パラメータで、ファイルの名前と場所の生成方法を指定します。Oracle Managed FilesおよびPDB_FILE_NAME_CONVERT初期化パラメータの両方を使用する場合は、Oracle Managed Filesが優先されます。

パラメータが指定されていない場合は、Oracle Managed Filesが有効になっておらず、PDB_FILE_NAME_CONVERT初期化パラメータは設定されていません。デフォルトで、ルートのファイルのディレクトリ内のPDB名を持つサブディレクトリへのパスが使用されます。

-useMetaDataFileLocation

{true | false}

オプション

データファイルの抽出時に、PDBアーカイブ内のXMLメタデータ・ファイルで定義されているデータファイルのパスを使用する場合は、trueを指定します。

データファイルの抽出時に、PDBアーカイブ内のXMLメタデータ・ファイルで定義されているデータファイルのパスを使用しない場合は、false (デフォルト)を指定します。

-registerWithDirService

{true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスにPDBを登録する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名。

  • -dirServicePassword: LDAPサービスのパスワード

  • -dirServiceUser: Active Directoryアカウントのユーザー名。

  • -dirServiceCertificatePath: ディレクトリ・サービスの証明書ファイルのパス。

  • -databaseCN: ディレクトリ・サービス・データベースの共通名。

  • -walletPassword: データベース・ウォレットのパスワード

-lbacsysPassword

LBACSYS_user_password

オプション

ディレクトリ・サービスによってOLSを構成する必要がある場合は、LBACSYSユーザー・パスワードを指定します。

-createUserTableSpace

{true | false}

オプション

新しいPDBにデフォルトのユーザー表領域を作成する必要がある場合はtrueを指定します。

-pdbStorageMAXSizeInMB

maximum_storage_size_for_the_pdb_in_MB

オプション

PDBの最大記憶域サイズ(MB単位)を指定します。

-pdbStorageMAXTempSizeInMB

maximum_temporary_storage_size_for_the_pdb_in_MB

オプション

PDBの最大一時記憶域サイズ(MB単位)を指定します。

-pdbUseMultipleBackup

number_of_pdb_backups_to_create

オプション

作成するPDBバックアップの数を指定します。

-customScripts

lcustom_sql_scripts_to_run_after_PDB_creation

オプション

PDBの作成後に実行するカスタムSQLスクリプトのリストを指定します。

-dvConfiguration

{true | false}

オプション

Database Vaultを有効化および構成する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者の名前を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: 個別のDatabase Vaultアカウント・マネージャの名前を指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.11 unplugDatabase

unplugDatabaseコマンドにより、マルチテナント・コンテナ・データベース(CDB)からプラガブル・データベース(PDB)が切断されます。

構文およびパラメータ

次の構文でdbca -unplugDatabaseコマンドを使用します。

dbca -unplugDatabase 
   -sourceDB cdb_sid
   -pdbName pdb_name
   [-unregisterWithDirService {true | false}
      -dirServiceUserName directory_service_user_name
      -dirServicePassword directory_service_user_password
      -walletPassword wallet_password]
   [-archiveType {TAR | RMAN | NONE}
      [-rmanParallelism parallelism_integer_value]
      [-pdbArchiveFile pdb_archive_file_directory]
      [-PDBBackUpfile pdb_backup_file_directory]
      [-PDBMetadataFile pdb_metadata_file_directory]
      [-rmanParallelism parallelism_integer_value]]
   [-useWalletForDBCredentials {true | false}
      -dbCredentialsWalletPassword wallet_account_password
      -dbCredentialsWalletLocation wallet_files_directory]

表2-15 unplugDatabaseのパラメータ

パラメータ 必須/オプション 説明

-sourceDB cdb_sid

必須

CDBのデータベース・システム識別子(SID)。

-pdbName pdb_name

必須

PDB名。

-archiveType {TAR | RMAN | NONE}

オプション

切断されたPDBのファイルをtarファイルに格納する場合は、TARを指定します。

切断されたPDBのファイルをRMANバックアップに格納する場合は、RMANを指定します。

tarファイルまたはRMANバックアップを使用しないで、切断されたPDBのファイルを格納する場合はNONEを指定します。

次のいずれかのパラメータを指定します。

  • -pdbArchiveFile: PDBアーカイブ・ファイルの絶対ファイル・パスと名前を指定します。

  • -pdbBackUpfile: アーカイブ・タイプがRMANの場合はPDBバックアップ・ファイルの絶対ファイル・パスと名前を指定します。PDBの作成時に作成されるバックアップが複数存在する場合は、カンマ区切りのファイル・パスを指定します。

  • -pdbMetadataFile: アーカイブ・タイプがRMANまたはNONEの場合は、PDBメタデータ・ファイルの絶対ファイル・パスと名前を指定します。

  • -rmanParallelism: RMAN並列度の整数値を指定します。

-unregisterWithDirService {true | false}

オプション

LDAPサービスからPDBの登録を解除する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名。

  • -dirServicePassword: LDAPサービス・ユーザーのパスワード。

  • -walletPassword: データベース・ウォレットのパスワード

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.12 deletePluggableDatabase

deletePluggableDatabaseコマンドにより、PDBが削除されます。

構文およびパラメータ

次の構文でdbca -deletePluggableDatabaseコマンドを使用します。

dbca -deletePluggableDatabase 
   -sourceDB cdb_sid
   -pdbName pdb_name
   [-useWalletForDBCredentials {true | false}
       -dbCredentialsWalletPassword wallet_account_password
       -dbCredentialsWalletLocation wallet_files_directory]

表2-16 deletePluggableDatabaseのパラメータ

パラメータ 必須/オプション 説明

-sourceDB cdb_sid

必須

CDBのデータベース・システム識別子(SID)。

-pdbName pdb_name

必須

削除するPDBの名前。

-useWalletForDBCredentials

{true | false}

オプション

データベース資格証明にOracle Walletを使用する場合はtrueを指定し、それ以外の場合はfalseを指定します。デフォルトはfalseです。

trueを指定した場合は、次の追加パラメータを指定できます。

  • -dbCredentialsWalletPassword: Oracleウォレット・アカウントのパスワード。

  • -dbCredentialsWalletLocation: Oracleウォレット・ファイルのディレクトリの場所。

ノート:

Oracle Unified Directory (OUD)を使用している場合は、次のキーを使用してOUDパスワードをウォレットに格納する必要があります。

  • oracle.dbsecurity.walletPassword

  • oracle.dbsecurity.userDNPassword

2.14.4.13 relocatePDB

relocatePDBコマンドは、リモートCDBからローカルCDBにPDBを再配置します。

前提条件

次に、relocatePDBコマンドを実行するための前提条件を示します。

  • ローカルPDB内のデータベース・ユーザーには、ローカルCDBルート・コンテナでのCREATE PLUGGABLE DATABASE権限が必要です。

  • リモートCDBは、ローカルUNDOモードである必要があります。

  • リモートPDBとローカルPDBは、ARCHIVELOGモードである必要があります。

  • データベース・リンクの接続先のリモートPDB内のデータベース・ユーザーには、CREATE PLUGGABLE DATABASESESSIONおよびSYSOPER権限が必要です。

  • ローカルPDBとリモートPDBに同じオプションがインストールされているか、リモートPDBに、ローカルPDBにインストールされているオプションのサブセットがある必要があります。

構文およびパラメータ

次の構文でdbca -relocatePDBコマンドを使用します。

dbca -relocatePDB 
   -pdbName name_of_the_local_pdb_to_create
   -sourceDB database_name_of_the_local_pdb
   -remotePDBName name_of_the_remote_pdb_to_relocate
   -remoteDBConnString db_connection_string_of_the_remote_pdb
   -sysDBAUserName name_of_the_sysdba_user
   -sysDBAPassword password_of_the_sysdba_user
   -dbLinkUsername name_of_the_dblink_user_of_the_remote_pdb
   -dbLinkUserPassword password_of_the_dblink_user_of_the_remo